請問AB的for loop問題
本帖最後由 nsmvjmsojki 於 16-7-19 23:48 編輯請問各位高手
如下面範例程式裡的for loop,在回測時的k棒是跑完的,當買進條件成立後,trailstop為當天最高點沒有問題,下一根K去跑出場條件.但盤中的k棒一直在動,當買進條件成立後觸價進場,此時trailstop會被記錄為當下的高點(但非收盤後的高點),
可是當日K棒還在跳動,會進到trailstop > 0的條件裡去嗎?
還是雖在盤中進場也會等到K棒跑完去記錄trailstop收盤後的高點?
若即時進場每秒scan一次,會不會進場後在下一秒的scan又進到trailstop > 0去跑出場條件了,(在同一根日K棒裡)
不好意思,問題可能很基本,還請釋疑
Buy = H > ref(MA(C, 50), -1);Sell = 0;
trailARRAY = Null;
trailstop = 0;
for( i = 1; i < BarCount; i++ )
{
if( trailstop > 0 AND Low[ i ] < trailstop )
{
Sell[ i ] = 1;
SellPrice[ i ] = trailstop;
trailstop = 0;
}
if( trailstop > 0 )
{
trailstop = Max( High[ i ] * stoplevel, trailstop );
trailARRAY[ i ] = trailstop;
}
if( trailstop == 0 AND Buy[ i ] )
{
trailstop = High[ i ] * stoplevel;
} else Buy[ i ] = 0;}
每秒scan一次就會以當下的價格在做,看你的策略,你是想要觸價做還是收k做,要是觸價做就是當下的價格,若是收k做,就檢查上一根k,或是 SetTradeDelays lwhuang 發表於 16-7-20 07:57
每秒scan一次就會以當下的價格在做,看你的策略,你是想要觸價做還是收k做,要是觸價做就是當下的價格,若 ...
感謝回覆,
我是想觸價做,我想問的是,
在for loop裡的當根K,已觸價進場後因為還沒收盤,K棒還在跳動,
這樣會不會已設定好trailstop去跑退場條件(在當根K棒)
還是觸價後trailstop會等到收盤才給定值,接著於下根K棒才去跑退場條件,
謝謝
PS在回測時歷史資料都已經收盤並固定,所以不會有這問題.
不會等收k啊,除非你叫他收k你再檢查,要這樣你就檢查上一根就好了。
要想好回測跟上線要儘量一致,不會有這問題就是個問題,想辦法回測儘量做到實際會有的樣子
頁:
[1]