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
Ansichten:
665
Rating:
(20)
Veröffentlicht:
2017.11.09 08:19
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Eröffnen der neue Position entgegengesetzt zur vorherigen, mit gleichem Volumen. Es funktioniert für jedes Symbol und jeder 'magic number'.

Wir haben beispielsweise eine offene Position AUDUSD, BUY, 0,01. Sobald diese Position geschlossen wird (z. B. manuell), wird der Expert Advisor sofort mit AUDUSD eine neue, entgegengesetzte Position eröffnen, dies ist nun eine VERKAUF-Position.

Der gesamte Code ist in der Funktion OnTradeTransaction enthalten:

//+------------------------------------------------------------------+
//| TradeTransaction Funktion                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- Abfrage des Positionstyp als Wert der Enumeration 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- Falls die Transaktion das Ergebnis von Additionen geschlossener Positionen ist
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_type         =-1;
      long     deal_entry        =-1;
      double   deal_volume       =0.0;
      string   deal_symbol       ="";
      if(HistoryDealSelect(trans.deal))
        {
         deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);
        }
      else
         return;
      if(deal_entry==DEAL_ENTRY_OUT)
        {
         switch((int)deal_type)
           {
            case  DEAL_TYPE_BUY:
               m_trade.Buy(deal_volume,deal_symbol);
               break;
            case  DEAL_TYPE_SELL:
               m_trade.Sell(deal_volume,deal_symbol);
               break;
            default:
               break;
           }
        }
     }
  }

Hier warten wir auf das Schließen der Position (DEAL_ENTRY_OUT). Sobald dieser 'deal' erscheint, überprüfen wir die Position des 'deals' (wenn wir einen KAUFEN schließen, wird dies ein Verkauf werden und umgekehrt) und wir eröffnen eine neue Position.

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

up3x1 Investor up3x1 Investor

Analyse der Länge der Kerze. Die Idee des Handelssystems: Die Werte der Kerze machen einen Unterschied nach Pressemitteilungen.

New Random New Random

Ein Handel auf der Basis eines Zufallszahlengenerators oder eine der folgenden Reihenfolge: KAUF - VERKAUF - KAUF oder VERKAUF - KAUF - VERKAUF.

Konvertieren der HTML-Dateien des Wirtschaftskalenders Konvertieren der HTML-Dateien des Wirtschaftskalenders

Konvertieren der HTML-Dateien des Wirtschaftskalenders. Das Skript konvertiert die von http://www.investing.com/economic-calendar heruntergeladene Seite mit den Pressemitteilungen in eine CSV-Textdatei.

Psychological Psychological

Ein klassischer Oszillator importiert von der Plattform FXAccuCharts.