- 精华
- 0
- 在线时间
- 13 小时
- UID
- 124669
- 积分
- 2
- 帖子
- 1
- 阅读权限
- 10
- 注册时间
- 2012-3-19
- 最后登录
- 2018-6-25
- 精华
- 0
- UID
- 124669
- 积分
- 2
- 帖子
- 1
- 主题
- 1
- 阅读权限
- 10
- 注册时间
- 2012-3-19
- 最后登录
- 2018-6-25
|
发表于 2018-2-13 13:57:13
|显示全部楼层
Params
Numeric y(1);
Numeric py(0);
Vars
Numeric length(10);
Numeric kt(0);
Numeric dt(0);
Numeric kpks(0);
Numeric dpks(0);
Numeric x(6);
Numeric ma;
NumericSeries ma1;
NumericSeries lowestafterentry;
NumericSeries highestafterentry;
Begin
ma1=AverageFC(Close,Length);
PlotNumeric("ma1",ma1);
If(BarStatus==0)
{
kt=0.000000;
dt=0.000000;
kpks=0;
dpks=0;
SetGlobalVar(2,0.000000);
SetGlobalVar(3,0.000000);
SetGlobalVar(6,0);
SetGlobalVar(7,0);
}Else
{
kt=GetGlobalVar(2);
dt=GetGlobalVar(3);
kpks=GetGlobalVar(6);
dpks==GetGlobalVar(7);
}
//空单开仓
If(BarStatus==2 And A_SellPosition==0 And A_GetOpenOrderCount==0 And Close[1]<Open[1] And Close[1]<Close[2])
{
If(A_GetOrderCount==0) //当天还没交易,未发过委托
{
A_SendOrder(Enum_Sell,Enum_Entry,y,Q_BidPrice(1)-py);
kt=Time;
SetGlobalVar(2,kt);
}
If(A_GetOrderCount>0 And CurrentBar-kpks>x)
{
A_SendOrder(Enum_Sell,Enum_Entry,y,Q_BidPrice(1)-py);
kt=Time;
SetGlobalVar(2,kt);
}
}
//多单开仓
If(BarStatus==2 And A_BuyPosition==0 And A_GetOpenOrderCount==0 And Close[1]>Open[1] And Close[1]>Close[2])
{
If(A_GetOrderCount==0) //当天还没交易,未发过委托
{
A_SendOrder(Enum_Buy, Enum_Entry,y,Q_AskPrice(1)+py);
dt=Time;
SetGlobalVar(3,dt);
}
If(A_GetOrderCount>0 And CurrentBar-dpks>x)
{
A_SendOrder(Enum_Buy, Enum_Entry,y,Q_AskPrice(1)+py);
dt=Time;
SetGlobalVar(3,dt);
}
}
//空单平仓
If(BarStatus==2 And A_SellPosition==y And Time==kt And A_GetOpenOrderCount==0)
{
If(Q_AskPrice(1)>=EntryPrice+100)
{
A_SendOrder(Enum_Buy, Enum_ExitToday,y,Q_AskPrice(1)+py);//开仓K线上止损
kpks=CurrentBar;
SetGlobalVar(6,kpks);
}Else lowestafterentry=Min(EntryPrice,Close);
}
If(BarStatus==2 And A_SellPosition==y And Time<>kt And A_GetOpenOrderCount==0)
{
lowestafterentry=Min(lowestafterentry[1],Close[1]);
//PlotString("lae",Text(lowestafterentry))
If(Q_AskPrice(1)>=EntryPrice+100)
{
A_SendOrder(Enum_Buy, Enum_ExitToday,y,Q_AskPrice(1)+py);
kpks=CurrentBar;
SetGlobalVar(6,kpks);
}
If(Q_AskPrice(1)>=ma1[1] And Q_AskPrice(1)>=lowestafterentry+200)
{
A_SendOrder(Enum_Buy, Enum_ExitToday,y,Q_AskPrice(1)+py);
kpks=CurrentBar;
SetGlobalVar(6,kpks);
}
}
//多单平仓
If(BarStatus==2 And A_BuyPosition==y And Time==dt And A_GetOpenOrderCount==0)
{
If(Q_BidPrice(1)<=EntryPrice-100)
{
A_SendOrder(Enum_Sell,Enum_ExitToday,y,Q_BidPrice(1)-py);
dpks=CurrentBar;
SetGlobalVar(7,dpks);
}Else highestafterentry=Max(EntryPrice,Close);
}
If(BarStatus==2 And A_BuyPosition==y And Time<>dt And A_GetOpenOrderCount==0)
{
highestafterentry=Max(highestafterentry[1],Close[1]);
//PlotString("hae",Text(highestafterentry));
If(Q_BidPrice(1)<=EntryPrice-100)
{
A_SendOrder(Enum_Sell,Enum_ExitToday,y,Q_BidPrice(1)-py);
dpks=CurrentBar;
SetGlobalVar(7,dpks);
}
If(Q_BidPrice(1)<=ma1[1] And Q_BidPrice(1)<=highestafterentry-200)
{
A_SendOrder(Enum_Sell,Enum_ExitToday,y,Q_BidPrice(1)-py);
dpks=CurrentBar;
SetGlobalVar(7,dpks);
}
}
//2点55分以后全平
If(BarStatus==2 And Time>=0.14550900 And Time<=0.145900 )
{
If(A_SellPosition==y And A_GetOpenOrderCount==0)
{
A_SendOrder(Enum_Buy, Enum_ExitToday,y,Q_AskPrice+py);
kpks=CurrentBar;
SetGlobalVar(6,kpks);
}
If(A_BuyPosition==y And A_GetOpenOrderCount==0)
{
A_SendOrder(Enum_Sell,Enum_ExitToday,y,Q_BidPrice-py);
dpks=CurrentBar;
SetGlobalVar(7,dpks);
}
}
End |
|