- 精华
- 0
- 在线时间
- 13 小时
- UID
- 424
- 积分
- 53
- 帖子
- 9
- 阅读权限
- 30
- 注册时间
- 2007-9-26
- 最后登录
- 2019-4-26
- 精华
- 0
- UID
- 424
- 积分
- 53
- 帖子
- 9
- 主题
- 3
- 阅读权限
- 30
- 注册时间
- 2007-9-26
- 最后登录
- 2019-4-26
|
系统原理:
开多条件:同时满足成交量大于5天和30天的均量线,收盘价大于前8根k线之中得最高价开仓
平仓条件:1、收盘价小于前1根k线得最低价平仓
2、收盘价小于最高价与最低价之和的1/2也平仓
问题在于没满足条件系统出现信号,请老师帮忙解决,谢谢!
我编的代码如下:
Params
Numeric Length1(5);
Numeric Length2(10);
Numeric Length3(30);
Vars
NumericSeries VolMA1;
NumericSeries VolMA2;
NumericSeries VolMA3;
Begin
VolMA1=AverageFC(Vol, Length1);
VolMA2=AverageFC(Vol, Length2);
VolMA3=AverageFC(Vol, Length3);
If(Time > 0.090500 && Time < 0.145500) // 时间在9:05分之后,14:55之前
{
If(MarketPosition == 0)
{
If(C>h[8] And vol>volma1 And Vol>volma3) // 开多仓
{
Buy(1,c);
Return;
}
If(C<l[8] And vol>volma1 And Vol>volma3) // 开空仓
{
SellShort(1,c);
Return;
}
}
If(MarketPosition == 1 And C<l[1] ) // 平多仓
{
Sell(0,c);
}
If(MarketPosition == -1 And C>h[1] ) // 平空仓
{
BuyToCover(0,c);
}
If(MarketPosition == 1 And c<(h+L)/2) // 平多仓
{
Sell(0,c);
}
If(MarketPosition == -1 And c>(h+l)/2) // 平空仓
{
BuyToCover(0,c);
}
}
If(Time >= 0.145500) // 时间在14:55之后
{
If(MarketPosition == 1)
{
Sell(0,c);
}Else If(MarketPosition == -1)
{
BuyToCover(0,c);
}
}
End |
|