- 精华
- 0
- 在线时间
- 26 小时
- UID
- 10937
- 积分
- 128
- 帖子
- 36
- 阅读权限
- 40
- 注册时间
- 2010-5-25
- 最后登录
- 2020-11-20
- 精华
- 0
- UID
- 10937
- 积分
- 128
- 帖子
- 36
- 主题
- 16
- 阅读权限
- 40
- 注册时间
- 2010-5-25
- 最后登录
- 2020-11-20
|
本帖最后由 langtu 于 2011-9-29 10:14 编辑
应用于豆粕1205 1分钟出错 有的地方正确 有的地方不正确 求原因
============================================================
Params
Numeric aaa(20);
Vars
NumericSeries a;
NumericSeries b;
Bool aa;
NumericSeries cun;
NumericSeries hi;
NumericSeries lo;
Numeric e;
Numeric mi;
Numeric cc;
Bool a1;
Bool b1;
Bool a2;
Bool b2;
Begin
aa=Hour==10 && Minute>=30;
If(BarType==1 &&BarInterval<=15 )
{
If(Hour==14)
{
a=165+Minute;
}
Else if(Hour==13)
{
a=105+Minute;
}
Else If(Hour==11)
{
a=105+Minute;
}
Else If( aa)
{
a=75+Minute-30;
}
Else
a=(Hour-9)*60+Minute;
}
Else If(BarType==1 &&BarInterval>15 )
{
If(Hour>12)
{
a=120+(Hour-13)*60+Minute;
}
Else
a=(Hour-9)*60+Minute;
}
b=RoundUp((a+1)/BarInterval,0);
mi = MinMove*PriceScale;
/*If((h-l)>aaa*1.25)
cc=h-l;
Else
cc=aaa;
e=RoundUp(cc/4/mi,0)*mi;
*/
e=RoundUp(aaa/4,0);
a1=CrossOver(h,cun[1]+e);
b1=CrossUnder(l,cun[1]-e);
a2=CrossOver(h,lo[1]+e);
b2=CrossUnder(l,hi[1]-e);
if(b==1)
{
cun=o;
hi=o;
lo=o;
}
Else
{
if(a1)
{
Buy(0,cun[1]+e+5);
hi=h;
lo=InvalidNumeric;
}
Else if(b1)
{
SellShort(0,cun[1]-e-5);
hi=InvalidNumeric;
lo=l;
}
Else if(b2)
Sell(0,hi[1]-e-5);
Else if(a2)
BuyToCover(0,lo[1]+e+5);
if(MarketPosition<>0)
cun=LastEntryPrice;
Else
cun=ExitPrice;
if(MarketPosition==1)
{ hi=Max(hi[1],h);
lo=InvalidNumeric;}
Else if(MarketPosition==-1)
{ hi=InvalidNumeric;
lo=Min(l,lo[1]);}
Else
{hi=cun+e;
lo=cun-e;
}
PlotNumeric("cun",cun[1]);
PlotNumeric("hi",hi[1]);
PlotNumeric("lo",lo[1]);
}
End |
|