Trend_way_Pending

Author: Apostol-Aristotel
Orders Execution
Checks for the total of open ordersIt can change open orders parameters, due to possible stepping strategyIt automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites

Profitability Reports

AUD/USD Oct 2024 - Jan 2025
0.00 %
Total Trades 0
Won Trades 0
Lost trades 0
Win Rate 0.0 %
Expected payoff 0.00
Gross Profit 0.00
Gross Loss 0.00
Total Net Profit 0.00
-100%
-50%
0%
50%
100%
Trend_way_Pending
//+------------------------------------------------------------------+
//|                                            Trend_way_Pending.mq4 |
//|                                                Apostol-Aristotel |
//|                                  http://www.apostol-aristotel.ru |
//+------------------------------------------------------------------+
#property copyright "Apostol-Aristotel"
#property link      "http://www.apostol-aristotel.ru"
extern int TakeProfit=30;
extern int StopLoss=30;
extern int padding=50;
extern int Pending=1;
extern int Magic=678; // Magic òîëüêî äëÿ îòëîæåííûõ îðäåðîâ
int ticketB, ticketS, modify, Sell_Orders, Buy_Orders, Pending_Orders, sl; // Modify-áûë ëè îðäåð ìîäèôèöèðîâàí, 1 - äà, 0 - íåò. ticetB - òèêåò äëÿ îòëåæåííûõ îðäåðîâ íà ïîêóïêó, ticketS - íà ïðîäàæó.
 // sl - óðîâåíü òðåéëèíãà, îïðåäåëÿåòñÿ àâòîì. è = ìèí. ñòîïëîññó
