兩種寫法得出的結論不一樣,求高手解答一下。 [開拓者 TB]
-
咨詢內容:
? ? 想在早上十點的時候,取 9-10點之間的??最高價與最低價,??用了兩種方法寫,感覺上是都是可行的,第一種方法得出的結論不對,只是當前K線的高低點。
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點根K線的最高最低價。
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
把最高價最低價定義 放在時間外,又正常了,這是為何??
?來源:CXH99.COM
-
TB技術人員:
time 是Bar的開始時間,在當根Bar沒結束前time==0.1000你里面的代碼每來個tick都會執行,直到當根Bar完成,High,Low也會更新,自然取不到正確值。
?
-
TB客服:
cf_55390 發表于 2017-10-22 15:54
time 是Bar的開始時間,在當根Bar沒結束前time==0.1000你里面的代碼每來個tick都會執行,直到當根Bar完成, ...
用的歷史回測,不是實時的。不存在這種問題。?
-
網友回復:
這個可能是Highest,Lowest底層封裝的機制問題,寫在外面是每個BAR執行一遍(歷史回測)在條件T=0.1000里是只執行一次,你看看在實盤下或模擬盤中能否取到該值。
?
- 網友回復:
cf_55390 發表于 2017-10-22 18:40
這個可能是Highest,Lowest底層封裝的機制問題,寫在外面是每個BAR執行一遍(歷史回測)在條件T=0.1000里是 ...
第二個是??每根K先運算了一遍,然后再滿足條件 time==0.1000 然后取到了
正確的最高最低價。??
第一個是??時間滿足了 time==0,而做的 highest 與lowest 卻只計算了當前的K線。前面的59根K線都沒能通過這個函數計算得到。
現象是如此,底層的東西不清楚
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容