Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
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

Breakout Strategy with Prop Firm Helper Functions - Experte für den MetaTrader 5

Ansichten:
79
Rating:
(14)
Veröffentlicht:
MQL5 Freelance Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Hallo zusammen,

Dies ist ein Update der"Simple Yet Effective Breakout Strategy". In diesem Code habe ich einige Hilfsfunktionen für Prop Firm Challenges hinzugefügt.

Im Allgemeinen müssen Sie drei Hauptkriterien erfüllen, um eine Prop-Firm-Challenge zu bestehen:

  • Zielgewinn
  • Nicht gegen den maximalen Tagesverlust verstoßen
  • Nicht gegen den maximalen Verlust verstoßen

In diesem Code habe ich zwei Funktionen eingebaut, die auf "Zielgewinn" und "Beinahe Verletzung des maximalen Tagesverlustes" prüfen, um automatisch alle Positionen zu beenden und alle ausstehenden Aufträge zu löschen. Der "maximale Verlust" hängt wirklich von Ihrer Strategie und Ihrem Risikomanagement ab und wird daher in diesem MQL5-Skript nicht erwähnt.

//+------------------------------------------------------------------+
//| Prop Firm Helper Functions|
//+------------------------------------------------------------------+

// Alle ausstehenden Aufträge löschen und alle Positionen auflösen
void ClearAll(string message)
{
   Comment(message);
   for (int i = OrdersTotal() - 1; i >= 0; i--)
   {
      ulong orderTicket = OrderGetTicket(i);
      if (OrderSelect(orderTicket)) 
      {
         trade.OrderDelete(orderTicket);
      }
   }

   for (int i = PositionsTotal() - 1; i >= 0; i--)
   {
      ulong posTicket = PositionGetTicket(i);
      trade.PositionClose(posTicket);
   }
}

// Prüfen Sie, ob wir das Gewinnziel erreicht haben
bool isPassed()
{
   return AccountInfoDouble(ACCOUNT_EQUITY) > PASS_CRITERIA;
}

// Prüfen Sie, ob wir kurz davor sind, den maximalen Tagesverlust zu verletzen
bool isDailyLimit()
{
   MqlDateTime date_time;
   TimeToStruct(TimeCurrent(), date_time);
   int current_day = date_time.day, current_month = date_time.mon, current_year = date_time.year;
   
   // Aktueller Saldo
   double current_balance = AccountInfoDouble(ACCOUNT_BALANCE);
   
   // Abrufen der heute abgeschlossenen Geschäfte PL
   HistorySelect(0, TimeCurrent());
   int orders = HistoryDealsTotal();
   
   double PL = 0.0;
   for (int i = orders - 1; i >= 0; i--)
   {
      ulong ticket=HistoryDealGetTicket(i);
      if(ticket==0)
      {
         Print("HistoryDealGetTicket failed, no trade history");
         break;
      }
      double profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
      if (profit != 0)
      {
         // Datum und Uhrzeit des Geschäftsabschlusses abrufen
         MqlDateTime deal_time;
         TimeToStruct(HistoryDealGetInteger(ticket, DEAL_TIME), deal_time);
         // Überprüfung der Geschäftszeit
         if (deal_time.day == current_day && deal_time.mon == current_month && deal_time.year == current_year)
         {
            PL += profit;
         }
         else
            break;
      }
   }
   double starting_balance = current_balance - PL;
   double current_equity   = AccountInfoDouble(ACCOUNT_EQUITY);
   return current_equity < starting_balance - DAILY_LOSS_LIMIT;
}

Die Parameter, die wir angeben müssen, sind:

input string dd = "-------------PROP FIRM CHALLENGE-----------------";
input bool   isChallenge = false;
input double PASS_CRITERIA = 110100.;
input double DAILY_LOSS_LIMIT = 4500.;

Ich hoffe, Sie finden Werte in diesem Skript.


Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/49713

Wahrscheinlichkeitstheorie Expert Advisor für Forex Wahrscheinlichkeitstheorie Expert Advisor für Forex

Berater für Wahrscheinlichkeitstheorie

Babi Ngepet Babi Ngepet

Ich teile meinen Code für den Expert Advisor Babi Ngepet

Click on the market chart to create a price alert Click on the market chart to create a price alert

Dies ist eine Premiere für MetaTrader 5. Jetzt können Sie auf den Chart klicken, um Kurswarnungen zu erstellen.

Count consecutive no. of bull or bear bars Count consecutive no. of bull or bear bars

Beispielcode zum Zählen der aufeinanderfolgenden Bullen- und Bärenbalken.