Trading Sistemático

Gestor de Riesgos EA: Tu aliado en MetaTrader 4
MetaTrader4
Gestor de Riesgos EA: Tu aliado en MetaTrader 4

Para obtener los mejores resultados, es fundamental que realices tu propio análisis técnico. Tú decides en qué dirección deseas que el EA realice las operaciones (puedes abrir posiciones largas o cortas, pero la cobertura no funcionará) y el EA esperará hasta que se presente una configuración adecuada para ejecutar las operaciones por ti. Los parámetros de Nivel y Longitud corresponden al nivel y la longitud del retroceso. Cuanto mayor sea la Longitud, más se integrará; y cuanto mayor sea el Nivel, más profundo será el retroceso que buscará. Cierre de PL es el máximo de pérdida flotante antes de que el EA cierre todas las posiciones. El límite de ganancias y riesgo son los parámetros que necesitas ajustar para especificar cuánta ganancia o riesgo deseas alcanzar con la señal dada. El parámetro de capital se establecerá con tu saldo antes de que se adjuntara el EA. Si tienes una pérdida o ganancia flotante, puedes querer cambiarlo, pero el valor por defecto de 0 asumirá tu saldo inicial antes de la conexión del EA. Si estás operando con múltiples pares, la función de cobertura no funcionará, así que no cubrirá nada. Asegúrate de desactivar el Multipairtrading si solo operas un par y deseas usar la función de cobertura. Esta función cubrirá tu posición una vez que se alcance el nivel de cobertura, que significa el porcentaje de riesgo que te queda, y la relación especificada. El Tamaño máximo es la mayor posición que el EA escalará, y capas es el número de posiciones en las que quieres dividir el Tamaño máximo. Por ejemplo, si deseas comprar 1 lote de un instrumento y escalar en 10 veces, Tamaño máximo = 1, Capas = 10.

2023.04.08
Algoritmo de Grid Trading en mercados volátiles - Tu Asesor Experto para MetaTrader 4
MetaTrader4
Algoritmo de Grid Trading en mercados volátiles - Tu Asesor Experto para MetaTrader 4

¡Hola, traders! Hoy vamos a hablar sobre un algoritmo de Grid Trading que puede ser tu mejor aliado en mercados volátiles. Este sistema es perfecto para quienes buscan maximizar sus ganancias en situaciones inciertas. Los parámetros de entrada son clave para que tu robot funcione de manera óptima: Tp: Este es un número que determina cuándo el robot tomará ganancias. Se recomienda establecerlo entre 0.01 y 0.1, lo que significa que el robot tomará beneficios cuando se alcance el Tp multiplicado por el dinero invertido. SlowMovingAverage: Este parámetro se refiere al período de una media móvil, que ayuda a identificar la tendencia del mercado. Multiplier: Este es el factor que se aplica a los volúmenes. La próxima orden en la cuadrícula se colocará con el tamaño de la última orden multiplicado por el Multiplier. TimeFrame: Aquí puedes elegir el marco temporal en minutos. Se recomienda usar 1 hora (60) o 15 minutos (15). Además, el Asesor Experto incluye algunas funciones muy útiles: TotalOrderLots(): Esta función devuelve todos los lotes utilizados en tus operaciones. CalcMaxLot: Te indica la cantidad máxima de lotes que puedes operar. CalcGridLot: Esta función te ofrece el lote inicial con los parámetros que hayas configurado para un activo en particular. Bearish y Bullish Engulfing: Estas funciones devuelven un valor verdadero si se detecta alguno de estos patrones de velas. OpenOrderProfits: Te muestra todas las ganancias de las órdenes abiertas. CloseAllOrders: Cierra todas las órdenes, asegurándose de verificar varias veces para evitar errores. El EA coloca órdenes en la cuadrícula basándose en los valores del ATR, lo que te permite adaptarte a la volatilidad del mercado. Así que ya lo sabes, este algoritmo puede ser una herramienta poderosa en tu estrategia de trading. ¡Aprovecha al máximo las oportunidades que ofrece el mercado!

2023.01.27
AK-47 Scalper EA: Tu Asesor Experto para MetaTrader 4
MetaTrader4
AK-47 Scalper EA: Tu Asesor Experto para MetaTrader 4

