daniel 發表於 12-12-3 19:25

程式碼請教

各位版大~


想請教一下,下列的程式碼主要為利用收盤前去判斷是否要留倉,隔天開盤即平倉
但常發現有時候今日有留多單或是空單,但是到了隔日開盤卻沒有平倉的動做,收盤時才平倉,
請教是程式碼哪邊有誤呢??

感謝您

if time >1335 then begin


if c > cthen buy this bar at c;
if time >= 1345 andmarketposition=1 then sell next bar at open;

if c < c then sellshort this bar at c;
if time >= 1345 andmarketposition=-1 then buytocover next bar at open;

end;

stock1586 發表於 12-12-3 21:40

if time >1335 then begin


if c > cthen buy this bar at c;
if time >= 1344 andmarketposition=1 then sell next bar at open;

if c < c then sellshort this bar at c;
if time >= 1344 andmarketposition=-1 then buytocover next bar at open;

end;

daniel 發表於 12-12-3 21:54

stock1586 發表於 12-12-3 21:40 static/image/common/back.gif
if time >1335 then begin




版大您好~
感謝您的回覆,不知道是小蒂本身的mc版本較舊還是怎樣,一樣會有尾盤成功做多或是放空留倉,但是隔天到了開盤後沒平倉而快收盤前平倉的問題,不知您試跑時,有無此現象??

感謝您熱心回覆

stock1586 發表於 12-12-3 21:57

daniel 發表於 12-12-3 21:54 static/image/common/back.gif
版大您好~
感謝您的回覆,不知道是小蒂本身的mc版本較舊還是怎樣,一樣會有尾盤成功做多或是放空留倉,但是 ...

跑幾k
最好在1340出掉單

daniel 發表於 12-12-3 23:03

stock1586 發表於 12-12-3 21:57 static/image/common/back.gif
跑幾k
最好在1340出掉單

您好~
目前跑的是1分K,設定1:43分判定後出手,隔日開盤平倉,但是發現扣除結算日,也有很多交易日都怪怪的,都是44分顯示有動作,但到隔天開盤沒平倉的動作,反而是到收盤前平倉,小弟就不懂,是語法有誤還是哪邊出問題??

cloud667x 發表於 12-12-3 23:31

不管怎樣你一定隔天開盤要平倉
但是你這一句話會在44分收盤第四十五分的第一個TICK就執行
不會等到隔天才動作
除非你改成1345
if time >= 1344 andmarketposition=-1 then buytocover next bar at open;

曾永政 發表於 12-12-4 05:30

出場的部份,試試看

if sessionlastbar then begin
buytocover next bar market;
sell next bar market;
end;

cloud667x 發表於 12-12-4 12:38

曾永政 發表於 12-12-4 05:30 static/image/common/back.gif
出場的部份,試試看

if sessionlastbar then begin


阿政說的最棒了~~
在程式交易語法大全的99頁也有範例說明喔
不過說實在的要記得那麼多專有語法還真不容易呢
超厲害的

sunny 發表於 12-12-4 14:30

第一句就限制程式 1335 才開始做判斷,
當然永遠只有收盤前才可能平倉囉,
要加 0845 ~ 0850 的判斷式,
或是第一句就是下平倉語法.

daniel 發表於 12-12-4 15:57

曾永政 發表於 12-12-4 05:30 static/image/common/back.gif
出場的部份,試試看

if sessionlastbar then begin


請教一下政大~

下面程式碼是我問官網客服得到的答案
if time >1343 then begin

if c > c and t=1344 then buy this bar at c;
if time >= 1345 andmarketposition=1 then sell next bar at open;

if c < c and t=1344 then sellshort this bar at c;
if time >= 1345 andmarketposition=-1 then buytocover next bar at open;

end;



只是我很好奇,為何這樣也可以達到隔日平倉的條件??

曾永政 發表於 12-12-4 17:39

本帖最後由 曾永政 於 12-12-4 17:43 編輯

daniel 發表於 12-12-4 15:57 static/image/common/back.gif
請教一下政大~

下面程式碼是我問官網客服得到的答案

達到同一種效果的程式語法不會只有一種,得到你要的就OK啦。

重點是你要想通,為什麼那可以達到你要的效果?


我想到的方式是直接讓 MultiCharts 直接判斷現在的K棒是否是當天的最後一根,是的話就在下一根(也就是隔天開盤第一根)的開盤出場。從邏輯上看,這樣的好處是不管你用幾分線都適用。

daniel 發表於 12-12-4 18:07

曾永政 發表於 12-12-4 17:39 static/image/common/back.gif
達到同一種效果的程式語法不會只有一種,得到你要的就OK啦。

重點是你要想通,為什麼那可以達到你要的 ...

感謝您的指點,謝謝您

孔明36計 發表於 12-12-4 18:59

我的方式,你在下一次K棒開始就會出場,不過怕的是期貨商跟你的時間沒同步,導致下單失敗,但你的MC卻表示出場,
以前我用下單大師就有遇到這樣的現象,加油....程式交易萬歲{:4_113:}
iftime_s >=134435 then begin
   if i_MarketPosition >0 then begin
Sell ( "BO1" ) all share next bar at market;
end;

if i_MarketPosition <0 then begin
buytocover ( "SO2" ) all share next bar at market;
end;
end;   

頁: [1]
查看完整版本: 程式碼請教