MACDSimpleReshetov

Author: Copyright � 2006, Yury V. Reshetov ICQ: 282715499
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself It automatically opens orders when conditions are reached
Indicators Used
MACD Histogram
Miscellaneous
It sends emails
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
68.00 %
Total Trades 70
Won Trades 0
Lost trades 0
Win Rate 0.00 %
Expected payoff -77.11
Gross Profit 11736.00
Gross Loss -17134.00
Total Net Profit -5398.00
-100%
-50%
0%
50%
100%
GBP/USD Oct 2024 - Jan 2025
23.00 %
Total Trades 28
Won Trades 5
Lost trades 23
Win Rate 0.18 %
Expected payoff -330.43
Gross Profit 2732.00
Gross Loss -11984.00
Total Net Profit -9252.00
-100%
-50%
0%
50%
100%
MACDSimpleReshetov
//+------------------------------------------------------------------+
//|                                           MACDSimpleReshetov.mq4 |
//|                               Copyright © 2006, Yury V. Reshetov |
//|                                         http://reshetov.xnet.uz/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Yury V. Reshetov ICQ: 282715499"
#property link      "http://reshetov.xnet.uz/"
//---- Âõîäíûå è ïð. ïàðàìåòðû
//Lots - îáúåì îòêðûòûõ ïîçèöèé
extern double Lots = 2;
// Ñìåùåíèå (ïðèðàùåíèå) ïåðèîäà áûñòðîé ñêîëüçÿùåé ñðåäíåé
// ê ïåðèîäó ñèãíàëüíîé ëèíèè
extern int  DF = 1;
// Ñìåùåíèå (ïðèðàùåíèå) ïåðèîäà ìåäëåííîé ñêîëüçÿùåé ñðåäíåé
// ê ïåðèîäó áûñòðîé ñêîëüçÿùåé ñðåäíåé
extern int  DS = 2;
// Ïåðèîä ñèãíàëüíîé ëèíèè
extern int  SignalPeriod = 10;
// prevtime - ïðåäûäóùåå âðåìÿ (ïðåäûäóùåãî áàðà)
static int prevtime = 0;
//+------------------------------------------------------------------+
//| Ôóíêöèÿ èíèöèàëèçàöèè                                            |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Äåèíèöèàëèçèðóþùàÿ ôóíêöèÿ                                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Ôóíêöèÿ start                                                    |
//+------------------------------------------------------------------+
int start()
  {
   // Òèêåò ïîçèöèè
   int ticket = 0;
   // Ïðîâåðèì, ñôîðìèðîâàëñÿ ëè íîâûé áàð? 
   // Åñëè íå ñôîðìèðîâàëñÿ, òî âûõîäèì.
   // Ýòî ïîçâîëèò èçáåæàòü ëîæíûõ ñðàáàòûâàíèé âî ôëýòå è ðåíäæå
   if(Time[0] == prevtime) 
       return(0);
   // Çàïîìíèì òåêóùåå âðåìÿ
   prevtime = Time[0];
   // Çíà÷åíèå îñíîâíîé ëèíèè MACD
   double main = iMACD(Symbol(), 0, SignalPeriod + DF, SignalPeriod + DS + DF, 
                       SignalPeriod, PRICE_CLOSE, MODE_MAIN, 0);
   // Çíà÷åíèå ñèãíàëüíîé ëèíèè MACD
   double signal = iMACD(Symbol(), 0, SignalPeriod + DF, SignalPeriod + DS + DF, 
                         SignalPeriod, PRICE_CLOSE, MODE_SIGNAL, 0); 
   // îòêðûòûå ïîçèöèè
   int total = OrdersTotal();
   for(int cnt = 0; cnt < total; cnt++) 
     {
       // Íó-êà ãëÿíåì
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
       int tick = OrderTicket();
       double openprice = OrderOpenPrice();
       double closeprice = Bid;
       double comission = OrderCommission();
       double swap = OrderSwap();
       double profit = OrderProfit();
       // Ñëó÷àéíî, ýòî íå íàø èíñòðóìåíò?
       if(OrderSymbol() == Symbol()) 
         { // Àãà! Îí ñàìûé
           // Çäåñü ìû ïîêóïàëè, à ñèãíàë íà ïðîäàæó
           if(OrderType() == OP_BUY && main < 0) 
             {
              // Òàê äåëî íå ïîéäåò, âûõîäèì èç ðûíêà
              if(OrderClose(OrderTicket(), OrderLots(), closeprice, 3, Blue)) 
                {
                 // Îòïðàâèì âåñòî÷êó èíâåñòîðó
                 SendMail("Close buy position " + Symbol(), "Order #" + 
                    tick + ", close at price " + closeprice + " with profit $" + 
                    profit + ".\nOpen price " + openprice + "\nComission " + 
                    comission + "\nSwap " + swap + ".\n___\nBalance $" + 
                    AccountBalance() + "\nEquity $" + AccountEquity() + "\nTotalProfit $" + 
                    AccountProfit() + "\nFreeMargin $" + AccountFreeMargin());
                }
              return(0);
             }  
           // Çäåñü ìû ïðîäàâàëè, à ñèãíàë íà ïîêóïêó
           if(OrderType() == OP_SELL && main > 0) 
             {
              closeprice = Ask;
              // Âåðíèòå íàøè äåíåæêè èëè òî, ÷òî îò íèõ îñòàëîñü
              if(OrderClose(OrderTicket(), OrderLots(), closeprice, 3, Red)) 
                {
                 // Îòïðàâèì âåñòî÷êó èíâåñòîðó
                 SendMail("Close Sell position " + Symbol(), "Order #" + 
                 tick + ", close at price " + closeprice + " with profit $" + 
                 profit + ".\nOpen price " + openprice + "\nComission " + 
                 comission + "\nSwap " + swap + ".\n___\nBalance $" + 
                 AccountBalance() + "\nEquity $" + AccountEquity() + "\nTotalProfit $" + 
                 AccountProfit() + "\nFreeMargin $" + AccountFreeMargin());
                }
              return(0);
             }
           // Îòêðûòàÿ ïîçèöèÿ íà ýòîì èíñòðóìåíòå óæå åñòü, âòîðóþ îòêðûâàòü íå áóäåì, 
           // à ëó÷øå çàâåðøèì ðàáîòó ýêñïåðòà
           return(0);
         }
     }
   // Åñëè îáå ëèíèè ïî îäíó ñòîðîíó ôðîíòà, òî âõîäèì â ðûíîê
   if((main * signal) > 0) 
     {
       // Åñëè ñèãíàë íà ïîêóïêó
       if(main > 0) 
         {
           // Çíà÷èò êóïèì
           if(main > signal)
               ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, "MACDSimple", 
                                  888, 0, Blue);
           return(0); 
         } 
       else 
         {
           // Çäåñü ìû ïðîäàåì
           if (main < signal)
              ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, "MACDSimple", 
                                 888, 0, Red);
           return(0); 
         }
     }
   return(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 ---