- 精华
- 0
- 在线时间
- 58 小时
- UID
- 226586
- 积分
- 42
- 帖子
- 21
- 阅读权限
- 10
- 注册时间
- 2016-1-11
- 最后登录
- 2021-4-1
- 精华
- 0
- UID
- 226586
- 积分
- 42
- 帖子
- 21
- 主题
- 5
- 阅读权限
- 10
- 注册时间
- 2016-1-11
- 最后登录
- 2021-4-1
|
图1,符合开仓条件,没开仓
图2,符合开仓条件,不仅没开仓,计数器 i 计算错误,没开仓应该为0
图3,显示正确
图1 图2 的错误品种还有很多,我这里只是举个例子。
源码:
//上穿均线 并且 均线拐头向上,开仓
Params
Numeric Length(10); //用于计算ATR和新低价的Bar数
Vars
Numeric PriceH(130);
Numeric ExitP(150);
Numeric gap(2);
Numeric Money(10000);
Series<Numeric> EntryP;
Series<Numeric> i(0);
Series<Numeric> lot;
Series<Numeric> Ma;
Events
OnBar(ArrayRef<Integer> indexs)
{
//初始设置
Ma=average(C,Length);
PlotNumeric("Ma",Ma[1],0,White);
//上穿 MarketPosition==0 首次买入
If(MarketPosition==0 && i<100)
{
If( C[1]<PriceH && C[1]>Ma[1] && ma[1]>ma[2])
{ lot=money/c[1];
Buy(lot,Open);
i=i+1;
entryP=lastentryprice-gap;
}
}
//达到价差,补仓
If(L<=EntryP && i<100)
{ lot=money/c[1];
Buy(lot,Min(Open,EntryP));
i=i+1;
entryP=lastentryprice-gap;
}
Commentary("i="+text(i));
Commentary("c[1]="+text(c[1]));
Commentary("Ma[1]="+text(ma[1]));
//平仓
If(MarketPosition==1 )
{
If(H>=ExitP) {Sell(0,Max(Open,ExitP)); i=0; EntryP=0;}
}
}
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|