Input:N1(6),N2(12);
LC := REF(CLOSE,1);
RSI_6:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
RSI_12:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;
ConBuy:=(Rsi_6 > Rsi_12) And Ref(Rsi_6,1)<=Ref(Rsi_12,1);
ConSell:=(Rsi_6 <= Rsi_12) And Ref(Rsi_6,1)>Ref(Rsi_12,1);
ConBuyShort:=(Rsi_6 <= Rsi_12) And Ref(Rsi_6,1)>Ref(Rsi_12,1);
ConSellShort:=(Rsi_6 > Rsi_12) And Ref(Rsi_6,1)<=Ref(Rsi_12,1);
//做多、平空
If (ConBuy Or ConSellShort) And TisRemainEx(1,'888888','Ta01')=0 Then Begin
TSellShort(TSellHoldingEx('888888','Ta01',1)>0,0,LMT,DYNAINFO(28),0,'888888','Ta01');
Tbuy(TbuyHoldingEx('888888','Ta01',1)=0,1,LMT,DYNAINFO(34),0,'888888','Ta01');
DebugFile('F:\DebugFile.txt','当前系统发出的信号是:做多 %.2f',CurrentTime);
End
//做空、平多
If (ConSell Or ConBuyShort) And TisRemainEx(1,'888888','Ta01')=0 Then Begin
TSell(TbuyHoldingEx('888888','Ta01',1)>0,1,LMT,DYNAINFO(28),0,'888888','Ta01');
TBuyShort(TSellHoldingEx('888888','Ta01',1)=0,1,LMT,DYNAINFO(28),0,'888888','Ta01');
DebugFile('F:\DebugFile.txt','当前系统发出的信号是:做空 %.2f',CurrentTime);
End
做一下历史回测,看看表现如何。
无法使用
用是,肯定能用的,只是,其中有几处错误,希望大家能开动脑筋、找出来。。。。
其中有错误,导致很难成交.应该是DYNAINFO(34)
TSellShort(TSellHoldingEx('888888','Ta01',1)>0,0,LMT,DYNAINFO(28),0,'888888','Ta01');