1. Parámetros de entrada #define ExtBotName "AK-47 Scalper EA" // Nombre del Bot #define  Version "1.00" //--- parámetros de entrada extern string  EASettings        = "---------------------------------------------"; //-------- <Configuraciones del EA> -------- input int      InpMagicNumber    = 124656;   //Número Mágico extern string  TradingSettings   = "---------------------------------------------"; //-------- <Configuraciones de Trading> -------- input double   Inpuser_lot       = 0.01;     //Lotes input double   InpSL_Pips        = 3.5;      //Stoploss (en Pips) input double   InpMax_spread     = 0.5;      //Spread máximo permitido (en Pips) (0 = flotante) extern string  MoneySettings     = "---------------------------------------------"; //-------- <Configuraciones de Dinero> -------- input bool     isVolume_Percent  = true;     //Permitir Volumen en Porcentaje input double   InpRisk           = 3;        //Porcentaje de Riesgo del Saldo (%) input string   TimeSettings      = "---------------------------------------------"; //-------- <Configuraciones de Tiempo de Trading> -------- input bool     InpTimeFilter     = true      //Filtro de Tiempo de Trading input int      InpStartHour      = 2         //Hora de Inicio input int      InpStartMinute    = 30        //Minuto de Inicio input int      InpEndHour        = 21        //Hora de Fin input int      InpEndMinute      = 0         //Minuto de Fin 2. Inicialización de variables locales //--- Variables int      Pips2Points;               // deslizamiento  3 pips    3=points    30=points double   Pips2Double;               // Stoploss 15 pips    0.015      0.0150 int      InpMax_slippage   = 3;     // Deslizamiento máximo permitido. bool     isOrder           = false; // solo abre 1 orden int      slippage; string   strComment        = ""; 3. Código Principal a/ Función de inicialización del Asesor Experto int OnInit()   { //---      //Detección de 3 o 5 dígitos    //Pip y punto    if (Digits % 2 == 1)    {       Pips2Double  = _Point*10;       Pips2Points  = 10;       slippage = 10* InpMax_slippage;    }    else    {           Pips2Double  = _Point;       Pips2Points  =  1;       slippage = InpMax_slippage;    }    //---    return(INIT_SUCCEEDED);   } b/ Función de tick del Asesor Experto void OnTick()   { //---      if(IsTradeAllowed() == false)      {       Comment("AK-47 EA\nTrading no permitido.");       return;      }             MqlDateTime structTime;        TimeCurrent(structTime);        structTime.sec = 0;               //Establecer tiempo de inicio        structTime.hour = InpStartHour;        structTime.min = InpStartMinute;              datetime timeStart = StructToTime(structTime);               //Establecer tiempo de fin        structTime.hour = InpEndHour;        structTime.min = InpEndMinute;        datetime timeEnd = StructToTime(structTime);               double acSpread = MarketInfo(Symbol(), MODE_SPREAD);        StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);              strComment = "\n" + ExtBotName + " - v." + (string)Version;       strComment += "\nHora GMT = " + TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS);       strComment += "\nTiempo de Trading = [" + (string)InpStartHour + "h" + (string)InpStartMinute + " --> " +  (string)InpEndHour + "h" + (string)InpEndMinute + "]";              strComment += "\nSpread Actual = " + (string)acSpread + " Puntos";       strComment += "\nNivel de Stop actual = " + (string)StopLevel + " Puntos";              Comment(strComment);          //Actualizar Valores       UpdateOrders();              TrailingStop();              //Verificar tiempo de Trading       if(InpTimeFilter)       {          if(TimeCurrent() >= timeStart && TimeCurrent() < timeEnd)          {             if(!isOrder) OpenOrder();          }       }       else       {          if(!isOrder) OpenOrder();       }   } 3.1 Calcular señal para enviar órdenes void OpenOrder(){       //int OrdType = OP_SELL;//-1;    double TP = 0;    double SL = 0;    string comment = ExtBotName;    //Calcular Lotes    double lot1 = CalculateVolume();       //if(OrdType == OP_SELL){       double OpenPrice = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);       SL = NormalizeDouble(Ask + StopLevel * _Point + InpSL_Pips/2 * Pips2Double, Digits);                if(CheckSpreadAllow())                                    //Verificar Spread       {          if(!OrderSend(_Symbol, OP_SELLSTOP, lot1, OpenPrice, slippage, SL, TP, comment, InpMagicNumber, 0, clrRed))          Print(__FUNCTION__,"--> Error en OrderSend ",GetLastError());       }    //} } 3.2 Calcular Volumen double CalculateVolume()   {    double LotSize = 0;    if(isVolume_Percent == false)      {       LotSize = Inpuser_lot;      }    else      {       LotSize = (InpRisk) * AccountFreeMargin();       LotSize = LotSize /100000;       double n = MathFloor(LotSize/Inpuser_lot);       //Comment((string)n);       LotSize = n * Inpuser_lot;       if(LotSize < Inpuser_lot)          LotSize = Inpuser_lot;       if(LotSize > MarketInfo(Symbol(),MODE_MAXLOT))          LotSize = MarketInfo(Symbol(),MODE_MAXLOT);       if(LotSize < MarketInfo(Symbol(),MODE_MINLOT))          LotSize = MarketInfo(Symbol(),MODE_MINLOT);      }    return(LotSize);   } 3.3 El EA tiene función "Trailing Stop",  SL cambiará cada vez que el precio cambie (baje) void TrailingStop()   {    for(int i = OrdersTotal() - 1; i >= 0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if((OrderMagicNumber() == InpMagicNumber) && (OrderSymbol() == Symbol()))   //_Symbol))            {             //Para Orden de Venta             if(OrderType() == OP_SELL)               {                   //--Calcular SL cuando el precio cambie                   double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;                   if(SL_in_Pip > InpSL_Pips){                         double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + InpSL_Pips * Pips2Double, Digits);                         if(!OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, clrRed))                         {                            Print(__FUNCTION__,"--> Error en OrderModify ",GetLastError());                         {                            continue                           }               }               }                          //Para Orden de Venta Stop             else if(OrderType() == OP_SELLSTOP)               {                   double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;                                      if(SL_in_Pip < InpSL_Pips/2){                      double newOP = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);                      double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + (InpSL_Pips/2) * Pips2Double, Digits);                                           if(!OrderModify(OrderTicket(), newOP, newSL, OrderTakeProfit(), 0, clrRed))                      {                         Print(__FUNCTION__,"--> Error en Modificar Orden Pendiente!", GetLastError());                         continue                        }                                        }           }            }         }      }   }

