Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Breakout Strategy with Prop Firm Helper Functions - Asesor Experto para MetaTrader 5

Visualizaciones:
308
Ranking:
(14)
Publicado:
PropFirmHelper.mq5 (13.32 KB) ver
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Hola a todos,

Esta es una actualización de la"Simple pero Efectiva Estrategia Breakout". En este código, he añadido algunas funciones de ayuda para los desafíos prop firm.

Generalmente, para pasar un desafío de prop firm, usted necesita satisfacer tres criterios principales:

  • Beneficio objetivo
  • No violar la pérdida máxima diaria
  • No violar la pérdida máxima

En este código, he incluido dos funciones que comprueban "Beneficio objetivo" y "Casi violando la pérdida máxima diaria" para salir automáticamente de todas las posiciones y eliminar todas las órdenes pendientes. Para la "pérdida máxima" realmente depende de tu estrategia y gestión del riesgo por lo que no se mencionará en este Script MQL5.

//+------------------------------------------------------------------+
//| Funciones de ayuda de la empresa de utilería|
//+------------------------------------------------------------------+

// Borrar todas las órdenes pendientes y salir de todas las posiciones
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);
   }
}

// Comprobar si hemos alcanzado el objetivo de beneficio
bool isPassed()
{
   return AccountInfoDouble(ACCOUNT_EQUITY) > PASS_CRITERIA;
}

// Comprobar si estamos a punto de violar la pérdida máxima diaria
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;
   
   // Saldo actual
   double current_balance = AccountInfoDouble(ACCOUNT_BALANCE);
   
   // Obtener las operaciones cerradas de hoy 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)
      {
         // Obtener fecha y hora del acuerdo
         MqlDateTime deal_time;
         TimeToStruct(HistoryDealGetInteger(ticket, DEAL_TIME), deal_time);
         // Comprobar la hora de reparto
         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;
}

Los parámetros que necesitamos especificar son:

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

Espero que encuentres valores en este script.


Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/49713

Asesor Experto en Teoría de la Probabilidad para Forex Asesor Experto en Teoría de la Probabilidad para Forex

Asesor de Teoría de la Probabilidad

Babi Ngepet Babi Ngepet

Comparto mi código para asesor experto babi ngepet

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

Esta es una primicia para MetaTrader 5. Ahora puede hacer clic en el gráfico para crear alertas de precios.

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

Código de ejemplo para contar el número consecutivo de barras alcistas o bajistas.