文華與開拓者通用的dual thrust系統策略源碼
作者:文華財經 來源:cxh99.com 發布時間:2013年01月04日
- dual thrust系統原形
開拓者TB源碼:
- Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
- Vars: BuyRange(0), SellRange(0);
- Vars: BuyTrig(0),SellTrig(0);
- Vars: HH(0),LL(0),HC(0),LC(0);
- //程序化交易 m.kzuj.com.cn
- If CurrentBar > 1 Then Begin
- HH = Highest(High,Mday);
- HC = Highest(Close,Mday);
- LL = Lowest(Low,Mday);
- LC = Lowest(Close,Mday);
-
- If (HH - LC) >= (HC - LL) Then Begin
- SellRange = HH - LC;
- End Else Begin
- SellRange = HC - LL;
- End;
-
- HH = Highest(High,Nday);
- HC = Highest(Close,Nday);
- LL = Lowest(Low,Nday);
- LC = Lowest(Close,Nday);
-
- If (HH - LC) >= (HC - LL) Then Begin
- BuyRange = HH - LC;
- End Else Begin
- BuyRange = HC - LL;
- End;
-
- BuyTrig = K1*BuyRange;
- SellTrig = K2*SellRange;
-
- If MarketPosition = 0 Then Begin
- Buy at Open of next bar + BuyTrig Stop;
- Sell at Open of next bar - SellTrig Stop;
- End;
-
- If MarketPosition = -1 Then Begin
- Buy at Open of next bar + Buytrig Stop;
- End;
-
- If MarketPosition = 1 Then Begin
- Sell at Open of next bar - SellTrig Stop;
- End;
-
- End;
- 文華財經源碼:
M:=1;
M1:=1;
K1:=0.5;
K2:=0.5;
N:=BARSLAST(DATE<>REF(DATE,1))+1;
OO:=VALUEWHEN(DATE<>REF(DATE,1),O);
HH1:=REF(HHV(H,N*M),N);
LL1:=REF(LLV(L,N*M),N);
HC1:=REF(HHV(C,N*M),N);
LC1:=REF(LLV(C,N*M),N);
HH2:=REF(HHV(H,N*M1),N);
LL2:=REF(LLV(L,N*M1),N);
HC2:=REF(HHV(C,N*M1),N);
LC2:=REF(LLV(C,N*M1),N);
SELLR:=IFELSE((HH1-LC1)>=(HC1-LL1),HH1-LC1,HC1-LL1);
BUYR:=IFELSE((HH2-LC2)>=(HC2-LL2),HH2-LC2,HC2-LL2);
BT:=K1*BUYR;
ST:=K2*SELLR;
BUYP:=OO+BT;
SELLP:=OO-ST;
//程序化交易 m.kzuj.com.cn
H>=BUYP&&C>=MAX(O,BUYP),BPK;
L<=SELLP&&C<=MIN(O,SELLP),SPK;
AUTOFILTER;