extern double Lots;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    if(OrdersTotal()==0)
     {
      Sell_Orders=0;
      Buy_Orders=0;
      Pending_Orders=0;
      Lots=0;
      modify=0;
     }
    for (int i=1; i<=OrdersTotal(); i++)       //Öèêë ïî âñåì îðäåðàì,..
     {                                         //îòðàæ¸ííûì â òåðìèíàëå
      if(OrderSelect(i-1,SELECT_BY_POS)==true) // âûáèðàåì îðäåð
        {
         sl=MarketInfo(Symbol(),MODE_STOPLEVEL);   // Îïðåäåëÿåì ìèíèìàëüíûé ñòîï ëîññ                                     
         if(OrderType()==OP_BUY)
          {
           if(modify==0)
            {
             OrderModify(OrderTicket(),0,OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Blue); // Ìîäèôèöèðóåì (èçìåíÿåì òï è ñë) îðäåð íà ïîêóïêó îòíîñèòåëüíî öåíû îòêðûòèÿ
             modify++;
             Buy_Orders++;
             Lots=OrderLots();
            }
           if(Bid>sl*Point+OrderOpenPrice())                              // Åñëè äîñòèãíóò óðîâåíü áåçóáûòêà
            OrderModify(OrderTicket(),0,Bid-Point*sl,OrderTakeProfit(),0,Blue); // Ìîäèôèöèðóåì îðäåð
           if(OrderTakeProfit()==Bid || OrderStopLoss()>OrderOpenPrice())                    // Åñëè ó îðäåðà òï èëè ñðàáîòàë òðåéëèíã
            {
             if(OP_SELLSTOP==1)                                        // Åñëè åñòü îòëîæåííèêè íà ïðîäàæó
              OrderDelete(ticketS);                                    // Óäàëÿåì åãî
            }
          }
         if(OrderType()==OP_SELL)
          {
           if(modify==0)
            {
             OrderModify(OrderTicket(),0,OrderOpenPrice()+Point*StopLoss,OrderOpenPrice()-Point*TakeProfit,0,Blue); // Ìîäèôèöèðóåì (èçìåíÿåì òï è ñë) îðäåð íà ïðîäàæó îòíîñèòåëüíî öåíû îòêðûòèÿ
             modify++;
             Sell_Orders++;
             Lots=OrderLots();
            }
           if(Ask<OrderOpenPrice()-sl*Point)                               // Åñëè äîñòèãíóò óðîâåíü áåçóáûòêà
             OrderModify(OrderTicket(),0,Ask+Point*sl,OrderTakeProfit(),0,Blue); // Ìîäèôèöèðóåì îðäåð
           if(OrderTakeProfit()==Ask || OrderStopLoss()<OrderOpenPrice())                    // Åñëè òï ó îðäåðà íà ïðîäàæó èëè ñðàáîòàë òðåéëèíã
            {
             if(OP_BUYSTOP==1)                                             // Åñëè åñòü îòëîæåííèêè íà ïîêóïêó
              OrderDelete(ticketB);                                      // Óäàëÿåì åãî
            }
          }
         if((OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) && OrderMagicNumber()==Magic && Pending_Orders<2  && Pending==1) // Åñëè îðäåð îòëîæåííûâé è ñåé÷àñ òîëüêî 1 îðäåð îòëîæåí
           Pending_Orders++;
        }
     } 

     if(Pending_Orders==0 && Pending==1) // Åñëè îòëîæåííûõ îðäåðîâ íåò è îòëîæåííèêè âêëþ÷åíû
      {
       if(Sell_Orders==1) // Åñëè åñòü îðäåð íà ïðîäàæó
        {
         ticketB++;
         OrderSend(Symbol(),OP_BUYSTOP,2*Lots,Ask+padding*Point,3,Bid-2*StopLoss*Point+padding*Point,Bid+0.5*TakeProfit*Point+padding*Point,"My order #"+ticketB,Magic,0,Green); //Ñòàâèì îòëîæåííûé íà ïîêóïêó
        }
       if(Buy_Orders==1)  // Åñëè åñòü îðäåð íà ïîêóïêó
        {
         ticketS++;
         OrderSend(Symbol(),OP_SELLSTOP,2*Lots,Bid-padding*Point,3,Ask+2*StopLoss*Point-padding*Point,Ask-0.5*TakeProfit*Point-padding*Point,"My order #"+ticketS,Magic,0,Green); //Ñòàâèì îòëîæåííûé íà ïðîäàæó
        }
      }
      
      if(OrderType()==OP_BUYSTOP && Pending==1) // Åñëè îòëîæåííûé îðäåð íà ïîêóïêó
       {
        if(OrderSelect(ticketB, SELECT_BY_TICKET)==true)  // Åñëè åãî óäàëîñü âûáðàòü
         {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && Bid-Point*sl>OrderOpenPrice()) // Åñëè ñèìâîë ãðàôèêà = ñèìâîëó ñäåëêè, åñëè ìàãè÷åñêèé íîìåð ñîâïàäàåò, è äîñòèãíóò óð. áåçóáûòêà
           if(Bid-Point*sl>OrderStopLoss()) OrderModify(OrderTicket(),0,Bid-Point*sl,OrderTakeProfit(),0,Blue); // Åñëè óðîâåíü íàñòîÿùåãî ñòîïà áîëüøå óñòàíîâëåííîãî, òî äâèãàåì ñòîï
         }
       }
       if(OrderType()==OP_SELLSTOP  && Pending==1)// Åñëè îòëîæåííûé îðäåð íà ïðîäàæó
       {
        if(OrderSelect(ticketS, SELECT_BY_TICKET)==true)  // Åñëè åãî óäàëîñü âûáðàòü
         {
          if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && Ask+Point*sl<OrderOpenPrice()) // Åñëè ñèìâîë ãðàôèêà = ñèìâîëó ñäåëêè, åñëè ìàãè÷åñêèé íîìåð ñîâïàäàåò, è äîñòèãíóò óð. áåçóáûòêà
           if(Bid-Point*sl>OrderStopLoss()) OrderModify(OrderTicket(),0,Ask+Point*sl,OrderTakeProfit(),0,Blue); // Åñëè óðîâåíü íàñòîÿùåãî ñòîïà áîëüøå óñòàíîâëåííîãî, òî äâèãàåì ñòîï
         }
       }
//----
   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 ---