[問題] 使用multicharts測試指定日期的績效

作者: genesic (嗯?)   2015-05-24 22:53:42
我想要用multicharts來回測指定某個星期幾的績效
譬如常常有人說周五是台股空軍日
所以我想要回測週一到週五只挑一天
在開盤買進收盤賣出的績效
(ex: 每個禮拜一的時候開盤就買進,收盤就賣出)
我試寫的程式是長這個樣子
Inputs: check_day(1);
var: string1(""),string2(""), day_of_week(0);
day_of_week = DayOfWeek(Date);
if day_of_week = check_day then begin
string1 = "dayBuy => " + NumToStr(day_of_week,0);
string2 = "daySell => " + NumToStr(day_of_week,0);
buy (string1) 1 Contract next bar at market;
sell (string2) 1 Contract next bar at market;
end
但是因為都是在next bar同時做買進賣出的動作
所以根本看不出績效是如何
於是賣出的部分我試著用
sell this bar at close
結果賣出的點位就飛到了四天後
我還試了很多其他的寫法,但是compiler都不給過0rz
想請問版上有沒有人碰過類似的情況
方便指點一下該怎麼處理這個問題比較好?
(或是說MC無法解決這個需求?)
感謝~
作者: yuting0103 (凌波微步)   2015-05-25 11:19:00
台指期星期二是逆勢日
作者: zzelida (zelida)   2015-05-25 12:25:00
setexitonclose?
作者: genesic (嗯?)   2015-05-25 22:05:00
我去討論區問客服,他給了我一個真的跑的出來的寫法不過我還要研究看看為什麼他這樣寫法才對XD
作者: GX90160SS   2015-05-25 22:56:00
MC的邏輯是一根K棒執行一次程式碼,這個例子看起來是在禮拜一時的第二根K棒買進,禮拜二的第一根K棒賣出上面寫錯惹QQ 無視吧不過建議寫當沖不要用日K架構...用分K架構加上time=1330(或其他收盤時間,時間須為該分K整除)ex:5分K,if time = 0845 buy, if time = 1330 sell
作者: genesic (嗯?)   2015-05-25 23:33:00
感謝回應,不過我這還不是要寫實際執行的策略喔我是想先從觀察一些現象來當做未來設定策略的參考等到真的要實際寫進場用的策略時我會注意你說的問題的!

Links booklink

Contact Us: admin [ a t ] ucptt.com