COCO研究院

 找回密碼
 註冊
搜索
查看: 5211|回復: 12

程式碼請教

[複製鏈接]
發表於 12-12-3 19:25 | 顯示全部樓層 |閱讀模式
各位版大~


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

感謝您

if time >1335 then begin


if c > c[1]  then buy this bar at c;
if time >= 1345 and  marketposition=1 then sell next bar at open;

if c < c[1] then sellshort this bar at c;
if time >= 1345 and  marketposition=-1 then buytocover next bar at open;

end;
發表於 12-12-3 21:40 | 顯示全部樓層
if time >1335 then begin


if c > c[1]  then buy this bar at c;
if time >= 1344 and  marketposition=1 then sell next bar at open;

if c < c[1] then sellshort this bar at c;
if time >= 1344 and  marketposition=-1 then buytocover next bar at open;

end;
 樓主| 發表於 12-12-3 21:54 | 顯示全部樓層
stock1586 發表於 12-12-3 21:40
if time >1335 then begin

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

感謝您熱心回覆
發表於 12-12-3 21:57 | 顯示全部樓層
daniel 發表於 12-12-3 21:54
版大您好~
感謝您的回覆,不知道是小蒂本身的mc版本較舊還是怎樣,一樣會有尾盤成功做多或是放空留倉,但是 ...

跑幾k
最好在1340出掉單
 樓主| 發表於 12-12-3 23:03 | 顯示全部樓層
stock1586 發表於 12-12-3 21:57
跑幾k
最好在1340出掉單

您好~
目前跑的是1分K,設定1:43分判定後出手,隔日開盤平倉,但是發現扣除結算日,也有很多交易日都怪怪的,都是44分顯示有動作,但到隔天開盤沒平倉的動作,反而是到收盤前平倉,小弟就不懂,是語法有誤還是哪邊出問題??
發表於 12-12-3 23:31 | 顯示全部樓層
不管怎樣你一定隔天開盤要平倉
但是你這一句話會在44分收盤第四十五分的第一個TICK就執行
不會等到隔天才動作
除非你改成1345
if time >= 1344 and  marketposition=-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;
發表於 12-12-4 12:38 | 顯示全部樓層
曾永政 發表於 12-12-4 05:30
出場的部份,試試看

if sessionlastbar then begin

阿政說的最棒了~~
在程式交易語法大全的99頁也有範例說明喔
不過說實在的要記得那麼多專有語法還真不容易呢
超厲害的
發表於 12-12-4 14:30 | 顯示全部樓層
第一句就限制程式 1335 才開始做判斷,
當然永遠只有收盤前才可能平倉囉,
要加 0845 ~ 0850 的判斷式,
或是第一句就是下平倉語法.
 樓主| 發表於 12-12-4 15:57 | 顯示全部樓層
曾永政 發表於 12-12-4 05:30
出場的部份,試試看

if sessionlastbar then begin

請教一下政大~

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

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

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

end;



只是我很好奇,為何這樣也可以達到隔日平倉的條件??
發表於 12-12-4 17:39 | 顯示全部樓層
本帖最後由 曾永政 於 12-12-4 17:43 編輯
daniel 發表於 12-12-4 15:57
請教一下政大~

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

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

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


我想到的方式是直接讓 MultiCharts 直接判斷現在的K棒是否是當天的最後一根,是的話就在下一根(也就是隔天開盤第一根)的開盤出場。從邏輯上看,這樣的好處是不管你用幾分線都適用。
 樓主| 發表於 12-12-4 18:07 | 顯示全部樓層
曾永政 發表於 12-12-4 17:39
達到同一種效果的程式語法不會只有一種,得到你要的就OK啦。

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

感謝您的指點,謝謝您
發表於 12-12-4 18:59 | 顯示全部樓層
我的方式,你在下一次K棒開始就會出場,不過怕的是期貨商跟你的時間沒同步,導致下單失敗,但你的MC卻表示出場,
以前我用下單大師就有遇到這樣的現象,加油....程式交易萬歲
if  time_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;     

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-4-29 08:48

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 | AI繪圖AI超擬真美女AI beauty AI Stable DiffusionAI正妹AI Lookbook