开拓者期货期权程序化系统交易论坛
标题:
新手编程完成,但是回测全都是0,请求老师解答
[打印本页]
作者:
villa7777777
时间:
2016-10-24 16:41:33
标题:
新手编程完成,但是回测全都是0,请求老师解答
Params
Numeric MALength1(300); //过滤器短期均线值
Numeric MALength2(600); //过滤器长期均线值
Numeric MALength3(60); //系统信号均线值
Numeric ATRLength(10); //ATR的长度值
Numeric ProtectStopATRMulti(1); //保护性止损的ATR乘数
Numeric TrailStopATRMulti(2.5); //跟踪止损的ATR乘数
Numeric Lots(1); //手数
Numeric ProfitStopATRMulti(3); //止盈ATR乘数
Vars
NumericSeries MA1(0); //过滤器短期均线
NumericSeries MA2(0); //过滤器长期均线
NumericSeries MA3(0); //系统信号均线
NumericSeries ATR(0); //ATR
NumericSeries N; //N
NumericSeries MyEntryPrice; //开仓价格
NumericSeries MyExitPrice; //平仓价格
Begin
// 集合竞价和小节休息过滤
If(!CallAuctionFilter()) Return;
MA1 = AverageFC(C,MALength1);
MA2 = AverageFC(C,MALength2);
MA3 = AverageFC(C,MALength3);
ATR = AvgTrueRange(ATRLength);
If(MarketPosition ==0 )
//当300,600均线多头排列,上一根K线上穿60均线时,以当前K线开盘价做多1手
{
If(Close[1] > MA1 and MA1 > MA2 and Close[2]< MA3 and Close[1] > MA3)
{
Buy(Lots,Open);
/
N = ATR[1];
MyEntryPrice=Open;
}
}
If(MarketPosition == 1 and BarsSinceEntry > 0)
//持有多单时,止盈空间3ATR,止损空间1ATR
{
if(High>= MyEntryPrice+ ProfitStopATRMulti* N)
{
MyExitPrice= MyEntryPrice+ ProfitStopATRMulti* N;
If(Open> MyExitPrice) MyExitPrice=Open;
Sell(Lots, MyExitPrice);
}
//基于ATR的止盈
Else if(Low<= MyEntryPrice - ProtectStopATRMulti*N)
{
MyExitPrice= MyEntryPrice - ProtectStopATRMulti*N;
If(Open< MyExitPrice) MyExitPrice=Open;
Sell(Lots, MyExitPrice);
}
}
End
请问老师,编译完成,在K线图上可以显示开仓平仓位置,为什么回测结果都是0,谢谢老师了!
作者:
china_lizhi
时间:
2016-10-25 10:35:35
If(Close[1] > MA1[1] and MA1[1] > MA2[1] and Close[2]< MA3[1] and Close[1] > MA3[1])
[1]很多地方得注意加这个
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2