模型编写问题 (文华财经)

投资者咨询:模型编写问题 (文华财经)
来源:文华财经  日期:2018-6-25 13:32
 DIR1:=ABS(CLOSE-REF(CLOSE,N1)); 
VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),N2); 
ER1:=DIR1/VIR1; 
CS1:=ER1*(0.8-2/8)+2/8; 
CQ1:=CS1*CS1; 
AMA1:EMA(DMA(CLOSE,CQ1),2),COLORWHITE,LINETHICK1; 
DIR2:=ABS(CLOSE-REF(CLOSE,10)); 
VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),10); 
ER2:=DIR2/VIR2; 
CS2:=ER2*(0.8-2/24)+2/24; 
CQ2:=CS2*CS2; 
AMA2:EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK1; 
AMA3:IF(AMA2/REF(AMA2,1)>0.997,AMA2,NULL),COLORGREEN,LINETHICK1; 
AMA4:IF(AMA2/REF(AMA2,1)>1.001,AMA2,NULL),COLORRED,LINETHICK1; 
CROSS(AMA1,AMA2),BPK;
CROSSDOWN(AMA1,AMA2),SPK;
AUTOFILTER;
老师好!以上是AMA自适应均线的模型,请老师把这个模型的条件植入到WH8系统自带的海龟交易模型中。以上条件替换原海龟模型首次开仓条件和平仓条件,保留原加仓和止损条件。
麻烦老师写一个这样的模型,谢谢!!
 
技术人员回复
日期:2018-6-25 13:55

 参考:

 

 DIR1:=ABS(CLOSE-REF(CLOSE,N1));
VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),N2);
ER1:=DIR1/VIR1;
CS1:=ER1*(0.8-2/8)+2/8;
CQ1:=CS1*CS1;
AMA1:EMA(DMA(CLOSE,CQ1),2),COLORWHITE,LINETHICK1;
DIR2:=ABS(CLOSE-REF(CLOSE,10));
VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),10);
ER2:=DIR2/VIR2;
CS2:=ER2*(0.8-2/24)+2/24;
CQ2:=CS2*CS2;
AMA2:EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK1;
AMA3:IF(AMA2/REF(AMA2,1)>0.997,AMA2,NULL),COLORGREEN,LINETHICK1;
AMA4:IF(AMA2/REF(AMA2,1)>1.001,AMA2,NULL),COLORRED,LINETHICK1;


TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真实波幅
ATR:=MA(TR,26); //求26个周期内真实波幅的简单移动平均
TC..INTPART((MONEYTOT*0.01/(UNIT*ATR)));//根据权益的1%计算下单手数
MTC..4*TC; //总的持仓头寸
HH:=HV(H,20);
LL:=LV(L,20);
CROSS(AMA1,AMA2)&&ISLASTBK=0&&ISLASTSK=0&&BARPOS>=26,BK(TC);//最新价超过20周期的最高值,首次买入开仓,手数为TC手
CROSSDOWN(AMA1,AMA2)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); //最新价跌破20周期的最低值,首次卖出开仓,手数为TC手
C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK,BK(TC);//价格在上次开仓的基础上上涨0.5倍ATR,在手数不超过4倍TC的时候,买入加仓TC手
C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK,SK(TC);//价格在上次开仓的基础上下跌0.5倍ATR,在手数不超过4倍TC的时候,卖出加仓TC手
C<=(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);//最新价小于开仓价减去2倍的ATR,止损平仓
C>=(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); //最新价大于开仓价加上2倍的ATR,止损平仓
CROSS(AMA1,AMA2)&&SKVOL>0,BP(SKVOL);//最高价上穿10周期最高价,平仓
CROSSDOWN(AMA1,AMA2)&&BKVOL>0,SP(BKVOL); //最低价下穿10周期的最低价,平仓
TRADE_AGAIN(10);