开拓者期货期权程序化系统交易论坛

标题: 跳空开盘,平仓后中止当日程序执行,该怎么编写,麻烦各位大神 [打印本页]

作者: zygj86000079    时间: 2019-10-8 17:47:23     标题: 跳空开盘,平仓后中止当日程序执行,该怎么编写,麻烦各位大神

如果跳空开盘,同时又持有反向仓位时,将平仓,并不再执行下面的程序,我编了一段程序,但无法实现预期目标,麻烦各位大神帮我分析分析,谢谢。

Begin
    If(time==0.0930&&(opend[0]-closed[1]>=50)&&(MarketPosition==-1 ))
      
            { buytocover(lots,open);}
                 
                 
        If(time==0.0930&&(closed[1]-opend[0]>=50)&&(MarketPosition==1 ))
      
            { sell(lots,open);}
                         
                 return;(tb中找不到中止程序的指令,用return返回后,因为条件发生了变化,所以无法中止下面的指令执行)

麻烦大神看看有没有办法能实现这个思路,谢谢
作者: Yuen_Lee    时间: 2019-10-9 13:31:20

  1. // 试试用全局变量作为是否执行后续程序的判断标准
  2. If(BarStatus == 0)
  3.     SetGlobalVar(0, 0);

  4. If(Time <> 0.0930 and GetGlobalVar(0) == 1)
  5.     SetGlobalVar(0, 0);

  6. If(满足平仓条件)
  7. {
  8.     平仓;
  9.     SetGlobalVar(0,1);
  10. }

  11. If(GetGlobalVar(0) == 1)
  12.     Exit Sub;
复制代码

作者: zygj86000079    时间: 2019-10-17 10:19:17

Yuen_Lee 发表于 2019-10-9 13:31

非常感谢,我来试试,有问题还要向您请教
作者: zygj86000079    时间: 2019-10-17 19:55:24

Yuen_Lee 发表于 2019-10-9 13:31

请问最后一行
Exit Sub;
是什么意思?tb中没有exit指令吧,还是我用的图表操作中没有exit指令。sub是什么含义?
作者: Yuen_Lee    时间: 2019-10-18 10:58:32

抱歉,这两天VBA用多了,弄混了。把Exit Sub改为Return就行。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2