timer_trade

Author: Oschenker
Price Data Components
2 Views
0 Downloads
0 Favorites
timer_trade
//+------------------------------------------------------------------+
//|                                                  Timer Trade.mq5 |
//|                                                        Oschenker |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Oschenker"
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- Âõîäíûå ïàðàìåòðû
input int      TimerTime=30; //Çàäåðæêà òàéìåðà (ñåê).
input int      TradeValue = 1; // Ðàáî÷èé ëîò
input int      StopLossLevel = 10; // Stop Loss (points)
input int      TakeProfitLevel = 50; //Âåëè÷èíà Take Profit (points)

//--- Âêëþ÷åíèå ñòàíäàðòíîé òîðãîâîé áèáëèîòåêè
#include <Trade\Trade.mqh>;

CTrade  trade;

int Trigger = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   if(EventSetTimer(TimerTime * 100)) Print("Timer Setup to ", TimerTime, " sec.");
   else Print("Timer Error ", GetLastError());   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- Ñîáûòèå íå èñïîëüçóåòñÿ
   
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- Ïîñòóïèë ñèãíàë îò òàéìåðà - îòìåòèì â ëîãå
  Print("Time to Deal");
  
//--- Çàêëþ÷èì ñäåëêó ïîêóïêè èëè ïðîäàæè â çàâèñèìîñòè îò ïîëîæåíèÿ òðåããåðà
   if(Trigger == 0)
   {
      if(!trade.Buy( TradeValue, NULL, 0, SymbolInfoDouble(Symbol(), SYMBOL_BID) - Point() * StopLossLevel, SymbolInfoDouble(Symbol(), SYMBOL_ASK) + Point() * TakeProfitLevel)) 
         {
               
//--- Ïîêóïêà íåóäàëàñü               
         Print("Ìåòîä Buy() ïîòåðïåë íåóäà÷ó. Êîä âîçâðàòà=",trade.ResultRetcode(),". Îïèñàíèå êîäà: ",trade.ResultRetcodeDescription());
         }
      else
         {
///---  ñëó÷àå óäà÷íîé ïîêóïêè ïåðåêëþ÷èì òðèããåð
         Trigger = 1;
         }
     }
    if(Trigger == 1)
         {
         if(!trade.Sell( TradeValue, NULL, 0, SymbolInfoDouble(Symbol(), SYMBOL_ASK) + Point() * StopLossLevel, SymbolInfoDouble(Symbol(), SYMBOL_BID) - Point() * TakeProfitLevel)) 
               {
//--- Ïðîäàæà íåóäàëàñü
               Print("Ìåòîä Sell() ïîòåðïåë íåóäà÷ó. Êîä âîçâðàòà=",trade.ResultRetcode(),". Îïèñàíèå êîäà: ",trade.ResultRetcodeDescription());
               }
             else
               {
///---  ñëó÷àå óñïåøíîé ïðîäàæè ïåðåêëþ÷èì òðèããåð
         Trigger = 0;
               }
         }
    }
//+------------------------------------------------------------------+

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 ---