简单公式的莫名其秒的问题。朋友说是BUG [开拓者 TB]
- 咨询内容:
 本帖最后由 sssaaabbb 于 2016-2-29 09:43 编辑 
 
 一个语句,A AND B 改为B AND A,,只是把顺序反了一下。结果完全不一样了。
 语句1
 Params
 
 Vars
 NumericSeries FastMA;
 NumericSeries slowMA;
 NumericSeries EntPriceL;
 
 NumericSeries ma5;
 NumericSeries ma10;
 
 NumericSeries ds;
 NumericSeries ks;
 NumericSeries MinPoint;
 
 
 
 BoolSeries kd;
 BoolSeries kk;
 
 BoolSeries pd;
 BoolSeries pk;
 
 begin
 
 
 
 ma5=Average(c,5);
 ma10=Average(c,10);
 
 FastMA = Average(c,9) ;
 SlowMA = Average(c,18) ;
 
 
 pd=CrossUnder(l,Lowest(l[1],8)) ;
 pk=Crossover(l,Highest(h[1],8)) ;
 
 PlotNumeric("Highest(h[1],50)",Highest(h[1],50));
 PlotNumeric("Lowest(l[1],50)",Lowest(l[1],50));
 
 //开仓条件
 if( (CrossOver(ma5,ma10)) && h>Highest(h[1],50) )
 {Buy(1,o);}
 if( (CrossUnder(ma5,ma10)) && l<Lowest(l[1],50) )
 {SellShort(1,o);}
 
 开仓条件的反顺序
 //if( h>Highest(h[1],50) && (CrossOver(ma5,ma10)) )
 //{Buy(1,o);}
 //if( l<Lowest(l[1],50) && (CrossUnder(ma5,ma10)))
 //{SellShort(1,o);}
 
 if(pd[1])
 {sell(1,c);}
 
 if(pk[1])
 {BuyToCover(1,c);}
 
 end
 效果如图
 FT1.png (22.23 KB, 下载次数: 1) 2016-2-29 09:29:01 上传 
-  TB技术人员:
crossover,highest等是序列函数,不可放在条件中运算。
 使用中间变量,布尔型的,将crossover,highest,lowest等语句赋值 给中间变量。
 比如你现有的kd,kk等变量再加多二个,将&&前后的二个判断式分别赋值给中间变量,
 再将中间变量代入条件中,A&&B 或是 B&&A就没有区别了
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198  进行 有偿 编写!(不贵!点击查看价格!)
                        
相关文章
- 
                        没有相关内容
                       

 
                     会员登录/注册
会员登录/注册