Trading Sistemático

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
Gestor de Órdenes Forex para MT5: Optimiza Tu Trading
MetaTrader5
Gestor de Órdenes Forex para MT5: Optimiza Tu Trading

Si estás buscando facilitar la gestión de tus órdenes en MetaTrader 5, el Gestor de Órdenes Forex es una solución perfecta. Cuando abres una nueva operación, este gestor se encarga automáticamente de configurar el Stop Loss y el Take Profit. Además, si el precio se mueve a tu favor, el programa puede ajustar el Stop Loss a Break Even (donde el stop loss es igual al precio de apertura) o incluso activar el Trailing Stop para proteger tus ganancias. El Gestor de Órdenes Forex permite controlar las órdenes solo para los símbolos actuales (donde funciona el EA) o para todas las órdenes abiertas, sin importar el símbolo, además de ocultar el Stop Loss y el Take Profit de los brokers. Todo esto se traduce en una estrategia efectiva para gestionar operaciones manuales abiertas, ya sea en todos los símbolos o solo en el que estás analizando actualmente. Las funciones principales son: Configurar Stop Loss y/o Take Profit para las operaciones en pips. Función de Trailing Stop que ajusta el Stop Loss según el movimiento del precio. Break Even que mueve el Stop Loss a BE a una distancia elegida. Los niveles de SL/TP pueden ser gestionados por el broker (la forma estándar) o en modo sigiloso, manteniéndolos ocultos del broker. Parámetros del Gestor: “Parámetros SLTP” Stop Loss: stop loss en pips para las operaciones. Take Profit: take profit en pips para las operaciones. “Break Even” UseBreakEven (true/false): permite utilizar solo la función de break-even para las operaciones abiertas. BEActivation: ganancias en pips cuando se activa la función de break even. BELevel: distancia adicional desde BE en pips cuando se coloca el SL mediante la función de break even. “Trailing Stop” UseTrailingStop (true/false): permite utilizar solo la función de trailing stop para las operaciones abiertas. TSStart: ganancias en pips cuando se activa la función de trailing stop. TSStep: diferencia mínima en pips entre el nuevo y el actual SL para permitir mover el SL mediante la función de trailing stop. TSDistance: distancia desde el precio actual en pips cuando se coloca el SL mediante la función de trailing stop. “Comportamiento” StealthMode (true/false): oculta los niveles de SL/TP del broker y el EA cierra operaciones en esos niveles de forma programática. OnlyCurrentPair (true/false): permite gestionar operaciones solo del símbolo actual (true) o de todos los pares (false). Información: Todos los parámetros para las operaciones y funciones son configurables en los ajustes del EA. Además, el Gestor de Órdenes Forex muestra en el gráfico información sobre las ganancias/pérdidas diarias en pips y en la divisa de la cuenta.

2023.01.10
Gestor de Operaciones Forex Grid MT5: Optimiza tus Trades en MetaTrader 5
MetaTrader5
Gestor de Operaciones Forex Grid MT5: Optimiza tus Trades en MetaTrader 5

¡Hola, traders! Hoy quiero hablarles sobre el Gestor de Operaciones Forex Grid MT5, una herramienta que puede hacer maravillas a la hora de manejar tus órdenes y alcanzar tus objetivos de trading. Con este sistema, solo necesitas hacer la primera operación con un Take Profit establecido. Luego, ejecutas el EA y defines en los parámetros la cantidad de pips que deseas obtener. El EA se encargará de gestionar tus posiciones, reuniendo el número de pips que hayas designado. Esta estrategia está diseñada para gestionar operaciones manuales en el par que estés operando. El gestor añadirá posiciones a las operaciones que ya tengas abiertas, utilizando un enfoque de gestión en cuadrícula (con la distancia que elijas en pips entre operaciones) y puede llegar a manejar hasta 15 operaciones (o menos). Las primeras hasta 3 operaciones tienen 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). Una vez que se cierre la operación en TP, puedes renovarla. Todo el ciclo se puede cerrar si la pérdida supera el porcentaje de riesgo permitido en tu balance. Parámetros del Gestor de Operaciones Parámetros Adicionales de Operación: AddNewTradeAfter: distancia en pips desde la última operación después de la cual se añaden operaciones a la cuadrícula. Take Profit: TakeProfit1Total: total de pips requeridos desde la primera posición. TakeProfit1Partitive: TP inicial en pips para la primera posición del ciclo. TakeProfit1Offset: distancia mínima en pips desde el take profit de la última posición cerrada necesaria para renovar esta primera operación. TakeProfit 2/3: TP individual en pips para la segunda y tercera posición del ciclo. TakeProfit 4/5/6/…15Total: total de TP en pips desde todas las posiciones en el ciclo (para 4 o más operaciones abiertas). Parámetros de Operación: MaxOrders: número máximo permitido de operaciones en la cuadrícula. Risk Balance %: pérdida máxima permitida como porcentaje del balance 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 para las operaciones y funciones son configurables dentro de los parámetros del EA. El Gestor de Operaciones Forex Grid también muestra en el gráfico información sobre la ganancia/pérdida del ciclo actual en pips y en la divisa de la cuenta.

2023.01.10
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
Lazy Bot MT5: Tu Asistente de Trading para MetaTrader 5
MetaTrader5
Lazy Bot MT5: Tu Asistente de Trading para MetaTrader 5

