Ichimoku system

Hi, i am new to afl coding, I created trading system with ichimoku cloud, it have error. please help me to solve it.
error,

  1. plotshapes not coming in actual position, please check the screen shoot. and extra signals are coming, its not available in the trading backtest result.
    image
    image

This is the code ,

//HENKIN-ASHI-START******//
SetChartOptions(0,chartShowArrows|chartShowDates);
HACLOSE=(O+H+L+C)/4;
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "" + Name(), colorBlack, styleCandle | styleNoLabel );

_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", HaOpen, HaHigh, HaLow, HACLOSE, SelectedValue( ROC( HaClose, 1 )) ));

//HENKIN ASHI END******//

//POSITIN-SIZING-START******//

SetTradeDelays(0,0,0,0);
SetPositionSize(500,spsshares);

//POSITIN-SIZING-END******//

//TIME-SETTING-START******//

FirstTradeTime = 091500; // Earliest time to take a trade
LastTradeTime = 150000; // Latest time to take new trades
ExitAllPositionsTime = 151500; // Exit all trades
TimeOK= TimeNum() >= FirstTradeTime AND TimeNum() <= LastTradeTime;

//TIME-SETTING-END******//

//ICHIMOKU-START******//

_section_begin("ichimoku");

// Parameters
tenkan_p = Param("Tenkan-sen Period", 3, 2, 200, 1, 0);
//tenkan_p = Optimize("Tenkan-sen Period", 3, 2, 40, 1);
tenkan_c = paramcolor("Tenkan-sen Color", colorblue);
tenkan_s = paramstyle("Tenkan-sen Style", styleline | stylethick);

kijun_p = Param("Kijun-sen Period", 12, 2, 200, 1, 0);
//kijun_p = Optimize("Kijun-sen Period", 12, 2, 50, 1);
kijun_c = paramcolor("Kijun-sen Color", colorred);
kijun_s = paramstyle("Kijun-sen Style", styleline | stylethick);

senkou_a_c = paramcolor("Senkou Span A Color", colorBrightGreen);
senkou_a_s = paramstyle("Senkou Span A Style", styleline | stylethick);

senkou_b_p = Optimize("Senkou Span B Period", 26, 2, 26, 1);
senkou_b_c = paramcolor("Senkou Span B Color", colorpink);
senkou_b_s = paramstyle("Senkou Span B Style", styleline | stylethick);

senkou_p = Optimize("Sekou Displacement", 13, 0, 50, 1);

kumo_a_c = paramcolor("Kumo A Color", colorblend(senkou_a_c, colorwhite, 0.6));
kumo_b_c = paramcolor("Kumo B Color", colorblend(senkou_b_c, colorwhite, 0.4));
kumo_s = paramstyle("Kumo Style", stylecloud, styleCloud);

chikou_p = Optimize("Chikou Displacement (-ve)", 13, 2, 50, 1);
chikou_c = paramcolor("Lagging Color", colorgreen);
chikou_s = paramstyle("Lagging Style", styleline | stylethick);
chikou_p *= -1;
chikou_a = HACLOSE;

// Calculations
TenkanSen = (hhv(HaHigh, tenkan_p) + llv(HaLow, tenkan_p)) / 2;
KijunSen = (hhv(HaHigh, kijun_p) + llv(HaLow, kijun_p)) / 2;
SenkouSpanA = (TenkanSen + KijunSen) / 2;
SenkouSpanB = (hhv(HaHigh, senkou_b_p) + llv(HaLow, senkou_b_p)) / 2;
kumo_c = iif(SenkouSpanA > SenkouSpanB, kumo_a_c, kumo_b_c);

// Plots
plot(TenkanSen,"Tenkan-sen", tenkan_c, tenkan_s);
plot(KijunSen, "Kijun-sen", kijun_c, kijun_s);
plot(SenkouSpanA, "Senkou Span A", senkou_a_c, senkou_a_s, 0, 0, senkou_p);
plot(SenkouSpanB, "Senkou Span B", senkou_b_c, senkou_b_s, 0, 0, senkou_p);
plot(chikou_a, "ChikouSpan", chikou_c, chikou_s, 0, 0,chikou_p);
plotohlc(SenkouSpanA, SenkouSpanA, SenkouSpanB, SenkouSpanB, "Kumo", kumo_c, kumo_s, 0, 0, senkou_p);