2023.01.14
Mejora tu Trading con el Administrador de Órdenes Forex para MT4
MetaTrader4
Mejora tu Trading con el Administrador de Órdenes Forex para MT4

¿Qué es el Administrador de Órdenes Forex para MT4? El Administrador de Órdenes Forex para MT4 es una herramienta que simplifica la gestión de tus órdenes abiertas en MetaTrader 4. Al abrir una nueva orden, este gestor se encarga automáticamente de establecer las órdenes de Stop Loss y Take Profit. A medida que el precio se mueve, el programa puede ajustar el Stop Loss a Break Even (es decir, el stop loss igual al precio de apertura) o incluso mover el Stop Loss de forma continua (Trailing Stop) para proteger tus ganancias. Funciones Clave del Administrador de Órdenes Este gestor puede controlar órdenes para solo los símbolos actuales (donde el Asesor Experto está funcionando) o para todas las órdenes abiertas, independientemente del símbolo, y lo mejor de todo, puede ocultar el Stop Loss y el Take Profit de los brokers. Aquí te explico cómo: Establecer Stop Loss y/o Take Profit en pips para las operaciones. Función de Trailing Stop que ajusta el Stop Loss según el movimiento del precio. Break Even que mueve el Stop Loss a Break Even en una distancia elegida. Control de SL/TP Tanto el Stop Loss como el Take Profit pueden ser gestionados de manera estándar por el broker o en modo sigiloso (stealth mode), ocultando estos niveles al broker. Parámetros del Administrador Parámetros SLTP Stop Loss: stop loss en pips para las operaciones. Take Profit: take profit en pips para las operaciones. Función de Break Even UseBreakEven (true/false): permite usar solo la función de break-even para las operaciones abiertas. BEActivation: ganancia en pips cuando se activa la función de break even. BELevel: distancia adicional desde BE en pips cuando se coloca el Stop Loss mediante la función de break even. Función de Trailing Stop UseTrailingStop (true/false): permite usar solo la función de trailing stop para las operaciones abiertas. TSStart: ganancia en pips cuando se activa la función de trailing stop. TSStep: diferencia mínima en pips entre el nuevo y el actual Stop Loss para moverlo mediante la función de trailing stop. TSDistance: distancia desde el precio actual en pips cuando se coloca el Stop Loss mediante la función de trailing stop. Comportamiento StealthMode (true/false): oculta los niveles de SL/TP del broker y el EA cierra las operaciones en esos niveles de forma programática. OnlyCurrentPair (true/false): permite gestionar operaciones solo del símbolo del gráfico actual (true) o de todos los pares (false). Información Adicional Todos los parámetros para las operaciones y funciones son ajustables dentro de los parámetros del Asesor Experto. El Administrador de Órdenes Forex también muestra en el gráfico información sobre la ganancia/pérdida diaria actual en pips y en la divisa de la cuenta.

2023.01.10
Gestor de Trades Forex Grid MT4: Optimiza tus Operaciones en MetaTrader 4
MetaTrader4
Gestor de Trades Forex Grid MT4: Optimiza tus Operaciones en MetaTrader 4

