您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

立马学会进场开关控制 [MC]

  • 咨询内容: 转载自:阿政的投机生活
    这一篇,提一个还算是简单的范例,解释如何利用变数来做为进场的"开关",去达成交易策略的部位出场后,有的时候即使仍在突破价外(这会出场马上再进场),而不要马上再进场的控制。透过"开关"设计,就可以让交易策略的设计上更多元变化。
    策略描述:以每周周一日K的高低点,作为关键价突破追进的策略。但是止损/止盈出场后,必须等到价格再回到突破价以内之后,才做突破再度进场。
    通常,如果你只是很简单的订出两个关键价,去做突破追进的话,直观描述出来就会如下这样。 (止损50点、止盈100点)
    1. var:BB(99999),SS(0);
    2. var:MP(0),lastWay(0);
    3. var:toDO(true);


    4. if dayofweek(D)=1 and sessionlastbar then begin
    5.   BB= highD(0);
    6.   SS= lowD(0);
    7. end;


    8. MP= marketposition;


    9. if MP<=0 then
    10.   buy next bar BB stop;

    11. if MP>=0 then
    12.   sellshort next bar SS stop;


    13. if MP<>0 then begin
    14.   setstoploss(50*bigpointvalue);
    15.   setprofittarget(100*bigpointvalue);
    16. end;
    复制代码你就会看到图表上面出现这样的讯号,获利出场后下一根马上再进场,弄得好像出场的动作是做好玩的?这通常就不是做”突破”的人想要的状况

    所以,我们就得对要不要进场的判断,在除了是否突破关键价外,加上一个”开关”来做控制:让出场之后把进场开关关掉,必须等待价格回到突破价以内,才把进场的开关再度打开。
    下面程序码中的 toDO 就是进场开关
    1. var:BB(99999),SS(0);
    2. var:MP(0),lastWay(0);
    3. var:toDO(true);


    4. if dayofweek(D)=1 and sessionlastbar then begin
    5.   BB= highD(0);
    6.   SS= lowD(0);
    7. end;


    8. MP= marketposition;

    9. if MP[1]<>0 and MP=0 then begin
    10.   toDo= false;
    11.   if MP[1]>0 then lastWay=1;
    12.   if MP[1]<0 then lastWay=-1;
    13. end;

    14. if C<BB and lastWay>0 then
    15.   toDO= true;
    16. if C>SS and lastWay<0 then
    17.   toDO= true;


    18. if MP<=0 and toDO=true then
    19.   buy next bar BB stop;

    20. if MP>=0 and toDO=true then
    21.   sellshort next bar SS stop;


    22. if MP<>0 then begin
    23.   setstoploss(50*bigpointvalue);
    24.   setprofittarget(100*bigpointvalue);
    25. end;
    复制代码我想,上图跟下图做个比较,你就可以体会这有什么差异了。
    开关, 如何

     

  • MC技术部: 学习了,也避免来回被扇

 

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

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


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

相关文章

    没有相关内容