全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
满足平仓条件,为什么不平仓呢
2022-05-18 14:36

Vars
         Numeric RSV;
    Series<Numeric> K;
    BOOL CON;
Events
    OnBar(ArrayRef<Integer> indexs)
    {
        RSV = (Close - LOWEST(Low,38)) / (HIGHEST(High,38) - LOWEST(Low,38)) * 100; 
        K = Sma(RSV,3,1); 

    if(K[1]>62 && MarketPosition==0 ) 
    {
        BUY(IntPart(50000/(O*ContractUnit*Bigpointvalue)/MarginRatio),O);
    }
    PlotBool("SP", DayBarsNumI(0,1)-BarsSinceToday()==2&&MarketPosition==1, High);
    PlotBool("SP2", (K[1]<62|| DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1, LOW);
     if((K[1]<62 || DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1)
     {
        SELL(0,O);
     }
    Commentary("RSV"+TEXT(RSV));
    Commentary("K"+TEXT(K));
    Commentary("DayBarsNumI"+TEXT(DayBarsNumI(0,1))); 
    Commentary("TIME:" + Text(TIME));    
    }
满足收盘前倒数第二根BAR,不会平仓,但输出值是满足的,请问老师是怎么回事呢

下一篇: 机制问题
wangkaiming

con1 = DayBarsNumI(0,1)-BarsSinceToday()==2&&MarketPosition==1;
    //PlotBool("SP", , High);
    PlotBool("SP2", (K[1]<62|| DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1, LOW);
    PlotBool("SP",con1 ,High);
    
     if(K[1]<62 or con1)
     {
        SELL(0,O);
     } 

 

换这种写法看看, 如果函数包含在IF里 可能会有错误

2022-05-18 18:03
wltzpcinbd

2022-05-18 16:45
您未登录,请先 登录注册 后发表评论
顶部