¡Hola, traders! Hoy quiero hablarles sobre el Gestor de Trades Forex Grid MT4, una herramienta que puede facilitar la gestión de tus órdenes y ayudarte a alcanzar tus objetivos de trading. Con este experto, solo necesitas realizar tu primera operación con un Take Profit y configurar el EA para establecer el beneficio que deseas obtener en pips. Desde ahí, el EA se encargará de gestionar tus posiciones, acumulando el número de pips que hayas designado. Esta estrategia es ideal para manejar las operaciones manuales que hayas abierto en el par que estés operando. El sistema añade posiciones a las operaciones abiertas en un formato de gestión de cuadrícula, con una distancia elegida en pips entre las órdenes, permitiendo hasta 15 operaciones (o menos). Las primeras hasta 3 órdenes se gestionan con take profits individuales, y a partir de la cuarta operación, el EA cerrará toda la cuadrícula en un nivel común (break-even). Después de cerrar una operación en TP, esta puede renovarse. Todo el ciclo puede cerrarse si la pérdida supera el porcentaje de riesgo permitido sobre el saldo de la cuenta. Parámetros Clave: Parámetros Adicionales de Trade: AddNewTradeAfter – distancia en pips desde la última operación después de la cual se añaden nuevas órdenes a la cuadrícula. “Take Profit” TakeProfit1Total (número) – TP total en pips requerido desde la primera posición. TakeProfit1Partitive – TP inicial en pips para la primera posición en el ciclo. TakeProfit1Offset – distancia mínima en pips desde el take profit de la última posición cerrada requerida para renovar esta primera operación. TakeProfit 2/3 – TP individual en pips para la segunda/tercera posición en el ciclo. TakeProfit 4/5/6/...15Total – TP total en pips de todas las posiciones en el ciclo (para 4 o más operaciones abiertas). Parámetros de Trade: MaxOrders – número máximo permitido de operaciones en la cuadrícula. Risk Balance % – pérdida máxima permitida como porcentaje del saldo de la cuenta (cierra todas las posiciones abiertas). Lots – tamaño del lote para las operaciones abiertas por el EA. Slippage – deslizamiento permitido en puntos. Información Adicional: Todos los parámetros de las operaciones y funciones son ajustables en la configuración del EA. Además, el Gestor de Trades Forex Grid muestra en el gráfico información sobre las ganancias/pérdidas del ciclo actual en pips y en la divisa de la cuenta.

2023.01.10
Estrategia de Mean Reversion: Tu Asesor Experto para MetaTrader 4
MetaTrader4
Estrategia de Mean Reversion: Tu Asesor Experto para MetaTrader 4

La estrategia de Mean Reversion es ideal para operar en los principales pares de divisas en un marco temporal diario. Consejos para Empezar Prueba primero en una cuenta demo. Este Asesor Experto opera únicamente con el precio de la vela de apertura. Si prefieres no aumentar el tamaño de la operación cuando pierdes, ajusta el parámetro: IncreaseFactor=0. Parámetros de Entrada Use_TP_In_Money - Usa Take Profit en dinero (valores: verdadero/falso). TP_In_Money - Take Profit en dinero (valores: 10-100). Use_TP_In_percent - Usa Take Profit en porcentaje (valores: verdadero/falso). TP_In_Percent - Take Profit en porcentaje (valores: 10-100). ------------[Trailing Stop para Múltiples Operaciones]---------------------- Enable_Trailing - Habilitar Trailing en dinero (valores: verdadero/falso). Take Profit en Dinero (en la moneda actual) (valores: 25-200). Stop Loss en Dinero (en la moneda actual) (valores: 1-20). -------------------------------------------------------------------------------------- Exit - Cerrar operaciones si la tendencia va en contra y controlar el drawdown (valores: verdadero/falso). BarsToCount - Número de barras a contar (valores: 1-20). Lots - Tamaño de lotes (valores: 0.01-1). Exponentes de Tamaño de Lotes (valores: 1.01-2). IncreaseFactor - Cuánto aumentar los lotes desde el margen total si pierdes una operación (valores: 0.001-0.1). Stop_Loss - Stop Loss (valores: 30-500). Para múltiples operaciones, establece el valor en 600. MagicNumber - Número mágico (valores: 1-100000). TakeProfit - Take Profit (valores: 50-200). Para múltiples operaciones, establece el valor en 600. FastMA - Media Móvil Rápida (valores: 1-20). SlowMA - Media Móvil Lenta (valores: 50-200). Mom_Sell - Trigger de Momentum de Venta (valores: 0.1-0.9). Mom_Buy - Trigger de Momentum de Compra (valores: 0.1-0.9). ---------------------CONTROL DE DRAW DOWN----------------------------- UseEquityStop - (valores: verdadero/falso). TotalEquityRisk - (valores: 0.01-20). ------------------------------------------------------------------------------- Max_Trades (1-12). FractalNum - Número de Altos y Bajos (valores: 1-10). ----------------SI SOLO USAS 1 OPERACIÓN:----------------------- ///////////////////////////////////////////////////////////////////// USETRAILINGSTOP - Si usas trailing stop (valores: verdadero/falso). WHENTOTRAIL - Cuándo hacer trailing (valores: 40-100). TRAILAMOUNT - Monto de trailing (valores: 40-100). Distance From Candle - Distancia desde la vela (valores: 1-100). USECANDELTRAIL - Si usas trailing stop (valores: verdadero/falso). X = 2 - número de velas (valores: 1-100). USEMOVETOBREAKEVEN - Habilitar

