對于這種情況,您可以添加一個控制變量即可,如下面代碼中的flag變量。
inputs: Price( Close ), Length( 18 ), pl(10), loss(5), lot(1);
variables: var0( 0 ), flag(0);
var0 = AverageFC( Price, Length ) ;? ?//均線值
if marketposition=1 then
? ?? ???flag=-1?
else if marketposition=-1 then
? ?? ???flag=1;
{當前部位是多頭時,賦值flag為-1,而多頭的進場加入了條件flag<>-1,這樣就可以限制再次進場了,只能等到空頭進場之后,flag被賦值為1時,多頭才會再次進場;同理對于空頭也是這樣的邏輯}
condition1 = flag<>-1 and close<=var0-minmove*pl point;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
? ?? ???Buy ( "MA2CrossLE" ) lot shares next bar at market ; //這里使用的是市價單,您也可以使用條件單
condition1 = flag<>1 and close>=var0+minmove*pl point;
if condition1 then?
? ?? ???Sell Short ( "MA2CrossSE" ) lot shares next bar at market ; //這里使用的是市價單,您也可以使用條件單
setstoploss(lot*bigpointvalue*minmove*loss point);
?
對于這種情況,您可以添加一個控制變量即可,如下面代碼中的flag變量。
inputs: Price( Close ), Length( 18 ), pl(10), loss(5), lot(1);
variables: var0( 0 ), flag(0);
var0 = AverageFC( Price, Length ) ;? ?//均線值
if marketposition=1 then
? ?? ???flag=-1?
else if marketposition=-1 then
? ?? ???flag=1;
{當前部位是多頭時,賦值flag為-1,而多頭的進場加入了條件flag<>-1,這樣就可以限制再次進場了,只能等到空頭進場之后,flag被賦值為1時,多頭才會再次進場;同理對于空頭也是這樣的邏輯}
condition1 = flag<>-1 and close<=var0-minmove*pl point;
if condition1 then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
? ?? ???Buy ( "MA2CrossLE" ) lot shares next bar at market ; //這里使用的是市價單,您也可以使用條件單
condition1 = flag<>1 and close>=var0+minmove*pl point;
if condition1 then?
? ?? ???Sell Short ( "MA2CrossSE" ) lot shares next bar at market ; //這里使用的是市價單,您也可以使用條件單
setstoploss(lot*bigpointvalue*minmove*loss point);