本帖最后由 陈小熊 于 2015-8-14 13:03 编辑
//+------------------------------------------------------------------+
//| test1.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, 外汇之家-陈小熊."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
extern string flag1 = "开始时间,这个不是北京时间,具体自己换算";
input int starttime = 6;
extern string flag2 = "停止时间";
input int endtime = 11;
extern string flag3 = "K线长度(小点计算)";
input int K_len = 100;
bool ispause = flase;
int OnInit()
{
//--- create timer
EventSetTimer(60);
Print(Hour());
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//-- if(ispause)
return ;
//设置的时间之外不交易
if(Hour() < starttime || Hour() > endtime || starttime >= endtime)
return ;
//当K线最高价和最低价之差大于设置的值,全平
double point = MathAbs(iHigh(Symbol(), PERIOD_M15, 1) - iLow(Symbol(), PERIOD_M15, 1)) / Point;
if(point > K_len)
{
ispause = true;
for(int i = 0; i < OrdersTotal(); i ++)
{
int os = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() == OP_SELL)
{
while(!OrderClose(OrderTicket(), OrderLots(), Ask, 10, clrWhite))
{
Sleep(1000);
}
}
else if(OrderType() == OP_BUY)
{
while(!OrderClose(OrderTicket(), OrderLots(), Bid, 10, clrWhite))
{
Sleep(1000);
}
}
}
}
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
}
//+------------------------------------------------------------------+
//| Tester function |
//+------------------------------------------------------------------+
double OnTester()
{
//---
double ret=0.0;
//---
//---
return(ret);
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
}
//+------------------------------------------------------------------+
|