老師好,
請把我系統里的平推條件(彩色部分)加入到我的“交易系統”中去。
我自己直接加入進去的話,就會發現只要滿足了平推的盈利幅度 ,就觸發出局了
后面的“止盈條件”就形同虛設了;
開多條件:= H>REF(HHV(H,N),1 ) AND H>hh AND HOLDING<=0 AND A=0 AND CC<1 AND 開倉時間;
開空條件:= L<REF(LLV(L,N),1) AND L<ll AND HOLDING>=0 AND B=0 AND CC<1 AND 開倉時間;
止損平多條件1:=ENTERPRICE-L>=ZATR*0.5 AND HOLDING>0; //百分比止損
止損平空條件1:=H-ENTERPRICE>=ZATR*0.5 AND HOLDING<0;
//平推平多條件:=開倉后最高-ENTERPRICE>ZATR*0.5*1.5 AND HOLDING>0; //平推
//平推平空條件:=ENTERPRICE-開倉后最低>ZATR*0.5*1.5 AND HOLDING<0;
止盈平多條件:=H-ENTERPRICE>=ZATR*0.5*3 AND HOLDING>0;
止盈平空條件:=ENTERPRICE-L>=ZATR*0.5*3 AND HOLDING<0;
收盤平多條件:=TIME>=145800 AND HOLDING>0;
收盤平空條件:=TIME>=145800 AND HOLDING<0;
//交易系統
SOS平空:SELLSHORT(止損平空條件1,1,LIMITR,空方止損線);
//平推平空:SELLSHORT(平推平空條件,1,MARKET);
IF 收盤平空條件 THEN BEGIN
收盤平空:SELLSHORT(1,1,MARKET);
END
IF 止盈平空條件 THEN BEGIN
LF平空:SELLSHORT(1,1,LIMITR,空方LF止盈線);
B:=1;
END
輸出B:=B,COLORWHITE,LINETHICK0;
IF 開多條件 THEN BEGIN
開多:BUY(1,1,LIMITR,輸出H);
CC:=CC+1;
END
SOS平多:SELL(止損平多條件1,1,LIMITR,多方止損線);
//平推平多:SELL(平推平多條件,1,MARKET);
IF 收盤平多條件 THEN BEGIN
收盤平多:SELL(1,1,MARKET);
END
IF 止盈平多條件 THEN BEGIN
LF平多:SELL(1,1,LIMITR,多方LF止盈線);
A:=1;
END
輸出A:=A,COLORWHITE,LINETHICK0;
IF 開空條件 THEN BEGIN
開空:BUYSHORT(1,1,LIMITR,輸出L);
CC:=CC+1;
END
輸出CC:=CC,COLORWHITE,LINETHICK0;
IF TIME>=145800 THEN A:=0;
IF TIME>=145800 THEN B:=0;
IF TIME>=145800 THEN CC:=0;
老師沒明白我的意思,我解釋的還不夠清楚......
我這2 個條件是不沖突的,是2 個出局模式 不會在同一天都滿足觸發的;
我舉一個具體的例子 螺紋多單為例:我開多螺紋價格是2500,出局條件有3個 ,第一是開倉后直接止損(下跌10個點)第二是平推(先上漲15個點或以上 然后回落到開倉成本就出局)
第三是開倉后很順利一路上漲(一路上漲30個點 中途沒有大的回撤)
現在我的問題是凡是開倉后一路上漲到15個點的時候 ,系統就止盈了 , 這個我的本意不符合;
老師看看我上面的編程問題出在了哪里? 謝謝
//平推平多條件:=開倉后最高-ENTERPRICE>ZATR*0.5*1.5 AND HOLDING>0; //平推
//平推平空條件:=ENTERPRICE-開倉后最低>ZATR*0.5*1.5 AND HOLDING<0;
那么這里的zatr是什么,然后乘0.5乘1.5又是為了什么
這句是你上面3種平倉方式里面的哪一種
//平推平多條件:=開倉后最高-ENTERPRICE>ZATR*0.5*1.5 AND HOLDING>0; //平推
//平推平空條件:=ENTERPRICE-開倉后最低>ZATR*0.5*1.5 AND HOLDING<0;
那么這里的zatr是什么,然后乘0.5乘1.5又是為了什么
這句是你上面3種平倉方式里面的哪一種
zatr是固定止損系數,像螺紋固定止損系數是20,那么止損就是20乘以0.5 ,平推條件就是當價格到達20*0.5*1.5 ,然后又回落到成本就出局;
這句是上面3種平倉方式的第二種(平推模式)