Xin nhờ các cao thủ giúp mình case này với ạ:
Mình dùng 1 code để hiển thị đồ thị và 1 code để lọc các mã chứng khoán.
Các thông số cơ bản là 1 để kết hợp với nhau, nhưng 2 code lại cho ra 2 kết quả khác nhau. Mình không biết sai chỗ nào.
Ví dụ cụ thể:
Mã AAA ngày 16/4:
- trên đồ thị Span B = 22.72
- Theo code lọc Span B = 21.28
Có rất nhiều mã bị sai khác nhau như vậy, dẫn đến bộ lọc với đồ thị là 2 thứ riêng biệt với nhau.
Không biết mình sai đoạn nào, nếu đồ thị sai dẫn đến vào lệnh sai thì cháy tk mất.
Mình xin cám ơn và xin gửi code các bác bớt chút thời gian ngâm cứu giúp mình!
Code đồ thị Ichimoku: (mình không dùng code mặc định của Ichi trong AmiBroker vì thấy nó khác và không có Span A, Span B, Chikou)
_SECTION_BEGIN("New formula");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )
{
ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;
TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
//DL = Ref( C, 26 );
DL=C;
Span1 = ( SL + TL )/2;
Span2 = (HHV( H, 52) + LLV(L, 52))/2;
Plot(SL,"KiJun",colorBlue,styleThick);
Plot(TL,"Tenkan",colorRed,styleThick);
Plot(DL,"Chikou",colorBrightGreen,styleLine|styleThick,Null,Null,-26);
Plot(Span1,"Span A",colorBrown,1,0,0,26);
Plot(Span2,"Span B",colorLightOrange,1,0,0,26);
PlotOHLC(Span1,Span2,Span1,Span2,"",IIf(Span1>Span2,colorLime,colorLightOrange),styleCloud|4096,0,0,26);
_SECTION_END();
Code bộ lọc:
KiJun = ( HHV( H, 26 ) + LLV( L, 26) )/2;
Tenkan = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
SpanA = (KiJun + Tenkan)/2;
SpanB = (HHV( H, 52) + LLV(L, 52))/2;
DK1 = Tenkan > Kijun*0.99;
DK2 = C > KiJun;
DK3 = C < KiJun*1.1;
DK4 = SpanA < SpanB;
DK5 = C > SpanB;
DK6 = C < SpanB * 1.1;
DK7 = C > Ref (C, 27);
DK8 = C < SpanB * 1.1;
DK9 = C > 10;
DK10 = V > 100000;
Buy = DK1 AND DK2 AND DK3 AND DK4 AND DK5 AND DK6 AND DK7 AND DK8 AND DK9 AND DK10;
Filter = Buy;
Mình dùng 1 code để hiển thị đồ thị và 1 code để lọc các mã chứng khoán.
Các thông số cơ bản là 1 để kết hợp với nhau, nhưng 2 code lại cho ra 2 kết quả khác nhau. Mình không biết sai chỗ nào.
Ví dụ cụ thể:
Mã AAA ngày 16/4:
- trên đồ thị Span B = 22.72
- Theo code lọc Span B = 21.28
Có rất nhiều mã bị sai khác nhau như vậy, dẫn đến bộ lọc với đồ thị là 2 thứ riêng biệt với nhau.
Không biết mình sai đoạn nào, nếu đồ thị sai dẫn đến vào lệnh sai thì cháy tk mất.
Mình xin cám ơn và xin gửi code các bác bớt chút thời gian ngâm cứu giúp mình!
Code đồ thị Ichimoku: (mình không dùng code mặc định của Ichi trong AmiBroker vì thấy nó khác và không có Span A, Span B, Chikou)
_SECTION_BEGIN("New formula");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )
{
ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
SL = ( HHV( H, 26 ) + LLV( L, 26) )/2;
TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
//DL = Ref( C, 26 );
DL=C;
Span1 = ( SL + TL )/2;
Span2 = (HHV( H, 52) + LLV(L, 52))/2;
Plot(SL,"KiJun",colorBlue,styleThick);
Plot(TL,"Tenkan",colorRed,styleThick);
Plot(DL,"Chikou",colorBrightGreen,styleLine|styleThick,Null,Null,-26);
Plot(Span1,"Span A",colorBrown,1,0,0,26);
Plot(Span2,"Span B",colorLightOrange,1,0,0,26);
PlotOHLC(Span1,Span2,Span1,Span2,"",IIf(Span1>Span2,colorLime,colorLightOrange),styleCloud|4096,0,0,26);
_SECTION_END();
Code bộ lọc:
KiJun = ( HHV( H, 26 ) + LLV( L, 26) )/2;
Tenkan = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
SpanA = (KiJun + Tenkan)/2;
SpanB = (HHV( H, 52) + LLV(L, 52))/2;
DK1 = Tenkan > Kijun*0.99;
DK2 = C > KiJun;
DK3 = C < KiJun*1.1;
DK4 = SpanA < SpanB;
DK5 = C > SpanB;
DK6 = C < SpanB * 1.1;
DK7 = C > Ref (C, 27);
DK8 = C < SpanB * 1.1;
DK9 = C > 10;
DK10 = V > 100000;
Buy = DK1 AND DK2 AND DK3 AND DK4 AND DK5 AND DK6 AND DK7 AND DK8 AND DK9 AND DK10;
Filter = Buy;
Giới thiệu sách Trading hay
Bộ sách Giao Dịch Thực Chiến của Trader Chuyên Nghiệp
Bộ sách tổng hợp những phương pháp giao dịch hiệu quả cao của những Trader chuyên nghiệp
Bài viết liên quan