2009版自動化交易系統做的指標模型,在wh8上測試效果差距很大,有時沒有信號,老師幫忙修改成,wh8能用的指標模型。
VARA:=IFELSE(DATE<=991230,1,0);
H1:=HHV(HIGH,26)*VARA;
L1:=LLV(LOW,24)*VARA;
DB:=REF(EMA(CLOSE,3),1),COLORRED;
CB:=REF(EMA(CLOSE,40),1),COLORCYAN;
AB:=REF(EMA(CLOSE,8),1),COLORBLUE;
QS:=CROSS(DB,CB),COLORRED;
RS:=CROSS(CB,DB),COLORGREEN;
CLOSE1:=HIGH/2+LOW/2;
CLOSE2:=LOW;
LC:=REF(CLOSE1, 1)*VARA;
RSI:=SMA(MAX(CLOSE1-LC, 0), 6, 1)/SMA(ABS(CLOSE1-LC), 6, 1)*100*VARA;
RSI1:=SMA(MAX(CLOSE1-LC, 0), 1, 1)/SMA(ABS(CLOSE1-LC),1, 1)*100*VARA;
LC1:=REF(CLOSE2, 1)*VARA;
RSII:=SMA(MAX(CLOSE2-LC1, 0), 3, 1)/SMA(ABS(CLOSE2-LC1), 3, 1)*100*VARA;
RSI2:=SMA(MAX(CLOSE-LC, 0), 15, 1)/SMA(ABS(CLOSE-LC),15, 1)*100;
RSI3:=SMA(MAX(CLOSE-LC, 0), 34, 1)/SMA(ABS(CLOSE-LC),34, 1)*100;
FX:=MA(RSI2,5);
CLOSE3:=HIGH;
DIF:=REF(EMA(CLOSE3, 340)-EMA(CLOSE3, 40),1);
DEA:=REF(EMA(DIF, 5),1);
DIF1:=REF(EMA(CLOSE2, 340)-EMA(CLOSE2, 40),1);
DEA1:=REF(EMA(DIF1, 5),1);
LCC := REF(CLOSE,1)*VARA;
FXX:=SMA(MAX(CLOSE-LCC,0),6,1)/SMA(ABS(CLOSE-LCC),6,1)*100*VARA;
FXM:=SMA(MAX(CLOSE-LCC,0),15,1)/SMA(ABS(CLOSE-LCC),15,1)*100*VARA;
FXL:=SMA(MAX(CLOSE-LCC,0),34,1)/SMA(ABS(CLOSE-LCC),34,1)*100*VARA;
FXA:=MA(FXM,5)*VARA,COLORGREEN;
FSL:=(CLOSE3-MA(CLOSE3,1))/MA(CLOSE3,1)*100;
VAR1:=(CLOSE3*2+HIGH+LOW)/4;
VAR2:=EMA(VAR1,3)-EMA(VAR1,5);
VAR3:=EMA(VAR2,5);
KFD:= (-2)*(VAR2-VAR3)*3.8;
FSL1:=(CLOSE2-MA(CLOSE2,1))/MA(CLOSE2,1)*100;
VAR11:=(CLOSE2*2+HIGH+LOW)/4;
VAR22:=EMA(VAR11,8)-EMA(VAR11,5);
VAR33:=EMA(VAR22,5);
KFD1:= (-2)*(VAR22-VAR33)*3.8;
CLOSE11:=(HIGH+REF(CLOSE,1))/2;
A:=(3*CLOSE11+L+O+H)/6;
X1:=(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)+7*REF(A,13)+6*REF(A,14)+5*REF(A,15)+4*REF(A,16)+3*REF(A,17)+2*REF(A,18)+
REF(A,20))/210;
HTCBX:=EMA(X1,13),COLORCYAN;
NXX:=MA(CLOSE11,78),COLORMAGENTA;
TIME>0900&&TIME<1455&&CROSS(REFX(HIGH,1),REF(H1,1))&&(DEA>DIF)&&(H>REF(H,30))||TIME>0900&&TIME<1452&&CROSS(REFX(HIGH,1),REF(H1,16))&&(FSL>KFD)&&(H>REF(H,30))&&TIME<1454,BK;
TIME>0900&&TIME<1455&&CROSS(REF(L1,1),REFX(LOW,1))&&(DIF1>DEA1)&&(L<REF(L,30))||TIME>0900&&TIME<1452&&CROSS(REF(L1,15),REFX(LOW,1))&&(KFD1>FSL1)&&(L<REF(L,30))&&TIME<1454,SK;
LOW>=REF(LOW,64)&&RSI>=REF(RSI,2)&&(HIGH>REF(HIGH,39))||CROSS(TIME,1453)&&(CLOSE>REF(OPEN,58))||CROSS(HIGH,HTCBX)&&((H-L)>65)&&(C>O)||((H-L)>500)&&(C<O)||TIME>=1454,BP;
HIGH<=REF(HIGH,48)&&RSII<=REF(RSII,2)&&(LOW<REF(LOW,25))||CROSS(TIME,1453)&&(CLOSE>REF(OPEN,58))||CROSS(HTCBX,LOW)&&((H-L)>65)&&(C<O)||((H-L)>500)&&(C>O)||TIME>=1454,SP;
TIME>0900&&TIME<1430&&CROSS(REFX(HIGH,1),REF(H1,1))&&(DEA>DIF)||TIME>0900&&TIME<1430&&CROSS(REFX(HIGH,1),REF(H1,16))&&(FSL>KFD)||TIME>=1454,BP;
TIME>0900&&TIME<1430&&CROSS(REF(L1,1),REFX(LOW,1))&&(DIF1>DEA1)||TIME>0900&&TIME<1430&&CROSS(REF(L1,15),REFX(LOW,1))&&(KFD1>FSL1)||TIME>=1454,SP;
ABS(H-REF(H,4))>=1000||TIME>=1454,SP;
ABS(REF(L,4)-L)>=1000||TIME>=1454,BP;
AUTOFILTER;
我在老版本中用著還可以,一直在實盤,但我現在想用新版的,所以想請你們幫忙改成能在新版中用的指標模型。
參考2樓老師回復,REFX屬于未來函數,盤中無法預知未來的,建議您改用REF函數,即等某些條件滿足過了,才在盤中開倉或平倉:
引用X在N個周期前的值。
注:
1、當N為有效值,但當前的k線數不足N根,返回空值;
2、N為0時返回當前X值;
3、N為空值時返回空值。
4、N可以為變量
例1:
REF(CLOSE,5);表示引用當前周期前第5個周期的收盤價
例2:
AA:IFELSE(BARSBK>=1,REF(C,BARSBK),C);//取最近一次買開倉信號K線的收盤價
//1)發出BK信號的當根k線BARSBK返回空值,則發出BK信號的當根k線REF(C,BARSBK)返回
空值;
//2)發出BK信號的當根k線BARSBK返回空值,不滿足BARSBK>=1,則當根k線的收盤價。
//3)發出BK信號之后的k線BARSBK返回買開倉的K線距離當前K線的周期數,REF(C,BARSBK)
返回開倉k線的收盤價。
//4)例:1、2、3 三根k線,1 K線為開倉信號的當根k線,則返回當根k線的收盤價,2、3
K線返回 1 K線的收盤價。