COCO研究院

 找回密碼
 註冊
搜索
查看: 7725|回復: 15

一個MC寫法的問題

[複製鏈接]
發表於 10-6-30 22:35 | 顯示全部樓層 |閱讀模式
假如我的買進訊號是設定為
如果有一根15點以上的長紅K
則之後的五根K棒只要突破這根15點長紅K的high + 1 tick 就買進
但如果是第六根以後的K棒才突破,則取消委託單不進場
如果我用buy next bar
則訊號只會出現在下一根突破時進場
但如果是之後的四分鐘才突破都不會有訊號
請問該如何寫????
發表於 10-6-30 22:41 | 顯示全部樓層
其實我看不懂問題...
是用5分K??

把next bar market 改成
buy next bar at high+1 stop;
 樓主| 發表於 10-7-1 00:32 | 顯示全部樓層
抱歉..敘述的有點不是很清楚
以5分K為例子
如果在9:00出現一根超過15點的長紅棒 假設其最高點是7210點
因此我希望在之後的五根K棒 也就是9:05 9:10 9:15 9:20 9:25
只要這五根K棒的哪一根碰到7211我就進多單
但如果這五根K棒都沒有碰到7211
而是9:30或以後的時間才碰到7211的話
則不要成交

如果我的程式是寫成if 9:00的訊號出現則buy next bar的話
好像只有 9:05這跟K棒碰到7211才會成交
若9:05沒碰到而是之後的9:10~9:25碰到的都不會成交

因為用buy next bar好像是特定要在下一根買進
下一根若沒有買進則停止動作

不知這樣敘述有沒有比較清楚
發表於 10-7-1 11:20 | 顯示全部樓層
請問超過 15點 的長紅棒之後的 5根 是每根只要有超過就進多單嗎?
還是總共只進一次?

如果是 5根內 只要有突破就 只進 一次 多單的話..

我會用 3個變數..  order: 買賣紀錄、 buyPoint: 待突破點位、 kBar: 紀錄K棒數..

variables: order(0), buyPoint(0), kBar(0);

if order = 0 then begin

     if buyPoint = 0 then begin
     
          if Close - Open > 15 then begin
     
               buyPoint = High + 1;
               
          end;
           
     end
     else begin  
            
          if kBar < 6 then begin
         
               kBar = kBar + 1;
         
               if High > buyPoint then begin
               
                    Buy next bar at market;
                    
                    order = 1;
                    
                    kBar = 0;
                           
               end;
                  
          end
          else begin
         
               kBar = 0;
         
               buyPoint = 0;         
         
          end;
     
     end;
     
end
else begin

     若符合條件則賣出,且將 order 設回 0;
     
end;

是否有其他較好的寫法?
請多多指教!!
發表於 10-7-1 12:40 | 顯示全部樓層
可以這樣寫,只要條件符合那一根碰到最高點+1都會成交
if close-open>15 and  marketposition=0 then begin
buy next bar at high+1 stop;
end;
接下來加入5根以內才買賣條件
更改如下:
if close-open>15  then begin
value1=high+1;
value2=barnumber;
end;
if barnumber-value2<=5 and marketposition=0 then
buy next bar at value1 stop;

不過紅k 15點,下根要不碰到high+1 機會不高...
發表於 10-7-1 13:23 | 顯示全部樓層
我的程式裡買進或賣出的地方要加上 buyPoint = 0
發表於 10-7-1 13:44 | 顯示全部樓層
本帖最後由 thelastlaugher 於 10-7-1 02:10 PM 編輯
..
if barnumber-value2<=5 and marketposition=0 then
buy next bar at value1 stop;
..
ilpir 發表於 10-7-1 12:40 PM


學到了不錯的寫法!!
謝謝!!
 樓主| 發表於 10-7-1 16:29 | 顯示全部樓層
感謝 t大 與 i大 的詳解
讓我獲益不少
感謝感謝~~~~
 樓主| 發表於 10-7-1 16:37 | 顯示全部樓層
回復 5# ilpir


   
if barnumber-value2<=5 and marketposition=0 then
buy next bar at value1 stop;


這招真的很好用...感謝分享~~~
我剛剛去實際跑過了 發現<=5 應該要改成<5,或<=4也可以
這樣才會符合五根內突破的話就進場
因為是買在next bar
所以如果是寫成<=5
而剛好第六根才突破的話也會成交
發表於 10-7-3 11:45 | 顯示全部樓層
很不錯的寫法  又學到了
謝謝
發表於 10-11-22 18:20 | 顯示全部樓層
回復 5# ilpir


    先用一個變數儲存目前K棒
然後再利用他
不錯歐ㄏ~
發表於 10-11-23 18:44 | 顯示全部樓層
真的是很厲害的寫法
謝謝大大的分享
發表於 10-11-24 20:25 | 顯示全部樓層
本帖最後由 trading144 於 10-11-24 08:32 PM 編輯

if high-low>15 points then begin
  trace=1;
  count=0;
  value1=high;
end;
if trace=1 and marketposition=0 and count<=5 then begin
  buy("BH") 1 contract next bar at value1 stop;
  count=count+1;
end;
if marketposition<>0 then trace=0;

如果 count 控制不行的話
改用 時間 去 控制
生效時 的 時間記錄到變數,依照 每根棒時間Period 累加到 結束的時間
發表於 10-11-24 20:47 | 顯示全部樓層
補充: 控制 幾根BAR
使用 CurrentBar
生效時 value2=CurrentBar+5;
做單條件 加上 CurrentBar<=Value2
也是 口以
發表於 10-11-25 08:22 | 顯示全部樓層
if Close-Open>15 points and trace=0 and marketposition=0 then begin
  trace=1;
  value1=high;
  value2=CurrentBar+5;
end;
if trace=1 and marketposition=0 and CurrentBar<=Value2 then begin
  buy("BH") 1 contract next bar at value1 stop;
end;
if marketposition<>0 or  CurrentBar>Value2 then trace=0;
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-11-20 09:19

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |