Params
Numeric LOTS(1);
Vars
Series<Numeric> MA1;
Series<Numeric> MA2;
Series<Numeric> MA3;
Series<Numeric> MA4;
Series<Numeric> MA5;
Series<Numeric> MA6;
Series<Numeric> VAR1;
Series<Numeric> VAR2;
Series<Numeric> VAR3;
Series<Numeric> VAR4;
Series<Numeric> VAR5;
Series<Numeric> RSV;
Series<Numeric> FASTK;
Series<Numeric> K1;
Series<Numeric> D1;
Series<Numeric> AA1;
Events
OnBar(ArrayRef<Integer> indexs)
{
MA1=Average(Close,5);
MA2=Average(Close,18);
MA3=Average(Close,24);
MA4=Average(Close,50);
MA5=Average(Close,110);
MA6=Average(Close,220);
PlotNumeric("MA1",MA1);
PlotNumeric("MA2",MA2);
PlotNumeric("MA3",MA3);
PlotNumeric("MA4",MA4);
PlotNumeric("MA5",MA5);
PlotNumeric("MA6",MA6);
VAR1=(2*CLOSE+HIGH+LOW)/4;
VAR2=LowestFC(LOW,26);
VAR3=HighestFC(HIGH,26);
VAR4=XAverage((VAR1-VAR2)/(VAR3-VAR2)*100,26);
VAR5=XAverage(0.667*VAR4[1]+0.333*VAR4,4);
RSV= (CLOSE-LowestFC(LOW,120))/(HighestFC(HIGH,120)-LowestFC(LOW,120))*100;
FASTK=SMA(RSV,30,1);
K1=SMA(FASTK,10,1);
D1=SMA(K1,10,1);
AA1=K1-K1[2];
//系统出场
If(marketposition == 1 And BarsSinceEntry > 0 And Vol > 0 And VAR4<=VAR5)
{
Sell(LOTS,Open);
}
If(marketposition == -1 And BarsSinceEntry > 0 And Vol > 0 And VAR4>VAR5)
{
BuyToCover(LOTS,Open);
}
//系统入场
If(Marketposition == 0 And Currentbar >= 100)
{
If(AA1>0 And VAR4>VAR5 And Vol > 0)
{
Buy(LOTS,Open);
}
}
If(Marketposition == 0 And Currentbar >= 100)
{
If(AA1<=0 And VAR4<=VAR5 And Vol > 0)
{
SellShort(LOTS,Open);
}
}
}
老师怎么解决谢谢
试了下,没看到在未平仓的情况下,再开仓