- 精华
- 0
- 在线时间
- 92 小时
- UID
- 245134
- 积分
- 65
- 帖子
- 26
- 阅读权限
- 30
- 注册时间
- 2016-12-23
- 最后登录
- 2021-5-15
- 精华
- 0
- UID
- 245134
- 积分
- 65
- 帖子
- 26
- 主题
- 9
- 阅读权限
- 30
- 注册时间
- 2016-12-23
- 最后登录
- 2021-5-15
|
发表于 2017-4-16 11:28:10
|显示全部楼层
本帖最后由 stp100 于 2017-4-16 21:58 编辑
我的代码:
Params
Numeric fastLength(X1);
Numeric fast2Length(X2);
Vars
NumericSeries fastMa;
NumericSeries fast2Ma;
Bool isCrossOver(False);
Bool isCrossUnder(False);
Begin
fastMa=Average(Close[1],fastLength);
fast2Ma=Average(Close[1],fast2Length);
If(BarStatus==2 AND IsCallAuctionTime)
{
Return;
}
isCrossOver=CrossOver(fastMa,fast2Ma);
isCrossUnder=CrossUnder(fastMa,fast2Ma);
If(MarketPosition==0)
{
If(isCrossOver==True)
{
Buy(1,open);
}
}
If(MarketPosition==1)
{
XXXXXX;
}
End
做空就改成crossunder,但是出现了信号闪烁。
当时的情况(一分钟铁矿指数周期映射到1709合约上测试):
1.做多时回测没有信号(2017/4/14、9:02K线,上图白色箭头那根K线),但是实际是开仓,并且更诡异的是也有平仓信号。如果当时信号消失,为什么会有平仓的信号呢?
2.做空时回测有信号,但是实际没有开仓(没有委托发出)。
3.这两种情况都存在上一根或者是当前K线的fastMa=fast2Ma,图里的箭头K线上fastMa=fast2Ma。(绿色为fastMa,蓝色为fastMa2)
我想问的是:
1.close[1]为什么也会闪烁?
2.是crossover和crossunder的问题吗?
3.当时的传输数据和历史数据不一样吗?(查看提示消息,当时系统在8:25左右进行了自动数据重置)
希望小米高手能帮助分析一下。
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|