
Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)
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;