1. 作多
(a)語法:
condition1 = c1c1c1c1;
condition2 = c2c2c2c2;
If time >= 0900 and time <=1330 then begin
if condition 1 then buy("B1") 1 contracts next bar at market;
if condition 2 then buy("B2") 1 contracts next bar at market;
end;
(b)訊號:如下圖
2. 放空
condition3 = c3c3c3c3;
condition4 = c4c4c4c4;
if condition 3 then sellshort("S1") 1 contracts next bar at market;
if condition 4 then sellshort("S2") 1 contracts next bar at market;
3.請教多空都作的語法
(1)上述作多, 有一個條件成立(B1或B2), 也有可能同方向兩個條件(如果先前是B1, 現在是B2; 如果先前是B2, 現在是B1)都成立。
上述放空, 有一個條件成立(S1或S2), 也有可能同方向兩個條件(如果先前是S1, 現在是S2; 如果先前是S2, 現在是S1)都成立。
(2)無論作多或放空有一個或兩個倉位, 停損或停利訊號出現時, 全部都出場。之後再等下一個訊號。
(3)希望多空都作的語法功能如下:
(a)無論是作多(或放空)的訊號出現後, 另一個相反方向的放空(或作多)訊號就不能出現,就像原來單邊的作多或放空的訊號一樣, 直到出場後, 再等下個多方或空方訊號。
(b)無論是作多(或放空)的訊號出現後, 另一個相同方向的作多(或放空)訊號也有可能出現, 就像3之(1)的狀況。
(c)無論作多或放空有一個或兩個倉位, 停損或停利訊號出現時, 全部都出場。之後再等下一個訊號。
可以用變數紀錄多空進場,
例如:
變數1=0,
B1發生就讓變數1變為1,
B2發生就讓變數1變為2,
空單進場要滿足變數1=0的條件;
反之亦然,
變數2=0,
S1發生就讓變數2變為1,
S2發生就讓變數2變為2,
多單進場要滿足變數2=0的條件,
marketposition = 0 的時候重置變數為0。
謝謝"虛心求教"兄的解答,果然是高手, 謝謝您。