兩種寫法得出的結(jié)論不一樣,求高手解答一下。 [開拓者 TB]
-
咨詢內(nèi)容:
? ? 想在早上十點(diǎn)的時(shí)候,取 9-10點(diǎn)之間的??最高價(jià)與最低價(jià),??用了兩種方法寫,感覺上是都是可行的,第一種方法得出的結(jié)論不對,只是當(dāng)前K線的高低點(diǎn)。
Params
Vars
??Numeric? ?high10;
??numeric? ?low10;
? ???
Begin
If(time==0.1000)
{
High10=Highest(high,59);
??Low10=Lowest(low,59);
SetGlobalVar(0,High10);
SetGlobalVar(1,Low10);
PlotNumeric("aa",high10,0,-1,0);
PlotNumeric("bb",low10,0,-1,0);
}
//PlotString("H10",text(high10),h,-1,0);
//PlotString("L10",text(low10),l,-1,0);
End
上面這種方法得出的是 10點(diǎn)根K線的最高最低價(jià)。
Params
Vars
??Numeric? ?high10;
??numeric? ?low10;
? ???
Begin
??High10=Highest(high,59);
??Low10=Lowest(low,59);
If(time==0.1000)
{
SetGlobalVar(0,High10);
SetGlobalVar(1,Low10);
PlotNumeric("aa",high10,0,-1,0);
PlotNumeric("bb",low10,0,-1,0);
}
//PlotString("H10",text(high10),h,-1,0);
//PlotString("L10",text(low10),l,-1,0);
End
把最高價(jià)最低價(jià)定義 放在時(shí)間外,又正常了,這是為何??
?來源:CXH99.COM
-
TB技術(shù)人員:
time 是Bar的開始時(shí)間,在當(dāng)根Bar沒結(jié)束前time==0.1000你里面的代碼每來個(gè)tick都會(huì)執(zhí)行,直到當(dāng)根Bar完成,High,Low也會(huì)更新,自然取不到正確值。
?
-
TB客服:
cf_55390 發(fā)表于 2017-10-22 15:54
time 是Bar的開始時(shí)間,在當(dāng)根Bar沒結(jié)束前time==0.1000你里面的代碼每來個(gè)tick都會(huì)執(zhí)行,直到當(dāng)根Bar完成, ...
用的歷史回測,不是實(shí)時(shí)的。不存在這種問題。?
-
網(wǎng)友回復(fù):
這個(gè)可能是Highest,Lowest底層封裝的機(jī)制問題,寫在外面是每個(gè)BAR執(zhí)行一遍(歷史回測)在條件T=0.1000里是只執(zhí)行一次,你看看在實(shí)盤下或模擬盤中能否取到該值。
?
- 網(wǎng)友回復(fù):
cf_55390 發(fā)表于 2017-10-22 18:40
這個(gè)可能是Highest,Lowest底層封裝的機(jī)制問題,寫在外面是每個(gè)BAR執(zhí)行一遍(歷史回測)在條件T=0.1000里是 ...
第二個(gè)是??每根K先運(yùn)算了一遍,然后再滿足條件 time==0.1000 然后取到了
正確的最高最低價(jià)。??
第一個(gè)是??時(shí)間滿足了 time==0,而做的 highest 與lowest 卻只計(jì)算了當(dāng)前的K線。前面的59根K線都沒能通過這個(gè)函數(shù)計(jì)算得到。
現(xiàn)象是如此,底層的東西不清楚
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容