hohooh 發表於 17-6-23 17:02

請教判斷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....
請問該如何寫


jinace 發表於 17-6-27 14:52

假設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;

jinace 發表於 17-6-23 19:35

可以先想想看如果L1跟L2都沒進場時可能會有什麼問題

hohooh 發表於 17-6-25 15:25

jinace 發表於 17-6-23 19:35
可以先想想看如果L1跟L2都沒進場時可能會有什麼問題

沒什麼問題...
L1有訊號就進L1, L2有訊號就進L2

cowbearcar 發表於 17-6-28 22:06

觀念錯誤,又是一句程式也不用寫已做到了。
兩套並排的 IF,根本是 OR 的關係。

若然你以 L1 立場入場,再遇到 L2 也叫你買,
買甚麼?你已限制只買一張單!

由於 MarketPosition 已明確說出現在沒有 買單,才變成 買單。
若你想 額外加單的話,先把檢查 MP 的刪走,因為你不理有無單都下單。
然後 策略 -> 屬性 -> 容许 xx 張同方向的下單,打上勾。

hohooh 發表於 17-7-4 23:44

本帖最後由 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目前也還沒解決...





jinace 發表於 17-7-5 10:13

X問題:buy跟sell要有一個互斥的條件,例如mp=0才buy,mp>0才sell

Y問題:跟X問題一樣,不過你要自己找到互斥的條件

qekwee88 發表於 23-3-15 08:16

jinace 發表於 17-6-27 14:52
假設L1跟L2"同時"有信號呢?用mp或entryname都來不及阻止同時進場

可以考慮將兩個條件合併


感謝分享
頁: [1]
查看完整版本: 請教判斷Entry name怎麼寫