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

标题: 关于While发单 [打印本页]

作者: jrqh116098    时间: 2016-1-11 09:52:49     标题: 关于While发单

各位老师您好:
    我用While循环,在一根K线上连续开单,TB的海归策略里面有用到,可是中途出现信号消失,当根K线走完,刷新数据,信号又出现了,之前也有朋友提出了相同的问题,没有解答。
    这个问题有办法解决吗,请各位指教。
作者: jrqh116098    时间: 2016-1-11 10:53:12

补充代码:
If(preEntryPrice!=InvalidNumeric && TurtleUnits >= 1)
            {
                If(Open >= preEntryPrice + 0.5*N) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。
                {
                    myEntryPrice = Open;
                                        preEntryPrice = myEntryPrice;
                    Buy(TurtleUnits,myEntryPrice);
                                        SendOrderThisBar = True;
                }

                while(High >= preEntryPrice + 0.5*N) // 以最高价为标准,判断能进行几次增仓
                {
                    myEntryPrice = preEntryPrice + 0.5 * N;
                    preEntryPrice = myEntryPrice;
                    Buy(TurtleUnits,myEntryPrice);
                                        SendOrderThisBar = True;                                       
                }
            }
作者: 小米    时间: 2016-1-11 13:45:25

是说系统自带的海龟交易系统有信号消失的问题吗?
公式有没有自己做为修改处理?什么合约?用于哪个周期上?各参数是否使用原默认的参数?
作者: jrqh116098    时间: 2016-1-11 19:47:05

本帖最后由 jrqh116098 于 2016-1-11 19:49 编辑

小米老师,对不起,是我弄错了。
和朋友讨论了下,不是自带代码本身的问题,是我的全局变量没有写好。
If(MarketPosition==1)
        {
        If(Open>=LastEntryPrice+MoreLength && GetGlobalVar(0)<TotalN)
              {
              Buy(MyNumeric,Open+MySmooth*Minpoint);
                  SetGetGlobalVar(0,GetGlobalVar(0)+1);
                  Commentary("多头加仓");
                  }
               
                While(High>=LastEntryPrice+MoreLength && GetGlobalVar(0)<TotalN)
                  {
                  Buy(MyNumeric,LastEntryPrice+MoreLength+MySmooth*Minpoint);
                 SetGetGlobalVar(0,GetGlobalVar(0)+1);
                  Commentary("多头加仓");
                  }
                }
全局变量SetGetGlobalVar(0,GetGlobalVar(0)+1); 是不是能这么用?换成NumericSeries   i;就没有闪烁了。




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