請教判斷Entry name怎麼寫
各位大大:我有兩支程式進場方式是這樣寫的
程式A:
if Trend_A1=1 and Trend_A2=1 and mp<>1 then begin
buy ("L1") next bar at Highest(H,30) stop;
end;
程式B:
if Trend_B1=1 and Trend_B2=1 and mp<>1 then begin
buy ("L2") next bar at Highest(H,30) stop;
end;
其中mp=marketposition
原本它們獨立運作是好好的,,但是如果放在同一個圖表
如果L1是開倉情況下, L2就判斷mp=1, 所以L2就不進場了
我想寫成
if Trend_A1=1 and Trend_A2=1 and (沒有L1) then begin....
if Trend_B1=1 and Trend_B2=1 and (沒有L2) then begin....
請問該如何寫
假設L1跟L2"同時"有信號呢?用mp或entryname都來不及阻止同時進場
可以考慮將兩個條件合併
if (Trend_A1=1 and Trend_A2=1) or (Trend_B1=1 and Trend_B2=1)) and mp<>1 then begin
buy next bar at Highest(H,30) stop;
可以先想想看如果L1跟L2都沒進場時可能會有什麼問題 jinace 發表於 17-6-23 19:35
可以先想想看如果L1跟L2都沒進場時可能會有什麼問題
沒什麼問題...
L1有訊號就進L1, L2有訊號就進L2
觀念錯誤,又是一句程式也不用寫已做到了。
兩套並排的 IF,根本是 OR 的關係。
若然你以 L1 立場入場,再遇到 L2 也叫你買,
買甚麼?你已限制只買一張單!
由於 MarketPosition 已明確說出現在沒有 買單,才變成 買單。
若你想 額外加單的話,先把檢查 MP 的刪走,因為你不理有無單都下單。
然後 策略 -> 屬性 -> 容许 xx 張同方向的下單,打上勾。
本帖最後由 hohooh 於 17-7-4 23:53 編輯
jinace 發表於 17-6-27 14:52
假設L1跟L2"同時"有信號呢?用mp或entryname都來不及阻止同時進場
可以考慮將兩個條件合併
抱歉,,看大家回覆的方向, 應該是我沒講清楚
這是兩支獨立的程式, 分別掛在同一張圖表上
我的程式大致是這樣寫的
ProgramA
if conditionA=true then begin
buy ("L1") next bar at entryprise stop;
end;
if mp=1 then begin
sell ("XL1") from ("L1") at entryprise-absloss stop;
當單獨運行這支程式, 在沒有加上mp<>1時, 常發生"當根K棒出場後立刻進場"(暫稱為:問題X) 的情況,
所以進場條件寫成if conditionA=true and mp<>1 then begin...這樣可以避免無謂的進出
我的困難是當同時運行兩支類似的程式時, 進場就會互相打架了,, (暫稱為:問題Y)
重新整理思考邏輯 :
用MP<>1(暫稱為:解法X)去解決問題X時, 產生了問題Y
所以也許解法X不好, 或許有其他方法處理問題X, 但目前沒想到...
同時問題Y目前也還沒解決...
X問題:buy跟sell要有一個互斥的條件,例如mp=0才buy,mp>0才sell
Y問題:跟X問題一樣,不過你要自己找到互斥的條件 jinace 發表於 17-6-27 14:52
假設L1跟L2"同時"有信號呢?用mp或entryname都來不及阻止同時進場
可以考慮將兩個條件合併
感謝分享
頁:
[1]