_section_end();

//ICHIMOKU-END**//

//RSI-START******//
RSip = Param("Rsi_p",7,5,50,1);
OverBrought = Param("OverBrought_R",60,50,100,5);
Oversold = Param("Oversold_R",40,5,50,5);
RSIS = Param("RSIS",60,5,100,5);
RSIC = Param("RSIC",45,5,100,5);

//RSI-END**//

//CONDITION-START********//

C01 = Cross(KijunSen,TenkanSen);
C02 = Cross(TenkanSen,KijunSen);
C03 = Flip(C01,C02);
C04 = Flip(C02,C01);
C05 = chikou_a>SenkouSpanA;
C06 = chikou_a<SenkouSpanA;
C07 = chikou_a>SenkouSpanB;
C08 = chikou_a<SenkouSpanB;
C12 = Cross(SenkouSpanA,chikou_a);
C13 = Cross(chikou_a,SenkouSpanA);
C16 = HaClose > Ref(SenkouSpanB,-13);
C17 = HaClose < Ref(SenkouSpanB,-13);
C18 = Cross(HaHigh,Ref(TenkanSen,-1));
C19 = Cross(HaLow,Ref(KijunSen,-1));
C20 = Cross(HaLow,Ref(TenkanSen,-1));
C21 = Cross(HaHigh,Ref(KijunSen,-1));
C22 = TenkanSen > Ref(TenkanSen,-1);
C23 = TenkanSen < Ref(TenkanSen,-1);
C24 = KijunSen > Ref(KijunSen,-1);
C25 = KijunSen < Ref(KijunSen,-1);
C26 = C22 OR C24;
C27 = C23 OR C25;
C28 = HaClose < ValueWhen(C01,TenkanSen);
C29 = HaClose > ValueWhen(C02,TenkanSen);

//PlotShapes(IIf(C12, shapeStar , shapeNone),colorPink, 0,L, Offset=-45);
//PlotShapes(IIf(C13, shapeStar , shapeNone),colorGold, 0,H, Offset= 45);

IBUYcontinue = Flip(C18,C19);
SELLContinue = Flip(C19,C18);
SHORTContinue = Flip(C20,C21);
COVERContinue = Flip(C21,C20);

ICBuy = C16 AND C26 AND RSI(RSip)>OverBrought;
ICSell = C19 AND C03 AND C28;
ICShort = C17 AND C27 AND RSI(RSip)<Oversold;
ICCover = C18 AND C29 AND C04 ;

Buy = ICBuy AND IBUYcontinue AND TimeOK;
Sell = ICSell AND SELLContinue OR TimeNum() >= ExitAllPositionsTime;
Short= ICShort AND SHORTContinue AND TimeOK;
Cover= ICCover AND COVERContinue OR TimeNum() >= ExitAllPositionsTime;

Buy = Ref(Buy,-1);
Sell = Ref(Sell,-1);
Short = Ref(Short,-1);
Cover = Ref(Cover,-1);

Buy = ExRem(Buy,Sell);
Sell= ExRem(Sell,Buy);
Short= ExRem(Short,Cover);
Cover= ExRem(Cover,Short);

BuyPrice = ValueWhen(Buy,HaOpen);
SellPrice = ValueWhen(Sell,HaOpen);
ShortPrice = ValueWhen(Short,HaOpen);
CoverPrice = ValueWhen(Cover,HaOpen);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, HaLow, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,HaLow, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,HaLow, Offset=-45);

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorGreen, 0,HaHigh, Offset=-65);

PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, HaHigh, Offset=40);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,HaHigh, Offset=50);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,HaHigh, Offset=-45);

PlotShapes(IIf(Cover, shapeUpArrow, shapeNone),colorRed, 0,HaLow, Offset=-65);

_SECTION_END();
//CONDITION-END********//

Error 2) I coded for Short and cover signal (condition given in screen short) similarly for Buy and sell.

image

Please help me for solving this error.

@rasheedsm, Welcome to the Forum.

Please check out these links:


And get your id Verified (show you own AB and are Registered).

Have not looked at you code, but many of the helpful members like to see you verified before working hard to help out.

And Remember.... The SEARCH function is probably your "fastest" helper.

2 Likes