¿Estás buscando un asistente que te ayude a optimizar tus operaciones en MetaTrader 5? ¡Te presento a Lazy Bot MT5! Este sistema de trading está diseñado para realizar operaciones automáticas basadas en los puntos más altos y bajos del día anterior. A continuación, te contaré cómo configurarlo y cómo funciona. 1. Parámetros de entrada EASettings: "---------------------------------------------" InpMagicNumber: 123456 (Número mágico para identificar operaciones) InpBotName: "LazyBot_V1" (Nombre del bot) Inpuser_lot: 0.01 (Tamaño de lote) Inpuser_SL: 5.0 (Stoploss en Pips) InpAddPrice_pip: 0 (Distancia desde [H], [L] al precio de operación en Pips) Inpuser_SLippage: 3 (Deslizamiento máximo permitido en Pips) InpMax_spread: 0 (Spread máximo permitido en Pips) isTradingTime: true (Permitir operaciones solo en el horario establecido) InpStartHour: 7 (Hora de inicio de operaciones) InpEndHour: 22 (Hora de finalización de operaciones) isVolume_Percent: false (Permitir volumen en porcentaje) InpRisk: 1 (Porcentaje de riesgo sobre el saldo) 2. Inicialización de variables locales // Parámetros locales datetime last; int totalBars; int Pips2Points; // Deslizamiento 3 pips double Pips2Double; // Stoploss 15 pips double slippage; double acSpread; string strComment = ""; CPositionInfo m_position; // Objeto de posición de trading CTrade m_trade; // Objeto de trading CSymbolInfo m_symbol; // Información del símbolo CAccountInfo m_account; // Información de la cuenta COrderInfo m_order; // Órdenes pendientes 3. Código Principal La estrategia de Lazy Bot consiste en eliminar todas las órdenes antiguas y calcular los puntos más altos y bajos de la barra diaria anterior para generar dos órdenes pendientes: BUY_STOP y SELL_STOP, sin tomar ganancias. 4. Función de Inicialización del Asistente int OnInit() { // Detección de dígitos if(_Digits % 2 == 1) { Pips2Double = _Point * 10; Pips2Points = 10; slippage = 10 * Inpuser_SLippage; } else { Pips2Double = _Point; Pips2Points = 1; slippage = Inpuser_SLippage; } if (!m_symbol.Name(Symbol())) return(INIT_FAILED); RefreshRates(); m_trade.SetExpertMagicNumber(InpMagicNumber); m_trade.SetMarginMode(); m_trade.SetTypeFillingBySymbol(m_symbol.Name()); m_trade.SetDeviationInPoints(slippage); return(INIT_SUCCEEDED); } 5. Función de Tick del Asistente void OnTick() { if (TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) == false) { Comment("LazyBot\nTrading no permitido."); return; } // Verificación del tiempo de trading MqlDateTime timeLocal; MqlDateTime timeServer; TimeLocal(timeLocal); TimeCurrent(timeServer); // No operar en festivos if(timeServer.day_of_week == 0 || timeServer.day_of_week == 6) return; int hourLocal = timeLocal.hour; int hourCurrent = timeServer.hour; acSpread = SymbolInfoInteger(_Symbol, SYMBOL_SPREAD); strComment = "\nHora Local = " + hourLocal; strComment += "\nHora Actual = " + hourCurrent; strComment += "\nSpread = " + (string)acSpread; strComment += "\nTotal de Barras = " + (string)totalBars; Comment(strComment); // Chequear Trailing TrailingSL(); if (last != iTime(m_symbol.Name(), PERIOD_D1, 0)) { if (isTradingTime) { if (hourCurrent >= InpStartHour) { DeleteOldOrds(); OpenOrder(); last = iTime(m_symbol.Name(), PERIOD_D1, 0); } } else { DeleteOldOrds(); OpenOrder(); last = iTime(m_symbol.Name(), PERIOD_D1, 0); } } } 6. Video Tutorial Para profundizar en el uso de MQL4 y MQL5, aquí tienes unos videos:

2022.12.14
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
Trailing Stop con Parabolic SAR Fijo: Optimiza tus Operaciones en MetaTrader 5
MetaTrader5
Trailing Stop con Parabolic SAR Fijo: Optimiza tus Operaciones en MetaTrader 5

¡Hola, traders! Hoy les traigo un tema muy interesante para quienes operan en MetaTrader 5: el uso del Trailing Stop con Parabolic SAR fijo. Este enfoque te permite especificar directamente el punto de inicio del Parabolic SAR, lo que puede ser clave para maximizar tus ganancias y proteger tus inversiones. Parámetros Algunos de los parámetros que puedes configurar son: Modo de Trailing: Ninguno / Trailing Fijo / Trailing Fijo con Parabolic SAR Esta es la parte de cálculo del Parabolic SAR: bool CSampleExpert::LongModifiedEx(void) { bool res=false; //--- chequeo del trailing stop if(m_trailing_max < m_last_bar.high) { double tp=m_position.TakeProfit(); double sl=m_position.StopLoss(); //--- cálculo del ParabolicSAR m_trailing_max = m_last_bar.high; m_trailing_step = fmin(InpPSAR_Maximum, m_trailing_step + InpPSAR_Step); double sar_stop = sl + (m_trailing_max - sl)* m_trailing_step; sar_stop=NormalizeDouble(sar_stop,m_symbol.Digits()); //--- if((sl==0.0 || sl < sar_stop) && sar_stop < m_symbol.Bid()) { //--- modificar posición if(m_trade.PositionModify(Symbol(),sar_stop,tp)) printf("Posición larga de %s a modificar",Symbol()); else { printf("Error al modificar la posición de %s: '%s'",Symbol(),m_trade.ResultComment()); printf("Modificar parámetros: SL=%f,TP=%f",sar_stop,tp); } //--- posición modificada y debemos salir del experto res=true; } } //--- resultado return(res); }

2022.07.09
Primero Anterior 6 7 8 9 10 11 12 13 14 15 16 Siguiente Último