关于海龟模型修改 [文华财经]
- 咨询内容:
老师我改编了一下海龟模型,模型如下:
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR,20); //ATR定义
TC:INTPART((MONEYTOT*0.01/(UNIT*ATR)));
CROSSUP(C,HV(H,20))&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//入市策略
CROSSUP(C,HV(H,20))&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//入市策略
BARPOS=1,BK(TC);
BARPOS=2,SP(TC);
BARPOS=3,SK(TC);
BARPOS=4,BP(TC);N1:=MIN(BARSSP,BARSBP);
KB:=COUNT(BARSBK=1,N1);
C>=BKPRICE+0.5*ATR&&KB=1&&ISLASTBK,BK(TC);//加仓策略(第一次加仓)
C>=BKPRICE+0.5*ATR&&KB=2&&ISLASTBK,BK(TC);//加仓策略(第二次加仓)
KS:=COUNT(BARSSK=1,N1);
C<=SKPRICE-0.5*ATR&&KS=1&&ISLASTSK,SK(TC);//加仓策略(第一次加仓)
C<=SKPRICE-0.5*ATR&&KS=2&&ISLASTSK,SK(TC);//加仓策略(第二次加仓)
KB=1&&C<=(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);//开仓止损策略
KS=1&&C>=(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); //开仓止损策略KB=2&&C<=(BKPRICE-1.8*ATR)&&BKVOL>0,SP(BKVOL);//第一次加仓后的止损策略
KS=2&&C>=(SKPRICE+1.8*ATR)&&SKVOL>0,BP(SKVOL);//第一次加仓后的止损策略
KB=3&&C<=(BKPRICE-1.5*ATR)&&BKVOL>0,SP(BKVOL);//第二次加仓后的止损策略
KS=3&&C>=(SKPRICE+1.5*ATR)&&SKVOL>0,BP(SKVOL);//第二次加仓胡的止损策略CROSSDOWN(L,LV(L,10))&&BKVOL>0,SP(BKVOL); //退出策略
CROSSUP(H,HV(H,10))&&SKVOL>0,BP(SKVOL);//退出策略
BKHIGH>BKPRICE+2*ATR&&C<=BKPRICE,SP(BKVOL);//止盈策略
BKHIGH>BKPRICE+4*ATR&&C<=BKHIGH-(BKHIGH-BKPRICE)*0.618,SP(BKVOL);//止盈策略
BKHIGH>BKPRICE+6*ATR&&C<=BKHIGH-(BKHIGH-BKPRICE)*0.382,SP(BKVOL);//止盈策略SKLOW<SKPRICE-2*ATR&&C>=SKPRICE,BP(SKVOL);//止盈策略
SKLOW<SKPRICE-4*ATR&&C>=SKLOW+(SKPRICE-SKLOW)*0.618,BP(SKVOL);//止盈策略
SKLOW<SKPRICE-6*ATR&&C>=SKLOW+(SKPRICE-SKLOW)*0.382,BP(SKVOL);//止盈策略现在的问题是:
1、由于ATR一直在变化,所以加仓手数和开仓手数会不一致,我希望能加仓手数始终和开仓手数保持一致。
2、我目前的模型是一根K线上一个信号,加仓不能和开仓在同一根K线上,我希望能在同一根K线上进行开仓和加仓。(只加两次仓)
- 文华技术人员:
问题1:开仓手数TC的问题 您可以将TC:INTPART((MONEYTOT*0.01/(UNIT*ATR))); 中的ATR的值写成一个固定值
问题2:您的模型并没有加入一根K线单信号函数,所以您可以试试使用 出信号立即下单 不复核 这种下单执行方式 来解决一根K线一个信号的问题
- 文华客服:
如何把ATR写成固定值?
- 网友回复:
TC:INTPART((MONEYTOT*0.01/(UNIT*ATR)));
距离 您将这里的ATR换成一个参数即可 比如“5”
TC:INTPART((MONEYTOT*0.01/(UNIT*5)));
- 网友回复:
我还是不太明白,
ATR:MA(TR,20); //ATR定义
ATR是这样定义出来的,每次开仓都是根据当时的值计算出来的,而且不同的品种,ATR的值都是不同的,如何固定?
我搜到论坛里有这样的答案,不知道对吗?
TC:INTPART((MONEYTOT*0.01/(UNIT*ATR)));
MTC:4*TC; //头寸计算
TC0:=REF(TC,BARSLAST(REF(BKVOL=0&&SKVOL=0,1)&&(SKVOL>0||BKVOL>0)));
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容