MT4代码学习---简单的定时开仓策略
我们交易中有时候会用到定时开仓策略,该策略需要我们在指定时间进行下单操作,比如在下午欧洲盘开盘的时候,使用伦敦盘突破进行开仓。下面我们讲一下该类型策略的源码。
直接上定时开仓源码:
void OnTick()
{
iTimeControl(11,06, 12,03);
}
//+------------------------------------------------------------------+
bool timeorder=false;//该变量需要在程序头定义
bool iTimeControl(int myStartHour,int myStartMinute, int myStopHour,int myStopMinute)
{ if (Hour()==0 && Minute()==0)
timeorder=false;//新的一天变量初始化
if (Hour()==myStopHour && Minute()==myStopMinute+1)//满足结束时间条件
{
timeorder=false;
}
if (Hour()==myStartHour && Minute()==myStartMinute)//满足开始时间条件
{
timeorder=true;
OrderSend(Symbol(),OP_BUY,0.1,Ask,300,Ask-1000*Point,Ask+1000*Point,"jay",123654,0,clrRed);
}
return(timeorder);
} 主函数ontick中我们调用了一个函数:iTimeControl,然后在下面进行子函数定义。
bool iTimeControl(int myStartHour,int myStartMinute, int myStopHour,int myStopMinute)
{ if (Hour()==0 && Minute()==0)
timeorder=false;//新的一天变量初始化
if (Hour()==myStopHour && Minute()==myStopMinute+1)//满足结束时间条件
{
timeorder=false;
}
if (Hour()==myStartHour && Minute()==myStartMinute)//满足开始时间条件
{
timeorder=true;
OrderSend(Symbol(),OP_BUY,0.1,Ask,300,Ask-1000*Point,Ask+1000*Point,"jay",123654,0,clrRed);
}
return(timeorder);
}
其中调用了一个bool型变量,以控制是否开仓。函数中调用了四个参数,分别是开始时间(小时,分钟),结束时间(小时分钟)。然后在这个时间之外的所有时间都不开仓,在这个时间之内进行开仓操作。
特别提示:以上代码仅限于策略学习使用,因为依据以上代码交易会出现大量同时开仓现象,仅供学习之用。
页:
[1]