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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---