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

闪灵交易代码问题 [金字塔]

  • 咨询内容:

    我想赢一次开仓,而不是亏开仓。

    开多:BUY(开多条件 AND 真实系统下单开关=0 AND HOLDING=0,手数,MARKET);//把开关改为0了
    开空:BUYSHORT(开空条件 AND 真实系统下单开关=0 AND HOLDING=0,手数,MARKET);//

    把开关改为0,可为什么交易不了呢。不改的话是有交易信号的。搞不明白。

     

    闪灵的代码采用RogarZ的,如下。

    代码:
    //策略:闪灵交易者系统
    //类型:
    //版本:1.0
    //修订时间:2012.11.24
    //DESIGNED BY ROGARZ
    //weibo:http://weibo.com/rogarwahoo

    //中间变量
    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为9
    9日收盘价指数平均: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;//模拟持仓为1
    END

    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;//模拟持仓为-1
    END

    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);

     

  • 金字塔客服: RogarZ 前辈你来帮我看看吧。谢谢了

 

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

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容