简单公式的莫名其秒的问题。朋友说是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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容