Thư viện AFL
Thư viện AFL
Đoạn mã: ORB - Mức đột phá phạm vi mở - Mã AFL Amibroker (Phiên bản tốt hơn)

Đoạn mã: ORB - Mức đột phá phạm vi mở - Mã AFL Amibroker (Phiên bản tốt hơn)

Đột phá phạm vi mở là một chiến lược đơn giản theo dõi phạm vi 5 phút / 15 phút / 15 phút / 30 phút / 60 phút đầu tiên kể từ khi bắt đầu thị trường. Từ phạm vi cao và phạm vi thấp mở đầu được tính toán cho khung thời gian đã chỉ định. Hầu hết mã AFL được tìm thấy trên internet đều có lỗi hoặc không phù hợp để xây dựng hệ thống giao dịch có thể kiểm tra lại. Để giải quyết vấn đề này, chúng tôi đang phát hành một nguyên mẫu cho ORB – Cấp độ đột phá phạm vi mở. Ngoài chỉ báo này, giờ đây các nhà giao dịch có thể xây dựng các hệ thống giao dịch có thể kiểm tra lại.

Khung thời gian được đề xuất để chạy chiến lược này

: Biểu đồ 1 phút hoặc 5 phút (Khung thời gian cao hơn có thể mang lại hoặc không mang lại kết quả mong muốn)

Theo mặc định, mã sử dụng mức đột phá trong phạm vi 60 phút so với thời điểm thị trường mở cửa. Tuy nhiên, Tham số có thể được thay đổi từ cửa sổ Tham số. Hiện tại, các tùy chọn đột phá Phạm vi mở có sẵn cho các phạm vi 5 phút / 15 phút / 15 phút / 30 phút / 60 phút. Tuy nhiên, nếu ai đó cần phạm vi ORB tùy chỉnh thì việc tùy chỉnh mã cần phải được thực hiện tương ứng.

Mã sẽ bắt đầu vẽ các giá trị Phạm vi mở chỉ khi khung thời gian Phạm vi mở được hoàn thành, nếu không sẽ không có gì được vẽ. Ví dụ: đối với giá trị Phạm vi mở là 60 phút. Cốt truyện sẽ chỉ bắt đầu từ 10:15:00 trở đi đối với các công cụ tương lai NSE và sẽ tự động bắt đầu từ 11:00:00 trở đi đối với các công cụ tương lai MCX.

Mã hoạt động tốt với các tập lệnh Ill Liquid.

AFL nhanh

bị tắt để tính toán cho tất cả các thanh.

Đoạn mã: ORB – Mức đột phá phạm vi mở – Mã AFL của Amibroker

Liên quan

Mã nguồn (.afl)
//Better Version of Open Range Breakout 
//Coded By Rajandran R - www.marketcalls.in
//Created Date - 04 Dec 2018

//Recommended Timeframe to Run this strategy : 1min or 5min charts 
//Higher timeframe may or may not yield desired results

_SECTION_BEGIN("Open Range Breakout");

SetBarsRequired(-2,-2); //Turn Quick AFL Off

_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g ", Ref(O,-1), Ref(H,-1), Ref(L,-1), Ref(C,-1)));

SetChartOptions(0 , chartShowArrows | chartShowDates);
Plot(Close,"Candle", colorDefault, styleCandle);


orb = ParamList("ORB Range", "5min|10min|15min|30min|60min",4);

newday = Day() != Ref(Day(),-1);  //check if new day or not

starttime = ValueWhen(newday,TimeNum());


//5min ORB
if(orb == "5min")
{
IBendtime = starttime+500;
minh = ValueWhen(newday,TimeFrameGetPrice("H",in5Minute));
minl = ValueWhen(newday,TimeFrameGetPrice("L",in5Minute));
}

//15min ORB
if(orb == "10min")
{
IBendtime = starttime+1000;
minh = ValueWhen(newday,TimeFrameGetPrice("H",in5Minute*2));
minl = ValueWhen(newday,TimeFrameGetPrice("L",in5Minute*2));
}



//15min ORB
if(orb == "15min")
{
IBendtime = starttime+1500;
minh = ValueWhen(newday,TimeFrameGetPrice("H",in5Minute*3));
minl = ValueWhen(newday,TimeFrameGetPrice("L",in5Minute*3));
}


//30min ORB
if(orb == "30min")
{
IBendtime = starttime+3000;
minh = ValueWhen(newday,TimeFrameGetPrice("H",in5Minute*6));
minl = ValueWhen(newday,TimeFrameGetPrice("L",in5Minute*6));
}

//60min ORB
if(orb == "60min")
{
IBendtime = starttime+6000;
minh = ValueWhen(newday,TimeFrameGetPrice("H",inhourly));
minl = ValueWhen(newday,TimeFrameGetPrice("L",inhourly));
}

printf("%g",IBendtime);

DayOpen = TimeFrameGetPrice("O",inDaily);
DayHigh = TimeFrameGetPrice("H",inDaily);
DayLow = TimeFrameGetPrice("L",inDaily);

ORBH = IIf(TimeNum() < IBendtime, Null ,minh);
ORBL = IIf(TimeNum() < IBendtime, Null, minl);


Plot(ORBH,"ORBH",colorBlue);
Plot(ORBL,"ORBL",colorred);

Hướng dẫn: Copy đoạn mã trên, mở AmiBroker Formula Editor, dán vào và lưu lại với tên tương ứng.