Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!
Boa tarde,
Acredito que esse código daria uma boa automação, contudo como sou um autodidata em TI, preciso de ajuda para corrigir o código.
Acredito que o erro esta na linha: 43 -->
trigger = 0.96 * (nz(scg[1]) + 0.02)
--> trg := 0.96 * (scg[1]) + 0.02;
Segue abaixo
https://in.tradingview.com/script/3SH23THX-Ehlers-Stochastic-Center-Of-Gravity-CC/
Input len(8); Var fSrc,num,denom,src,cg,maxcg,mincg : float; v1,v2,scg,trg,slo : float; i,sig : Integer; begin num := 0.0; denom := 0.0; fSrc := (high + low) / 2; //---------------------------------------- for i := 0 to len - 1 do num := (1 + i) * src[i]; denom := (src[i]); if (denom <> 0) then begin cg := - num / denom + (len + 1) / 2; end else begin cg := 0; end; //---------------------------------------- maxcg := highest(len,cg); mincg := lowest(len,cg); if (maxcg <> mincg) then begin v1 := (cg - mincg) / (maxcg - mincg); end else begin v1 := 0; end; if (v1 > 0) then begin v2 := (4 * v1 + 3 * v1[1] + 2 * v1[2] + v1[3]) / 10; end; //---------------------------------------- scg := 2 * v2 - 0.5; //---------------------------------------- //Precisa de correção dessa linha trg := 0.96 * (scg[1]) + 0.02; //---------------------------------------- slo := scg - trg; //---------------------------------------- if (slo > 0) and (slo > slo[1]) then begin sig := 2; end else begin sig := 1; end; if (slo < 0) and (slo < slo[1]) then begin sig := - 2; end else begin sig := - 1; end; //---------------------------------------- //Plots plot(scg); plot2(trg); plot3(0); plot4(0.90); plot5( - 0.90); //Color if (sig > 1) then paintBar(RGB(0,255,0)); if (sig < - 1) then PaintBar(RGB(255,0,0)); end;