- 精华
- 0
- 在线时间
- 297 小时
- UID
- 32409
- 积分
- 896
- 帖子
- 224
- 阅读权限
- 60
- 注册时间
- 2011-4-7
- 最后登录
- 2017-1-15
- 精华
- 0
- UID
- 32409
- 积分
- 896
- 帖子
- 224
- 主题
- 4
- 阅读权限
- 60
- 注册时间
- 2011-4-7
- 最后登录
- 2017-1-15
|
Params
Numeric Length(9);
Numeric SlowLength(3);
Vars
NumericSeries HighestValue;
NumericSeries LowestValue;
NumericSeries K001;//正规K
NumericSeries RSV001;
NumericSeries Kvalue50(0);
NumericSeries Kvalue51(0);
NumericSeries myhigh5;
NumericSeries BarsCounter(0);
NumericSeries mycurrenttime;
NumericSeries mylow5;
NumericSeries sumtodayK50(0);
NumericSeries sumtodayK51(0);
NumericSeries sumsinceentryK50(0);
NumericSeries sumsinceentryK51(0);
NumericSeries condbuy(0);
NumericSeries condsell(0);
Begin
If (Date!=Date[1])
{
BarsCounter=1;
mycurrenttime=Time;
}
else if (time!=mycurrenttime)
{ BarsCounter=BarsCounter[1]+1;
mycurrenttime=time;
}
if (date!=date[1]) SetGlobalVar(0,0);
HighestValue = HighestFC(High, Length);
LowestValue = LowestFC(Low, Length);
RSV001 = (Close-LowestValue)/(HighestValue-LowestValue)*100;//计算RSV
K001 = SMA(RSV001,SlowLength,1);
IF (DATE[1]==DATE[2] && DATE==DATE[1])
{
Kvalue50=IIF(k001>=50 && k001[1]>=50 && k001[2]<50,1,0);
If(Kvalue50==1)
{
myhigh5 = IIF(HIGH>HIGH[1],HIGH,HIGH[1]);
}
Kvalue51=IIF(k001<50 && k001[1]<50 && k001[2]>=50,1,0);
If(Kvalue51==1)
{
mylow5 = IIF(low<low[1],low,low[1]);
}
PlotNumeric("MyHigh5",myhigh5);
PlotNumeric("mylow5 ",mylow5);
sumtodayK50=Summation(Kvalue50,BarsCounter);
sumtodayK51=Summation(Kvalue51,BarsCounter);
if(BarsSinceEntry>0)
{
sumsinceentryK50=Summation(Kvalue50,BarsSinceEntry);
sumsinceentryK51=Summation(Kvalue51,BarsSinceEntry);
}
else
{
sumsinceentryK50=0;
sumsinceentryK51=0;
}
if (marketposition==0)
{
condbuy=IIF(close>myhigh5 && sumtodayK50!=0,1,0);
condsell=IIF(close<mylow5 && SumtodayK51!=0,1,0);
}
else if (marketposition==1)
{
condsell=IIF(close<mylow5 && sumsinceentryK51!=0,1,0);
condbuy=0;
}
else if (marketposition==-1)
{
condbuy=IIF(close>myhigh5 && SumsinceentryK50!=0,1,0);
condsell=0;
}
if(condbuy[1]==1 && GetGlobalVar(0)!=1 && MarketPosition!=1) //符合买入条件, 同时上次开仓方向不是多单
{
Buy(1,OPEN);
SetGlobalVar(0,1); // 使用全局变量记录开仓方向
}
if(condsell[1]==1 && GetGlobalVar(0)!=-1 && MarketPosition!=-1)
{
SellShort(1,OPEN);
SetGlobalVar(0,-1); // 使用全局变量记录开仓方向
}
If(Time >= 0.1505)
{
Sell(1,Open);
BuyToCover(1,Open);
}
}
else
{ Kvalue50=0;
Kvalue51=0;
condbuy=0;
condsell=0;
}
END |
|