//------------------------------------------------------------------------
//------------------------------------------------------------------------
Params
Numeric n1(2);
Numeric n2(2);
Numeric Count(30);
numeric lots(1);
Vars
NumericSeries a1;
NumericSeries a2;
NumericSeries g1;
NumericSeries g2;
NumericSeries i_count;
Begin
a1=Highest(h[1],n2);
a2=Lowest(l[1],n2);
if(BarStatus==0)
{
g1=0;
g2=0;
i_count=0;
}
if(i_count==Count)
{
g1=0;
g2=0;
i_count=0;
}
if(c[1]>a1[1] )
{
g1=g1-1;
g2=g2+1;
}
if(c[1]<a2[1] )
{
g1=g1+1;
g2=g2-1;
}
if(g2>n1 && MarketPosition<>1 )
{
Buy(lots,o);
}
if(g1>n1 && MarketPosition<>-1)
{
SellShort(lots,o);
}
//PlotNumeric("bs",bs);
//PlotNumeric("ss",ss);
Commentary("b1"+Text(g2));
Commentary("s0"+text(g1));
i_count=i_count+1;
Commentary("i_count"+text(i_count));
end
金字塔里 开多平多,开空平多 必须是成对存在的,因为我们的图表程序化的模式,单个模型内部是不能锁仓的,每一个特定时刻只能是多或者空,不能同时存在。只有开多,开空的语句是不行的。你上面这个逻辑里面只有多空的开仓动作。没有平仓的部分。你需要提供下平仓的逻辑。