Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Expert Advisors

Waddah Attar Win - Experte für den MetaTrader 5

Veröffentlicht:
Vladimir Karputov
Ansichten:
973
Rating:
(24)
Veröffentlicht:
2017.03.20 09:09
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Author of the idea — Ahmad Waddah Attarauthor of thr MQL5 code — barabashkakvn

The Expert Advisor trades using pending Buy Limit (BuyLimit) and Sell Limit (SellLimit) orders. Once the price moves very close to the pending order:

   if((m_symbol.Ask()-LastBuyLimitPrice)<=5*m_symbol.Point()) // FirstLot очень близко
      m_trade.BuyLimit(LastBuyLimitLot+IncLot,m_symbol.NormalizePrice(LastBuyLimitPrice-ExtStep));

   if((LastSellLimitPrice-m_symbol.Bid())<=5*m_symbol.Point()) // FirstLot очень близко
      m_trade.SellLimit(LastBuyLimitLot+IncLot,m_symbol.NormalizePrice(LastSellLimitPrice+ExtStep));

Place one more pending order

To get the last price of the placed order we use OnTradeTransaction():

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- Get the trade type as a value of the enumeration
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
   Print(EnumToString(type));
//--- if a deal — the result of deal adding to history
   if(type==TRADE_TRANSACTION_ORDER_ADD)
     {
      long     order_type        =0;
      double   order_price       =0.0;
      double   order_volume      =0.0;
      string   order_symbol      ="";
      long     order_magic       =0;
      if(OrderSelect(trans.order)) // Select pending orders
        {
         order_type=OrderGetInteger(ORDER_TYPE);
         order_price=OrderGetDouble(ORDER_PRICE_OPEN);
         order_volume=OrderGetDouble(ORDER_VOLUME_INITIAL);
         order_symbol=OrderGetString(ORDER_SYMBOL);
         order_magic=OrderGetInteger(ORDER_MAGIC);
        }
      else
         return;
      if(order_symbol==m_symbol.Name() && order_magic==m_magic)
        {
         if(order_type==ORDER_TYPE_BUY_LIMIT)
           {
            LastBuyLimitPrice=order_price;
            LastBuyLimitLot=order_volume;
           }
         if(order_type==ORDER_TYPE_SELL_LIMIT)
           {
            LastSellLimitPrice=order_price;
            LastSellLimitlLot=order_volume;
           }
        }
     }
  }

Testing on EURUSD, M15 from 2015.06.07 to 2016.12.31 — "Every tick" mode, initial deposit 10000:

Waddah Attar Win tester

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/17339

e-TurboFx e-TurboFx

Es wird die Analyse der Bars auf das Vorhandensein der N-Bars eines Typs durchgeführt, die nacheinander kommen.

MA Reverse MA Reverse

Das Handeln nach Moving Average. Die Überprüfung, ob Mittel ausreichend sind.

Bull vs Medved Bull vs Medved

Der EA trifft die Handels-Losungen auf einfachen Kombinationen der Kerzen. Es wurde für die Arbeit auf der Periode H4 gerechnet.

True Scalper Profit Lock True Scalper Profit Lock

Zwei Indikatoren iMA mit streng eingegebenen Perioden 3 und 7 und noch ein Indikator iRSI mit streng eingegebener Periode 2.