請問MC的setstoploss有啥米洞嗎?
本帖最後由 poya 於 11-11-22 09:28 PM 編輯請問MC的setstoploss有啥米洞嗎? 還是執行或策略撰寫上有啥要注意的?
發覺有時可在當根k停損進出,有時又不會,發覺的狀況都是buy時stoploss沒執行到,變nextbar market stop sell好像都執行的到,真奇怪。
已經卡關卡一週了,懇請版上高手指點一下。感恩!{:4_161:}
上圖是11/17的信號,停損是設4600,但就是會有爆錶的狀況…{:4_93:}
setstopposition;
setstoploss(4600); 這個情況有點微妙。
我試著解釋一下,一般來說,我們在寫策略程式碼的時候,已經習慣了動作點在條件成立的下一根,
請注意是下一根!而當 IOG=True 的時候,在MC裡面的下一根會變成是以Tick為單位,即使你在
圖面上看到的是...K棒,這裡出現了K棒的換根與以Tick來換根的差異。
而Set開頭的指令就是用來讓我們在整體程式碼的換根動作以圖面的K棒為結構,但是這些停損或是
停利的Set開頭指令用的卻是以Tick為換根...
因此,不要在你原本的策略程式中把 IOG=True,要不然圖面上產生的動作就不是你本來想像的了
直接使用Set開頭指令讓它位你做到進場當根可以停損。而回測就是要開細部回測以保持盤中訊號與
盤後(回測)都一致。 開啟IOG模式,測試看看。應該會正常。 回復 3# sunsamy
感謝大大回覆,不過我都已經是用盤後資料重新再測過也是如此說。{:4_186:} 本帖最後由 poya 於 11-11-23 01:12 AM 編輯
回復 2# maison6579
感謝大大回覆,真的太神了,打開IOG後真有種how do you turn this on的fu {:4_140:}
不過問題又來了…
**** Hidden Message ***** 回復 2# maison6579
**** Hidden Message ***** Set 開頭的指令就是IOG模式的作用了。
只要有IOG,就一定要開啟"細部回測",不是只有在開發策略時的回測要開而已喔
盤中執行也要開著,因為一開始的圖表啟動就必須要。
看你的記錄大概是5分線吧,最好開到 Tick 的細部回測。 回復 5# poya
看了有點疑問, 回復了解一下. {:4_144:} Set 開頭的指令就是IOG模式的作用了。
只要有IOG,就一定要開啟"細部回測",不是只有在開發策略時的回測要 ...
曾永政 發表於 11-11-23 08:47 AM http://coco-in.net/images/common/back.gif
阿政大說的是,我查使用手冊 SetStopLoss function is evaluated intra-bar and not only on close of a bar, and can exit within the same bar as the entry.
這樣還需要在程式內再去開IOG嗎? 不需要,Set開頭的指令本身就是以IOG的模式在運作了。 本帖最後由 poya 於 11-11-24 10:52 AM 編輯
回復 7# 曾永政
感謝政大回覆。
**** Hidden Message *****
不曉得政大有遇過這樣的問題嗎?還是我程式控制的地方哪裡寫的不對呢?感謝! You may use below statements, instead of setstoploss.
If MarketPosition = 1 then sell next bar at (EntryPrice - XXXX) Stop;
If MarketPosition = -1 then buytocover next bar at (EntryPrice + XXXX) Stop;
XXX is the amount ($) of stop loss. 回復 2# 曾永政
感謝政大的回覆,原來MC是這樣的執行步驟,不過其實我用SET指令,開了細部回測,在沒跳空的情況下,
還是會有超出停損的狀況,若是實單滑價是可理解,但我是在回測要確認策略績效,照理講沒有跳空應該不會有這種問題。
這還是我目前一個不解之謎。不知道是不是資料面的問題。 回復 13# csk828
感謝大大回覆,我想政大也寫的很清楚,若不是用SET指令,用您這個方式,那就得開IOG了,但那樣程式會變很複雜,
不過其實是我根本不會寫IOG,所以這樣改寫,不開IOG是沒辦法有觸價停損的回測效果。謝謝! 你可能嘗試先打開QM看那段時間價格是否有連續!(tick資料)..
如還是有落差就要更詳細找問題了..XD
頁:
[1]
2