- 精华
- 0
- 在线时间
- 194 小时
- UID
- 251844
- 积分
- 115
- 帖子
- 39
- 阅读权限
- 30
- 注册时间
- 2017-5-31
- 最后登录
- 2018-2-7
- 精华
- 0
- UID
- 251844
- 积分
- 115
- 帖子
- 39
- 主题
- 19
- 阅读权限
- 30
- 注册时间
- 2017-5-31
- 最后登录
- 2018-2-7
|
想表达最高价>=50日高点就开多
最低价<=50日最低点就开空
平多:最低价<=20日最低点
平空:最高价>=20日最高点
这是我从MC语言翻译过来的,回测记录不对,谁能帮我看看是哪写错了,拜托
Params
Numeric Lots(1);
Vars
NumericSeries MA1;
NumericSeries MA2;
NumericSeries MA3;
NumericSeries MA4;
Begin
//集合竞价和小节休息过滤
If (!CallAuctionFilter())Return;
MA1=Highest(High,50);
MA2=Lowest(Low,50);
MA3=Highest(High,20);
MA4=Lowest(Low,20);
PlotNumeric("MA1",MA1);
PlotNumeric("MA2",MA2);
PlotNumeric("MA3",MA3);
PlotNumeric("MA4",MA4);
//进场条件
if (MarketPosition!=1 And High[1]>=MA1[2])//多
{
Buy(Lots,Max(open,MA1[1]));
}
if (MarketPosition!=-1 And Low[1]<=MA2[2])//空
{
SellShort(Lots,Min(open,MA2[1]));
}
//出场条件
if (marketposition==1 And Low[1]<=MA4[2])//平多
{
BuyToCover(0,Min(open,MA4[1]));
}
if (marketposition==-1 And High[1]>=MA3[2])//平空
{
Sell(0,Max(open,MA3[1]));
}
End |
|