均线对策略的控制问题

经与TB在线客服确认,TB策略里有这样一个机制:即如果你在策略中设置了一根均线,比如MA20=AVERAGE(C,20),则无论你在后续的指令语句中,是否用到该MA,程序总是要等到20根BAR以后才发出买卖指令,个人觉得这个设置不合理。请问为什么要这么设置?

我现在要编写一个策略,设置站上20日均线作为开仓的控制条件之一,但在初始的20根BAR期间,即还没有20日均线值的时候,我就不受这个“站上均线”的条件制约,而是满足我设置的其他开仓条件即可。待满20根BAR之后,再受“站上均线”这一条件的制约。要实现这一目的,我该怎么写?

如果不能达到我上述目的,则只要你设置了均线,就会浪费初始的若干根BAR,达不到理想的测试效果,然而这初始的若干根BAR,很可能是个强趋势,比如最近上市的碳酸锂,这是个很大的缺憾!!!望解决!!!

关于均线对策略指令的控制
均线策略
均线策略出错
均线策略的开平价格
关于均线输出的问题
跨周期均线策略
关于均线交叉的问题
单均线回测几个问题,奇怪。
咨询均线问题
请教个控制开仓的小问题

都没满20根均线,算出来20周均线那能对吗?

自己写一个求平均的

Params

Numeric Length(20);

   

Vars

Numeric MA20;

   Numeric bar_count;

Defs

//此处添加公式函数

Events

OnBar(ArrayRef<Integer> indexs)

{

bar_count=CurrentBar+1;

Numeric i;

Numeric Summation_1;

If (bar_count<Length)

{

for i = 0 to bar_count-1

       {

       Summation_1 = Summation_1 + Close[i];

       }

       MA20=Summation_1/bar_count;

}

Else

{

for i = 0 to Length-1

       {

       Summation_1 = Summation_1 + Close[i];

       }

       MA20=Summation_1/Length;

}

Commentary(\"Summation_1=\"+Text(Summation_1));

Commentary(\"MA20=\"+Text(MA20));

       PlotNumeric(\"MA20\",MA20);

       Commentary(\"MA20=\"+Text(MA20));

       Commentary(\"CurrentBar=\"+Text(CurrentBar));

       

       

       Bool KaiKong;

       Bool PingKong;

       KaiKong=Close[1]<MA20;

       PingKong=Close[1]>MA20;

       If(KaiKong and MarketPosition>-1) SellShort(1,Open);

       If(PingKong and MarketPosition==-1) BuyToCover(1,Open);

       

}


昨天才安装TB,什么都不懂,这是古时的天书哦。

data-href=

刚刚学TB,正好练一下手

老师好厉害!

data-href=

Params

Numeric Length(20);

   

Vars

Numeric MA20;

   Numeric bar_count;

Defs

//此处添加公式函数

Events

OnBar(ArrayRef<Integer> indexs)

{

bar_count=CurrentBar+1;

If (bar_count<Length)

{

MA20=Average(Close,bar_count);

}

Else

{

MA20=Average(Close,Length);

}

       PlotNumeric(\"MA20\",MA20);

       Commentary(\"CurrentBar\"+Text(CurrentBar));

}