打印本文打印本文 关闭窗口关闭窗口

[常见问题] 如何取消setstoploss

作者:MC 来源:cxh99.com 发布时间:2014年04月20日
  • 咨询内容: 之前有人问过我,一个进场策略 对应N个出场 怎么判别?

    用marketposition>0 或者marketposition<0判断 then 挂出 平仓 stop

    这样最快也要等到进场后的第二根bar才发出指令

    如果要加setstoploss,确保当前bar也能止损出场,
    当前bar进场了,stoploss是会正常挂出来,如果没止损,而到了第二根bar之后,会出来两个平仓语句

    如果同时被触到或者行情太快,MC会来不及删单的,单子就直接发出去了。

    由于MC是一根bar计算一次程序,建议是 一个condition的情况下 只挂一个stop平仓单。
    程序中 尽量,确保,不要同时挂出N张价格相近或相同的平仓单。

    如何撤销setstoploss命令?就是给这个指令加一个condition限制。
    1. if marketposition=0 then
    2. setstoploss(xxx);

    3. if marketposition>0 then
    4. sell next bar at aaa stop;
    5. if marketposition<0 then
    6. buytocover next bar at bbb stop;
    复制代码这样,在进场之后,由于marketposition要等到下一根bar才能识别变化,
    可以正常执行stoploss,而如果当前bar没有止损,
    到了第二根bar,stoploss就会应marketposition<>0而被MC取消掉。

    希望对大家有所帮助。
打印本文打印本文 关闭窗口关闭窗口