- 精华
- 0
- 在线时间
- 194 小时
- UID
- 38084
- 积分
- 323
- 帖子
- 71
- 阅读权限
- 50
- 注册时间
- 2011-5-6
- 最后登录
- 2022-1-26
- 精华
- 0
- UID
- 38084
- 积分
- 323
- 帖子
- 71
- 主题
- 26
- 阅读权限
- 50
- 注册时间
- 2011-5-6
- 最后登录
- 2022-1-26
|
修正一下
Params
Numeric Lots(1); //开仓单手
Numeric FastLength(5);
Numeric SlowLength(20);
Numeric DelayTicks(5);
Vars
NumericSeries AvgValue1;
NumericSeries AvgValue2;
Numeric LastBarTime;
Numeric TickCounter;
Begin
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
LastBarTime = GetGlobalVar(0);
TickCounter = GetGlobalVar(1);
If(BarStatus==2 && LastBarTime != Time)
{
LastBarTime = Time;
TickCounter = 0;
}
If(AvgValue1[1] > AvgValue2[1])//Data0是连续888,Data1是近期主力,Data2是换月主力
{
If(Data0.Vol==Data1.Vol&&Data1.MarketPosition==0 || BarStatus!=2)//如果Data1是主力没有仓位开仓
{
Data1.Buy(Lots,Data1.Open);
}else if(Data0.Vol==Data2.Vol&&Data2.MarketPosition==0 || BarStatus!=2)//如果Data2是主力没有仓位开仓
{
Data2.Buy(Lots,Data2.Open);
}Else
{
If(Data0.Vol==Data1.Vol&&Data1.MarketPosition!=1)//如果Data1是主力没有换月Data1交易
{
Data1.BuyToCover(Lots,Data1.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data1.Buy(Lots,Data1.Open);
}
}Else If(Data0.Vol==Data2.Vol&&Data2.MarketPosition==0)//如果Data1和Data2换月进行换仓交易
{
Data1.BuyToCover(Lots,Data1.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data2.Buy(Lots,Data2.Open);
}
}Else If(Data0.Vol==Data2.Vol&&Data2.MarketPosition!=1)//如果Data2是主力已换月Data2交易
{
Data2.BuyToCover(Lots,Data2.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data2.Buy(Lots,Data2.Open);
}
}
}
}Else If( AvgValue1[1] < AvgValue2[1])//Data0是连续888,Data1是近期主力,Data2是换月主力
{
If(Data0.Vol==Data1.Vol&&Data1.MarketPosition==0 || BarStatus!=2)//如果Data1是主力没有仓位开仓
{
Data1.SellShort(Lots,Data1.Open);
}else if(Data0.Vol==Data2.Vol&&Data2.MarketPosition==0 || BarStatus!=2)//如果Data2是主力没有仓位开仓
{
Data2.SellShort(Lots,Data2.Open);
}Else
{
If(Data0.Vol==Data1.Vol&&Data1.MarketPosition!=-1)//如果Data1是主力没有换月Data1交易
{
Data1.Sell(Lots,Data1.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data1.SellShort(Lots,Data1.Open);
}
}Else If(Data0.Vol==Data2.Vol&&Data2.MarketPosition==0)//如果Data1和Data2换月进行换仓交易
{
Data1.Sell(Lots,Data1.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data2.SellShort(Lots,Data2.Open);
}
}Else If(Data0.Vol==Data2.Vol&&Data2.MarketPosition!=1)//如果Data2是主力已换月Data2交易
{
Data2.Sell(Lots,Data2.Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Data2.SellShort(Lots,Data2.Open);
}
}
}
}
SetGlobalVar(0,LastBarTime);
SetGlobalVar(1,TickCounter);
End
|
|