2022.10.26
Trickerless RHMP: Estrategia Ganadora para MetaTrader 4
MetaTrader4
Trickerless RHMP: Estrategia Ganadora para MetaTrader 4

Informe de Prueba de Estrategia Trickerless RHMP InstaForex-Europe.com (Build 1359) Símbolo EURGBP (Euro vs Libra Esterlina) Período Diario (D1) 2021.10.15 00:00 - 2022.09.07 00:00 (2021.10.15 - 2022.09.08) Modelo Cada tick (el método más preciso basado en todos los marcos temporales disponibles) Parámetros TOOLS="TOOLS"; CloseAll=false; ContinueTrading=true; SAFE="SAFE"; SafeSpread=true; SafeGrowth=true; SafeExits=true; AllowHedge=true; EnableStop=false; StopOnlyFriday=false; SIGNAL="SIGNAL"; SignalA=true; SignalB=true; SignalC=true; TIME="TIME"; RefreshHours=26; NEWS="NEWS"; NewsStartHour=18; NewsEndHour=22; SleepSeconds=1440; PROFIT="PROFIT"; BasketProfit=1.06; OpenProfit=0.011; MinProfit=0.085; SafeProfit=0.005; GROWTH="GROWTH"; StopGrowth=0.075; DailyGrowth=0.045; STOP="STOP"; RelativeStop=0.19; HISTORY="HISTORY"; QueryHistory=14; TREND="TREND"; MinTrend=2; MaxTrend=9; CandleSpike=7; BACK_SYSTEM="BACK_SYSTEM"; TriggerBackSystem=0.995; TrendSpace=5; MARGIN="MARGIN"; MinMarginLevel=300; MarginUsage=0.03; BackupMargin=0.05; NewsMargin=0.04; TRADE="TRADE"; MinLots=0.03; TradeSpace=3.5; MaxSpread=7; INDICATOR_ATR="INDICATOR_ATR"; ATRPeriod=14; INDICATOR_ADX="INDICATOR_ADX"; ADXMain=10; ADXPeriod=14; ADXShiftCheck=4; INDICATOR_MA="INDICATOR_MA"; MA1Period=120; MA2Period=60; MAShiftCheck=30; Barra en prueba 1235 Ticks modelados 5326472 Calidad de modelado 58.38% Errores de gráficos no coincidentes 0 Depósito inicial 10.00 Spread 30 Beneficio neto total 216.31 Beneficio bruto 216.40 Pérdida bruta -0.09 Factor de beneficio 2361.41 Pago esperado 3.93 Drawdown absoluto 4.88 Drawdown máximo 83.94 (77.54%) Drawdown relativo 77.54% (83.94) Total de operaciones 55 Posiciones cortas (ganadas %) 27 (96.30%) Posiciones largas (ganadas %) 28 (100.00%) Operaciones con beneficio (% del total) 54 (98.18%) Operaciones con pérdida (% del total) 1 (1.82%) Mayor operación con beneficio 17.83 operación con pérdida -0.09 Promedio operación con beneficio 4.01 operación con pérdida -0.09 Máximo ganancias consecutivas (beneficio en dinero) 51 (215.11) pérdidas consecutivas (pérdida en dinero) 1 (-0.09) Máximo beneficio consecutivo (número de ganadas) 215.11 (51) pérdida consecutiva (número de pérdidas) -0.09 (1) Promedio ganancias consecutivas 27 pérdidas consecutivas 1 # Hora Tipo Orden Tamaño Precio S / L T / P Beneficio Balance 1 2021.10.15 13:30 comprar 1 0.03 0.84547 0.00000 0.00000 2 2021.10.19 08:00 cerrar 1 0.03 0.84561 0.00000 0.00000 0.02 10.02 3 2021.10.19 08:24 vender 2 0.03 0.84555 0.00000 0.00000 4 2021.10.19 14:35 cerrar 2 0.03 0.84306 0.00000 0.00000 0.86 10.88 5 2021.10.22 12:00 comprar 3 0.03 0.84284 0.00000 0.00000 6 2021.10.22 14:00 cerrar 3 0.03 0.84403 0.00000 0.00000 0.41 11.29 7 2021.10.26 15:18 vender 4 0.03 0.84194 0.00000 0.00000 8 2021.11.17 14:00 cerrar 4 0.03 0.84193 0.00000 0.00000 -0.09 11.20 9 2021.11.23 16:40 comprar 5 0.03 0.84129 0.00000 0.00000 10 2021.11.26 06:00 cerrar 5 0.03 0.84335 0.00000 0.00000 0.63 11.83 11 2021.12.07 08:36 vender 6 0.04 0.85027 0.00000 0.00000 12 2021.12.16 14:01 cerrar 6 0.04 0.84806 0.00000 0.00000 0.94 12.77 13 2021.12.17 09:48 comprar 7 0.04 0.85057 0.00000 0.00000 14 2021.12.20 10:39 cerrar 7 0.04 0.85293 0.00000 0.00000 1.07 13.84 15 2021.12.22 00:00 vender 8 0.04 0.85085 0.00000 0.00000 16 2021.12.22 06:00 cerrar 8 0.04 0.85081 0.00000 0.00000 0.02 13.86 17 2021.12.23 13:10 comprar 9 0.04 0.84439 0.00000 0.00000 18 2021.12.24 10:00 cerrar 9 0.04 0.84496 0.00000 0.00000 0.24 14.10 19 2021.12.24 10:24 vender 10 0.04 0.84499 0.00000 0.00000 20 2021.12.27 16:00 cerrar 10 0.04 0.84270 0.00000 0.00000 1.04 15.14 21 2022.01.05 18:29 comprar 11 0.05 0.83506 0.00000 0.00000 22 2022.01.06 10:00 cerrar 11 0.05 0.83621 0.00000 0.00000 0.58 15.72 23 2022.01.11 13:56 vender 12 0.05 0.83449 0.00000 0.00000 24 2022.01.11 20:00 cerrar 12 0.05 0.83401 0.00000 0.00000 0.27 15.99 25 2022.01.18 16:23 comprar 13 0.05 0.83659 0.00000 0.00000 26 2022.01.24 17:02 cerrar 13 0.05 0.83896 0.00000 0.00000 1.21 17.20 27 2022.01.24 20:00 vender 14 0.05 0.84179 0.00000 0.00000 28 2022.01.25 08:42 cerrar 14 0.05 0.83922 0.00000 0.00000 1.47 18.68 29 2022.01.25 22:00 comprar 15 0.06 0.83643 0.00000 0.00000 30 2022.02.03 17:21 cerrar 15 0.06 0.83873 0.00000 0.00000 1.24 19.92 31 2022.02.04 16:00 vender 16 0.06 0.84629 0.00000 0.00000 32 2022.02.04 16:00 cerrar 16 0.06 0.84628 0.00000 0.00000 0.01 19.93 33 2022.02.04 16:54 comprar 17 0.06 0.84478 0.00000 0.00000 34 2022.02.07 14:26 cerrar 17 0.06 0.84724 0.00000 0.00000 1.67 21.60 35 2022.02.08 13:58 vender 18 0.06 0.84341 0.00000 0.00000 36 2022.02.09 00:00 cerrar 18 0.06 0.84302 0.00000 0.00000 0.26 21.86 37 2022.02.15 23:33 comprar 19 0.07 0.83894 0.00000 0.00000 38 2022.02.16 14:00 cerrar 19 0.07 0.83963 0.00000 0.00000 0.51 22.37 39 2022.02.16 21:03 vender 20 0.07 0.83788 0.00000 0.00000 40 2022.02.17 06:03 cerrar 20 0.07 0.83550 0.00000 0.00000 1.89 24.26 41 2022.02.22 17:55 comprar 21 0.07 0.83562 0.00000 0.00000 42 2022.02.25 15:47 cerrar 21 0.07 0.83819 0.00000 0.00000 1.89 26.14 43 2022.02.28 12:00 vender 22 0.08 0.83561 0.00000 0.00000 44 2022.03.01 13:13 cerrar 22 0.08 0.83318 0.00000 0.00000 2.23 28.37 45 2022.03.02 03:23 comprar 23 0.09 0.83485 0.00000 0.00000 46 2022.03.09 16:06 cerrar 23 0.09 0.83720 0.00000 0.00000 2.10 30.47 47 2022.03.14 00:13 vender 24 0.09 0.83757 0.00000 0.00000 48 2022.03.22 04:00 cerrar 24 0.09 0.83671 0.00000 0.00000 0.78 31.25 49 2022.03.24 12:12 comprar 25 0.09 0.83336 0.00000 0.00000 50 2022.03.25 09:53 cerrar 25 0.09 0.83595 0.00000 0.00000 2.63 33.88 51 2022.03.28 18:45 vender 26 0.10 0.83834 0.00000 0.00000 52 2022.04.05 06:00 cerrar 26 0.10 0.83663 0.00000 0.00000 1.85 35.73 53 2022.04.07 09:02 comprar 27 0.11 0.83427 0.00000 0.00000 54 2022.04.11 00:00 cerrar 27 0.11 0.83765 0.00000 0.00000 4.16 39.89 55 2022.04.13 05:36 vender 28 0.12 0.83275 0.00000 0.00000 56 2022.04.13 22:00 cerrar 28 0.12 0.83059 0.00000 0.00000 2.98 42.87 57 2022.04.18 14:06 comprar 29 0.13 0.82901 0.00000 0.00000 58 2022.04.20 10:00 cerrar 29 0.13 0.83011 0.00000 0.00000 1.50 44.37 59 2022.04.21 11:40 vender 30 0.13 0.83619 0.00000 0.00000 60 2022.04.21 16:33 cerrar 30 0.13 0.83365 0.00000 0.00000 3.80 48.17 61 2022.04.25 07:59 comprar 31 0.14 0.84195 0.00000 0.00000 62 2022.04.26 18:43 cerrar 31 0.14 0.84450 0.00000 0.00000 4.03 52.20 63 2022.04.27 21:03 vender 32 0.16 0.84181 0.00000 0.00000 64 2022.04.28 00:00 cerrar 32 0.16 0.84167 0.00000 0.00000 0.19 52.38 65 2022.04.28 20:07 comprar 33 0.16 0.84322 0.00000 0.00000 66 2022.05.05 07:42 cerrar 33 0.16 0.84567 0.00000 0.00000 3.92 56.30 67 2022.05.05 15:20 vender 34 0.17 0.85211 0.00000 0.00000 68 2022.05.12 19:57 cerrar 34 0.17 0.84966 0.00000 0.00000 4.61 60.91 69 2022.05.13 04:00 comprar 35 0.18 0.85052 0.00000 0.00000 70 2022.05.16 10:00 cerrar 35 0.18 0.85089 0.00000 0.00000 0.67 61.59 71 2022.05.16 10:24 vender 36 0.18 0.85117 0.00000 0.00000 72 2022.05.16 17:14 cerrar 36 0.18 0.84863 0.00000 0.00000 5.26 66.85 73 2022.05.17 12:00 comprar 37 0.20 0.84098 0.00000 0.00000 74 2022.05.17 13:37 cerrar 37 0.20 0.84347 0.00000 0.00000 5.73 72.58 75 2022.05.18 14:00 vender 38 0.22 0.84821 0.00000 0.00000 76 2022.05.18 17:39 cerrar 38 0.22 0.84577 0.00000 0.00000 6.17 78.75 77 2022.05.20 09:06 comprar 39 0.24 0.84790 0.00000 0.00000 78 2022.05.24 00:00 cerrar 39 0.24 0.84899 0.00000 0.00000 2.76 81.50 79 2022.05.24 12:04 vender 40 0.24 0.85773 0.00000 0.00000 80 2022.05.25 02:00 cerrar 40 0.24 0.85627 0.00000 0.00000 3.99 85.49 81 2022.05.25 02:24 comprar 41 0.26 0.85597 0.00000 0.00000 82 2022.06.03 20:00 cerrar 41 0.26 0.85721 0.00000 0.00000 2.20 87.69 83 2022.06.03 20:24 vender 42 0.26 0.85730 0.00000 0.00000 84 2022.06.06 11:29 cerrar 42 0.26 0.85478 0.00000 0.00000 7.50 95.19 85 2022.06.07 02:00 comprar 43 0.29 0.85372 0.00000 0.00000 86 2022.06.07 08:26 cerrar 43 0.29 0.85615 0.00000 0.00000 8.11 103.30 87 2022.06.08 07:50 vender 44 0.31 0.85024 0.00000 0.00000 88 2022.07.07 17:55 cerrar 44 0.31 0.84777 0.00000 0.00000 7.33 110.63 89 2022.07.11 20:33 comprar 45 0.33 0.84603 0.00000 0.00000 90 2022.07.14 18:02 cerrar 45 0.33 0.84851 0.00000 0.00000 8.55 119.18 91 2022.07.18 17:21 vender 46 0.36 0.84764 0.00000 0.00000 92 2022.07.26 16:02 cerrar 46 0.36 0.84519 0.00000 0.00000 9.71 128.89 93 2022.07.26 22:00 comprar 47 0.39 0.84171 0.00000 0.00000 94 2022.08.05 15:58 cerrar 47 0.39 0.84416 0.00000 0.00000 8.52 137.41 95 2022.08.08 17:53 vender 48 0.41 0.84293 0.00000 0.00000 96 2022.08.16 12:00 cerrar 48 0.41 0.84245 0.00000 0.00000 1.76 139.17 97 2022.08.18 06:31 comprar 49 0.42 0.84478 0.00000 0.00000 98 2022.08.19 11:05 cerrar 49 0.42 0.84723 0.00000 0.00000 11.62 150.79 99 2022.08.23 09:08 vender 50 0.45 0.84458 0.00000 0.00000 100 2022.08.23 18:52 cerrar 50 0.45 0.84210 0.00000 0.00000 12.85 163.64 101 2022.08.25 06:04 comprar 51 0.49 0.84505 0.00000 0.00000 102 2022.08.26 16:27 cerrar 51 0.49 0.84752 0.00000 0.00000 13.66 177.30 103 2022.08.29 12:00 vender 52 0.53 0.85234 0.00000 0.00000 104 2022.08.29 12:00 cerrar 52 0.53 0.85231 0.00000 0.00000 0.18 177.48 105 2022.08.30 02:51 comprar 53 0.53 0.85400 0.00000 0.00000 106 2022.08.30 13:32 cerrar 53 0.53 0.85648 0.00000 0.00000 15.13 192.61 107 2022.08.30 19:00 vender 54 0.58 0.85975 0.00000 0.00000 108 2022.09.06 13:16 cerrar 54 0.58 0.85728 0.00000 0.00000 15.86 208.48 109 2022.09.07 10:13 comprar 55 0.63 0.86144 0.00000 0.00000 110 2022.09.07 13:48 cerrar 55 0.63 0.86390 0.00000 0.00000 17.83 226.31

