------自己改写的双轨道交易系统 ,为神马回测是0呢 [金字塔]
- 咨询内容:
不是数据导入的问题 ,因为 其余的系统策略回测没有问题
代码如下 ,测试编译没有问题
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//策略:DUAL THRUST
//简介:Dual Thrust与R-Breaker一样,曾长期排名 Future Trust杂志最赚钱的策略。
//类型:日内
//周期:
//使用市场:
//详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30283
//修订时间:2012.11.1
//DESIGNED BY ROGARZ
//中间变量
INPUT:N(16,1,30,1),K1(0.4,0.1,1,0.1),K2(0.8,0.1,1,0.1),NMIN(6,1,10,1),SS(100,100,1000,100);
//INPUT:P1(3,1,5,1),P2(80,10,100,10);{计算最大回撤止损};
VARIABLE:P2=80;
variable:MAXPROFIT:=0;
variable:PROFIT:=0;
variable:DOWNPROFIT:=0;
variable: EX=0;
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
LHIGH:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
LLOW:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
LCLOSE:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
TOPEN:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(LHIGH,N);//N日HIGH的最高价
HC:=HHV(LCLOSE,N);//N日CLOSE的最高价
LC:=LLV(LCLOSE,N);//N日CLOSE的最低价
LL:=LLV(LLOW,N);//N日LOW的最低价
MOVING:=MAX(HH-LL,HC-LL);//RANGE
T1:=TIME>=090200 AND TIME<=145000+NMIN*100;
T2:=TIME>=145000+NMIN*100 AND TIME<=150000;
HOLDER:=SS;
幅度:=0;
UP:TOPEN+K1*MOVING;
DOWN:TOPEN-K2*MOVING;
BUYCON:=C>UP AND HOLDING=0 ;
BUYSHORTCON:=C<DOWN AND HOLDING=0 ;
亏跳:=10;
盈跳:=200;
{
多头浮亏10跳止损条件: (ENTERPRICE-C)>5*MINDIFF();
空头浮亏10跳止损条件: (C-ENTERPRICE)>5*MINDIFF();
}
//移动动态止损部分
///每天的 开盘的时候 持仓为0 开仓为0
IF TIME =090100 THEN BEGIN
EXTGBDATASET('B',0);//A 代表是否有仓位 b代表是否开过仓位
EXTGBDATASET('A',0);
END
///
//持有空仓的情况
IF HOLDING=0 THEN BEGIN
IF T1 THEN BEGIN
IF BUYCON THEN BEGIN
BUY( EXTGBDATA('B')=0 AND EXTGBDATA('A')=0,HOLDER,MARKET);
EXTGBDATASET('A',1);
EXTGBDATASET('B',1);
END
IF BUYSHORTCON THEN BEGIN
BUYSHORT( EXTGBDATA('B')=0 AND EXTGBDATA('A')=0,HOLDER,MARKET);
EXTGBDATASET('A',-1);
EXTGBDATASET('B',1);
END
END
END
IF HOLDING>0 THEN BEGIN
IF T1 THEN BEGIN
//最高价格 浮亏10跳 止盈操作
//浮亏10跳 止损
IF ( AVGENTERPRICE()-DYNAINFO( 7)>10*MINDIFF) THEN BEGIN
SELL(1,HOLDER,MARKET);
EXTGBDATASET('A',0);
EXTGBDATASET('B',1);
END
//
END
IF T2 THEN BEGIN
SELL(1,HOLDER,MARKET);
EXTGBDATASET('A',0);
EXTGBDATASET('B',0);
END
END
IF HOLDING<0 THEN BEGIN
IF T1 THEN BEGIN
IF ( DYNAINFO( 7)-AVGENTERPRICE()>10*MINDIFF) THEN BEGIN
SELLSHORT(1,HOLDER,MARKET);
EXTGBDATASET('A',0);
EXTGBDATASET('B',1);
END
END
IF T2 THEN BEGIN
SELLSHORT(1,HOLDER,MARKET);
EXTGBDATASET('A',0);
EXTGBDATASET('B',0);
END
END
//交易系统
{
开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET);
开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET);
收盘平多:SELL(T2,手数,MARKET);
收盘平空:SELLSHORT(T2,手数,MARKET);
}
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
[此贴子已经被作者于2016-11-1 17:13:58编辑过] - 金字塔客服:
你说的回测是0,指的是什么?没有成交明细?
- 用户回复:
是的 都是0
- 网友回复:
1.在这个品种k线图上,右键数据,看下是否存在测试时段的数据2.强策略加载到图表中,看下是否有信号出现
- 网友回复:
已经好了
其实是extgbdata
不能应用到
图标交易的问题
谢谢各位
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容