NN:ENTRYSIG_PLACE(1);
HH:HHV(H,NN);
LOST:50;//止损
((C-O)>ATR1*1.5)&&ISLASTBK=0&&ISLASTSK=0,BK(0);//初始交易开多
((C<(BKPRICE-45)))&&ISLASTBK,BK(1);//
(C<=(HH-LOST))&&BKPRICE>0&&T,SP(BKVOL);
MULTSIG(0,0,1,0);
可是我这样写止损1单还是有2000多为什么,测试的是焦媒1809,按上面算不是一单300元吗。怎么差距那么大
不是我是下降50点,开始有买开仓记录时并没有开仓啊,只是记录了开仓信号,然后记录开始算最高价的位置,最后买是在价格下跌45点后开仓的,50-45=5*60就等于300元了啊,我这样想的
NN:ENTRYSIG_PLACE(1);
HH:HHV(H,NN);
LOST:50;//止损
((C-O)>ATR1*1.5)&&ISLASTBK=0&&ISLASTSK=0,BK(0);//初始交易开多
((C<(BKPRICE-45)))&&ISLASTBK,BK(1);//
(C<=(HH-LOST))&&BKPRICE>0&&T,SP(BKVOL);
MULTSIG(0,0,1,0);
这个实现我看回测亏损1笔都是2000多就不知道哪错了
TR := ABS(O-C);//MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
ATR1 : MA(TR,20),COLORYELLOW;//求N个周期内的TR的简单移动平均
ATR2 := MA(TR,240),COLORYELLOW;//求N个周期内的TR的简单移动平均
SXF:=FEE;
BZJ:=MARGIN*C*UNIT;
ZX:=MINPRICE*UNIT;
LOST:=50;
YY:=LOST*ZX;
//头寸确定
TC:=INTPART((MONEYTOT*0.01/(UNIT*ATR1*3)));//根据权益的1%计算下单手数
MTC:=INTPART(MONEYTOT/(MARGIN*C*UNIT));
//趋势判断
H1:=HHV(H ,100 );
H2:=HHV( H, 40);
L1:=LLV(L,100);
L2:=LLV(L,40);
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
MA3:MA(CLOSE,20);
//买卖
T:=TIME>0905;
(C-O)>ATR1*1.5)&&T&&MA3>MA2&&ISLASTBK=0&&ISLASTSK=0,BK(0);//初始交易开多
((O-C)>ATR1*1.5)&&T&&MA1>MA2&&ISLASTBK=0&&ISLASTSK=0,SK(0);//初始交易开空
//退出策略
A:=MINPRICE1;//取模组交易合约的最小变动价位
NN:=ENTRYSIG_PLACE(1);
HH:=HHV(H,NN);
LL:=LLV(L,NN);
//HH:=HHV(H,BARSBK+1);//买开仓位置到现在最高价ISLASTBK
//LL:=LLV(L,BARSSK+1);//卖开仓位置到现在最低价
(C<=(HH-LOST))&&BKPRICE>0&&T,SP(BKVOL);
(C>=(LL+LOST))&&SKPRICE>0&&T,BP(SKVOL);
//追加
//((C-O)>ATR1*2)&&T&&MA3>MA2&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
//((O-C)>ATR1*2)&&T&&MA1>MA2&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
((C<(BKPRICE-45)))&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
((C>(BKPRICE+45)))&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
//((C<(BKPRICE-ATR1*2)))&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
//((C>(BKPRICE+ATR1*2)))&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
//((C>(BKPRICE+90+ATR1)))&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
//((C<(BKPRICE-90-ATR1)))&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
//((C>(BKPRICE+90+ATR1*2)))&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
//((C<(BKPRICE-90-ATR1*2)))&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
//((C>(BKPRICE+90+ATR1*3)))&&BKVOL<MTC&&ISLASTBK,BK(1);//赢追加下单
//((C<(BKPRICE-90-ATR1*3)))&&SKVOL<MTC&&ISLASTSK,SK(1);//赢追加下单
//TRADE_AGAIN(10);
MULTSIG(0,0,1,0);