2022.06.28
Cómo Detectar el Inicio de una Nueva Barra en MetaTrader 4: Guía Práctica
MetaTrader4
Cómo Detectar el Inicio de una Nueva Barra en MetaTrader 4: Guía Práctica

Cuando trabajamos con un Asesor Experto (AE) en nuestra plataforma de MetaTrader, es fundamental saber cuándo comienza una nueva barra. A diferencia de los ticks que llegan constantemente, no existe una función predeterminada para manejar el inicio de una nueva barra (o vela). Para detectar cuándo se abre una nueva barra, debemos estar atentos al tiempo de apertura de la barra más reciente. Cuando este tiempo cambia, significa que hemos tenido el inicio de una nueva barra y podemos reaccionar a ello. A continuación, te comparto un código de ejemplo que es compatible tanto con MQL4 como con MQL5, que muestra cómo lograr esto: // Manejador de eventos de tick predeterminado    void OnTick()    {       // Verificamos si hay una nueva barra (compatible con MQL4 y MQL5).          static datetime dtBarActual  = WRONG_VALUE;                 datetime dtBarAnterior = dtBarActual;                          dtBarActual  = iTime( _Symbol, _Period, 0 );                 bool     bNuevoEventoBarra  = ( dtBarActual != dtBarAnterior );       // Reaccionamos ante el evento de nueva barra y lo manejamos.          if( bNuevoEventoBarra )          {             // Detectamos si es el primer tick recibido y lo manejamos.                /* Por ejemplo, cuando se adjunta por primera vez a un gráfico y                   la barra está en medio de su progreso y                   no es realmente el inicio de una nueva barra. */                if( dtBarAnterior == WRONG_VALUE )                {                   // Hacemos algo en el primer tick o en medio de la barra ...                }                else                {                   // Hacemos algo cuando comienza una barra normal ...                };             // Hacemos algo independientemente de la condición anterior ...          }          else          {             // Hacemos algo más ...          };       // Hacemos otras cosas ...    }; En el código anterior, la variable estática mantiene un seguimiento del tiempo de apertura de la barra, incluso al regresar de la función OnTick(). A diferencia de una variable local normal, esta memoriza su contenido y no se libera al salir de la función. Esta es la clave para detectar un cambio en el tiempo de apertura de la barra actual. Es importante mencionar que cuando el AE se coloca por primera vez en un gráfico, el código anterior reacciona como si la barra acabara de abrirse. Esta condición requiere un manejo especial si se necesita tratar la situación de manera diferente. Recuerda que todo el código fuente de mis publicaciones en CodeBase también está disponible en la pestaña de "Proyectos Públicos" del MetaEditor bajo el nombre "FMIC".

2022.04.24
Primero Anterior 1 2 3 4 5 6 7 8 9 Siguiente Último