Scriptet nedan fungerar som jag vill i backtesting. Lägger jag på villkoret att endast sätta variabeln nära stängning(används vid live körning) så blir resultatet annorlunda i backtesting.
1. Historiska dagskurser ska väl alltid vara stängningskurs. Varför blir resultatet inte det samma i script 1 och 2. Varför kommer signalen 12:58 i script 2 och inga falska signaler. Eller kommer det att fungera live.
{script 1, blockera köp i modell CUBE}
test1:=gt(div(sub(hhv(c,50),c),c),0.12)
test2:=gt(hhv(test1,3),0)
test3:=aref(test2,2)
SetGvarIf(test3,400,1)
{script 2, blockera köp i modell CUBE}
test1:=gt(div(sub(hhv(c,50),c),c),0.12)
test2:=gt(hhv(test1,3),0)
test3:=and(aref(test2,2),le(mult(1440,sub(market(c),frac(Date()))),6))
SetGvarIf(test3,400,1)
2. Scriptet som använder variablen körs intradday. Vid backtesting ligger c dagskurser före och c intradday. För att få samma resultat live måste tredje raden ändras till aref(test2). Har jag förstått det rätt. Intra- och dagssripten körs individuellt, sedan kör jag ihop resultatet i Excel.
1. Historiska dagskurser ska väl alltid vara stängningskurs. Varför blir resultatet inte det samma i script 1 och 2. Varför kommer signalen 12:58 i script 2 och inga falska signaler. Eller kommer det att fungera live.
{script 1, blockera köp i modell CUBE}
test1:=gt(div(sub(hhv(c,50),c),c),0.12)
test2:=gt(hhv(test1,3),0)
test3:=aref(test2,2)
SetGvarIf(test3,400,1)
{script 2, blockera köp i modell CUBE}
test1:=gt(div(sub(hhv(c,50),c),c),0.12)
test2:=gt(hhv(test1,3),0)
test3:=and(aref(test2,2),le(mult(1440,sub(market(c),frac(Date()))),6))
SetGvarIf(test3,400,1)
2. Scriptet som använder variablen körs intradday. Vid backtesting ligger c dagskurser före och c intradday. För att få samma resultat live måste tredje raden ändras till aref(test2). Har jag förstått det rätt. Intra- och dagssripten körs individuellt, sedan kör jag ihop resultatet i Excel.
Comment