您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

关于闪灵交易系统的问题求助 [金字塔]

  • 咨询内容:       最近在研究系统自带的闪灵交易策略,感觉思路很不错,想使用该模板套用在自己的策略中,我是希望上一次交易是赚的时候再开仓,所以我将原策略开仓条件那里的真实系统下单开关=1”改为了“真实系统下单开关=0”希望能够达到上一次交易盈利后再开仓的目的,可是经过回测,策略只开平了一次,就没有交易了。后来我干脆把原策略中开仓条件那里真实系统下单开关=1”这一项删掉,用该策略回测了股指连续今年1月1号到5月9号这段时间,经过回测之后却发现,删掉之后的交易记录和原策略的交易记录相比只是多出了第一笔的开平仓交易,后面其他交易时间、点位、盈亏都完全一样!所以非常不解,不知道是我测试的有问题,还是这个“真实系统下单开关”根本没起到作用?      我先把系统的策略贴一下,下面黄色部分是我后来修改删除的部分,还请高手们帮帮忙,看看问题出在哪里了?
    //策略:闪灵交易者系统//版本:1.0//修订时间:2012.11.24//详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=34050&page=1&star=1//DESIGNED BY ROGARZ
    //中间变量INPUT:N1(9,1,100,1),SS(1,1,100);VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,真实系统下单开关:=0;LC := REF(CLOSE,1);RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为99日收盘价指数平均:REF(EMA(CLOSE,9),1);19日最高价收盘价平均:REF(EMA(HIGH,19),1);20日高点:=REF(HHV(H,20),1);20日低点:=REF(LLV(L,20),1);手数:=SS;//交易条件开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70;开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30;平多条件:=C<20日低点;平空条件:=C>=20日高点;

    //交易系统//模拟交易模块IF 开多条件 AND 模拟持仓=0 THEN BEGIN   模拟开仓价:=CLOSE;//记录开仓价   模拟持仓:=1;//模拟持仓为1END
    IF 平多条件 AND 模拟持仓=1 THEN BEGIN   模拟平仓价:=CLOSE;//记录平仓价   该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0   IF 该笔盈亏>0 THEN BEGIN    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END   IF 该笔盈亏<=0 THEN BEGIN    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0       END END IF 开空条件 AND 模拟持仓=0 THEN BEGIN   模拟开仓价:=CLOSE;//记录开仓价   模拟持仓:=-1;//模拟持仓为-1END
    IF 平空条件 AND 模拟持仓=-1 THEN BEGIN   模拟平仓价:=CLOSE;//记录平仓价   该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0   IF 该笔盈亏>0 THEN BEGIN    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END   IF 该笔盈亏<=0 THEN BEGIN    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0   END END //真实下单模块 平空:SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);平多:SELL(平多条件 AND HOLDING>0,手数,MARKET);开多:BUY(开多条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);开空:BUYSHORT(开空条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);


     

  • 金字塔客服: 代码里面有原帖地址,用户如有不明白的可以直接在原来的链接里面进行回复,我这里不太好回复此类问题

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容