- 精华
- 0
- 在线时间
- 113 小时
- UID
- 41209
- 积分
- 72
- 帖子
- 44
- 阅读权限
- 30
- 注册时间
- 2011-5-23
- 最后登录
- 2013-3-31
- 精华
- 0
- UID
- 41209
- 积分
- 72
- 帖子
- 44
- 主题
- 6
- 阅读权限
- 30
- 注册时间
- 2011-5-23
- 最后登录
- 2013-3-31
|
本帖最后由 jinlifeng 于 2011-12-15 18:18 编辑
Params
Numeric M(50);
Numeric LOTS(1);
Vars
Numeric offset;
Numeric offset1;
NumericSeries MA1;
NumericSeries MA2;
NumericSeries MA11;
NumericSeries MA22;
Numeric spread;
Numeric OPENP;
Begin
offset = 5*MinMove()*PriceScale();
spread=Max(HighD(1)-CloseD(1),CloseD(1)-LowD(1));
OPENP=OpenD(0);
MA1=OPENP+0.01*M*spread;
MA2=OPENP-0.01*M*spread;
MA11=OPENP+0.01*0.5*M*spread;
MA22=OPENP-0.01*0.5*M*spread;
if(Time<=0.0905) {SetGlobalVar(0,0);}
if(Time>0.0905 && Time<=0.1455)
{
If(C[1]<MA2 && MarketPosition()==0 && GetGlobalVar(0)<=1)
{
SellShort(LOTS,C-offset);SetGlobalVar(0,GetGlobalVar(0)+1);
}
If(C[1]>ma1 && MarketPosition()==0 && GetGlobalVar(0)<=1)
{
Buy(LOTS,C+offset);SetGlobalVar(0,GetGlobalVar(0)+1);
}
If(C[1]<MA11 && MarketPosition()==1)
{
Sell(LOTS,C-offset);
}
If(C[1]>MA22 && MarketPosition()==-1)
{
BuyToCover(LOTS,C+offset);
}
}
If(Time>0.1455&&MarketPosition!=0)
{
offset1 = 20*MinMove()*PriceScale();
Sell(0,C-offset);
BuyToCover(0,C+offset1);
}
End
这是根据DUAL-thrust简单改的日内交易系统,加了止损和开仓次数限制,用在分钟线上。但是在运行时有信号消失的问题,检查了一下,没找到问题在哪里,莫非OPENP=OpenD(0);有问题?;改成OPENP=Open[BarsSinceToday()]; 呢?
//具体现象就是:发出信号,开仓成交,随后就有警告说信号消失,图上的信号消失,打开公式再校验一下,图上信号再出现。。。我每天就盯着看它出现再消失然后打开公式再校验,看信号再出现。。。。。。。。。。。。 |
|