AutoTraderRus

Author: Copyright 2016, AM2
0 Views
0 Downloads
0 Favorites
AutoTraderRus
//+------------------------------------------------------------------+
//|                                                   AutoTrader.mq5 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"

#define VK_CONTROL 0x11 //CTRL key
#define KEY_CODE   'E'

// Ïîäêëþ÷àåì áèáëèîòåêó Windows äëÿ ðàñïîçíàâàíèÿ íàæàòèÿ êëàâèø
#import "user32.dll"
void  keybd_event(int bVk,int bScan,int dwFlags,int dwExtraInfo);
#import

// Èñïîëüçóåì êëàññ CTrade
#include<Trade\Trade.mqh>

//Îáúåêò êëàññà CTrade
CTrade trade;

// Îáúåêò êëàññà CPositionInfo
CPositionInfo position;

// Âõîäíûå ïåðåìåííûå
input int StartHour   = 9;   // ×àñ íà÷àëà òîðãîâëè
input int StartMinute = 30;  // Ìèíóòà íà÷àëà òîðãîâëè
input int StopHour    = 23;  // ×àñ îêîí÷àíèÿ òîðãîâëè
input int StopMinute  = 30;  // Ìèíóòà îêîí÷àíèÿ òîðãîâëè
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|  Íàæèìàåì êëàâèøè Ctrl+E                                         |
//+------------------------------------------------------------------+
void Key()
  {
   keybd_event(VK_CONTROL,0,0,0);
   Sleep(10);
   keybd_event(KEY_CODE,0,0,0);
   Sleep(10);
   keybd_event(KEY_CODE,0,2,0);
   Sleep(10);
   keybd_event(VK_CONTROL,0,2,0);
  }
//+------------------------------------------------------------------+
//|   Ïðîâåðêà âðåìåíè òîðãîâëè                                      |
//+------------------------------------------------------------------+
bool TimeSession(int aStartHour,int aStartMinute,int aStopHour,int aStopMinute,datetime aTimeCur)
  {
//--- âðåìÿ íà÷àëà ñåññèè
   int StartTime=3600*aStartHour+60*aStartMinute;
//--- âðåìÿ îêîí÷àíèÿ ñåññèè
   int StopTime=3600*aStopHour+60*aStopMinute;
//--- òåêóùåå âðåìÿ â ñåêóíäàõ îò íà÷àëà äíÿ
   aTimeCur=aTimeCur%86400;
   if(StopTime<StartTime)
     {
      //--- ïåðåõîä ÷åðåç ïîëíî÷ü
      if(aTimeCur>=StartTime || aTimeCur<StopTime)
        {
         return(true);
        }
     }
   else
     {
      //--- âíóòðè îäíîãî äíÿ
      if(aTimeCur>=StartTime && aTimeCur<StopTime)
        {
         return(true);
        }
     }
   return(false);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
// çàêðûâàåì âñå ïîçèöèè ïî âðåìåíè
   if(!TimeSession(StartHour,StartMinute,StopHour,StopMinute,TimeCurrent()))
     {
      for(int i=0; i<PositionsTotal(); i++)
        {
         if(position.Select(PositionGetSymbol(i)))
           {
            // çàêðûòü îòêðûòóþ ïîçèöèþ ïî ýòîìó ñèìâîëó
            trade.PositionClose(PositionGetSymbol(i));
           }
        }
     }

// âêëþ÷àåì ïî âðåìåíè
   if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)==0 && TimeSession(StartHour,StartMinute,StopHour,StopMinute,TimeCurrent())) Key();
// âûêëþ÷àåì ïî âðåìåíè
   if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)==1 && !TimeSession(StartHour,StartMinute,StopHour,StopMinute,TimeCurrent())) Key();

   Comment("\n Enable: ",TerminalInfoInteger(TERMINAL_TRADE_ALLOWED),
           "\n Time: ",TimeCurrent());
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---