- 精华
- 3
- 在线时间
- 12229 小时
- UID
- 5
- 积分
- 26584
- 帖子
- 12686
- 阅读权限
- 200
- 注册时间
- 2007-7-20
- 最后登录
- 2021-11-3
- 精华
- 3
- UID
- 5
- 积分
- 26584
- 帖子
- 12686
- 主题
- 49
- 阅读权限
- 200
- 注册时间
- 2007-7-20
- 最后登录
- 2021-11-3
|
发表于 2016-4-27 16:53:54
|显示全部楼层
qwe123456 发表于 2016-4-27 16:23
也是这个条件 AvgValue1[1] < AvgValue2[1]
你给的代码里根本没有计算data1的条件,且你所说的是avgvalue[1]>avgvalue2[1]是data0的条件啊。。
建议您以后还是自己将公式的基础了解一下,这样至少在沟通上才会更快捷。- Params
- Numeric FastLength(5);
- Numeric SlowLength(20);
- Vars
- NumericSeries AvgValue1;
- NumericSeries AvgValue2;
- numericseries avgvalue21;
- numericseries avgvalue22;
- Begin
- AvgValue1 = AverageFC(Close,FastLength);
- AvgValue2 = AverageFC(Close,SlowLength);
- AvgValue21 = AverageFC(data1.Close,FastLength);
- AvgValue22 = AverageFC(data1.Close,SlowLength);
- PlotNumeric("MA1",AvgValue1);
- PlotNumeric("MA2",AvgValue2);
-
- // 集合竞价和小节休息过滤
- If(!CallAuctionFilter()) Return;
-
- If(data1.MarketPosition ==0 && AvgValue1[1] > AvgValue2[1])
- {
- data1.Buy(1,data1.Open);
- }
-
- If(data1.MarketPosition ==0 && AvgValue1[1] < AvgValue2[1])
- {
- data1.SellShort(1,data1.Open);
- }
- If(data1.MarketPosition ==-1 && AvgValue1[1] > AvgValue2[1] && avgvalue21[1]>avgvalue22[1])
- {
- data1.Buytocover(1,data1.Open);
- }
-
- If(data1.MarketPosition ==1 && AvgValue1[1] < AvgValue2[1] && avgvalue21[1]<avgvalue22[1])
- {
- data1.Sell(1,data1.Open);
- }
- //PlotNumeric("PL",Portfolio_TotalProfit);
- End
复制代码 |
|