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

这个条件过滤如何表达? [金字塔]

  • 咨询内容:  老师,我想在日内模型中加入一个这样的条件过滤:
    连续两次开多(或开空)被止损后(如果是开多的话,中间有开多赢利的话就不算),下一次开多(有可能是当天或不是当天了,或是1、2天后的)的价格必须大于上一次开多时的开仓价格。
    请教应如何表达?先谢了!

     

  • 金字塔客服:  这条件看似简单,难度却不了,难点在于:
    一是连续两次的统计表达;
    二是日内模型,却有可能要调用昨天甚至前几天的相关数据,包括开平仓信息、上次被止损平仓的开仓价;
    以开多为例:前天有1次开多是达到止损条件而平仓出场的,昨天也有1次开多是达到止损条件而平仓出场的,
    中间无论是否出现N次开空的止赢止损都不影响条件成立,但如果有出现开多的,只要它是止赢或是正常收盘平仓等(只要不是被止损出场)的,
    那止条件就不成立了。
    恳请老师和各位高手指教!!!

     

  • 用户回复:

    variable:n=0;

    if holding>0 and 多仓止损条件 then begin

        sell(1,0,market);

        n:=n+1;

    end

    if holding>0 and 其他平仓条件 then begin

        sell(1,0,market);

        n:=0;

    end

     

    n=2就表示你的连续两次了,用全局变量来记录止损的次数,如果非止损平仓的那么就把全局变量重置为0

     

  • 网友回复:  新年好!感谢老师指点!虽然我的平仓条件较多,但这个确实也是解决思路来的。另外,我想加入一个时间限制:三日内,连续有连续两次开多被止损的,这个“三日内”如何表示好一点?谢了

     

  • 网友回复:

    variable:n=0;

    if holding>0 and 多仓止损条件 then begin

        sell(1,0,market);

        n:=n+1;

    end

    if holding>0 and 其他平仓条件 then begin

        sell(1,0,market);

        n:=0;

    end

    d1:valuewhen(n=1 and ref(n=0,1),date);

    d2:date;

    d2-d1<3

    d1是第一次止损平仓的日期,d2是当前日期,相减后判断是否小于3就行

 

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

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


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

相关文章

    没有相关内容