Trading Sistemático

MeanReversionTrendEA: Estrategia de Trading para MetaTrader 5
MetaTrader5
MeanReversionTrendEA: Estrategia de Trading para MetaTrader 5

1. Resumen MeanReversionTrendEA combina estrategias de seguimiento de tendencias y de reversión a la media utilizando Medias Móviles y mediciones de volatilidad basadas en ATR, con un sistema de validación de operaciones incorporado que asegura una ejecución confiable en diversas condiciones de mercado. 2. Características Principales Estrategia Dual: Integra el seguimiento de tendencias (cruces de MA) y la reversión a la media (desviaciones de precio respecto a la MA). Señales Adaptativas: Utiliza medias móviles rápidas y lentas para identificar tendencias. Integración de Volatilidad: Incorpora ATR para medir la volatilidad del mercado y determinar entradas por reversión a la media. Validador Interno: Sistema de validación de operaciones que verifica volumen, margen y niveles de stop. Mecanismo de Seguridad: Funcionalidad de trading seguro para validar backtests. Gestión de Posiciones Defensiva: SL/TP fijos o proporcionales con validación adecuada. Compatible con Múltiples Activos: Funciona con forex, materias primas, índices y acciones con un tamaño de lote adecuado. 3. Cómo Funciona Monitorea los cruces de medias móviles para detectar cambios en la dirección de la tendencia. Mide las desviaciones del precio respecto a la MA lenta utilizando bandas de volatilidad basadas en ATR. Genera señales de compra cuando la MA rápida cruza por encima de la MA lenta o el precio cae por debajo de la banda de volatilidad. Genera señales de venta cuando la MA rápida cruza por debajo de la MA lenta o el precio sube por encima de la banda de volatilidad. Valida y ejecuta operaciones con parámetros adecuados de gestión de riesgo. 4. Parámetros de Entrada Fast_MA_Period (20), Slow_MA_Period (50), ATR_Period (14) ATR_Multiplier (2.0) para el cálculo de bandas de reversión a la media LotSize (0.1) para el tamaño de la posición SL_Points (500), TP_Points (1000) para la gestión de riesgo Magic_Number (123456) para la identificación de órdenes 5. Notas de Uso Óptimo para todos los pares de divisas principales y activos líquidos. Funciona en todos los marcos temporales, recomendándose H1-H4 para una mejor calidad de señales. Requiere suficientes datos históricos para un cálculo adecuado de indicadores. Ideal para mercados en tendencia con oportunidades ocasionales de reversión. Sistema de validación robusto que asegura una ejecución adecuada en diferentes brokers. 6. Estructura del Código CTradeValidator: Clase de validación de operaciones completa. Funciones de inicialización de indicadores y procesamiento de datos. Generación de señales que combina lógica de tendencia y reversión. Ejecución de operaciones con validación y gestión de riesgo adecuadas. Mecanismos de seguridad para la integridad de los backtests. 7. Descargo de Responsabilidad Proporcionado tal cual para fines educativos. El rendimiento pasado no es indicativo de resultados futuros. Realiza pruebas exhaustivas en cuentas demo antes de operar en vivo.

2025.03.14
Panel en Vivo para Seguimiento de Múltiples EAs con Números Mágicos en MQL5
MetaTrader5
Panel en Vivo para Seguimiento de Múltiples EAs con Números Mágicos en MQL5

Perspectivas Individuales de EstrategiasCuando tienes varias estrategias en una sola cuenta, el verdadero reto es distinguir el rendimiento de cada una. Sin números mágicos, tendrías que confiar en detalles poco claros como comentarios de operaciones o rangos de tickets. Los números mágicos ofrecen una etiqueta numérica sistemática que el EA aplica automáticamente.Seguimiento Preciso del RendimientoPuedes identificar rápidamente qué sistema tiene un retroceso o cuál está rindiendo excepcionalmente. Este conocimiento facilita la toma de decisiones más rápidas, como decidir pausar un robot que no está funcionando bien o destinar más capital a una estrategia ganadora.Análisis y Registro SimplificadosEn lugar de revisar logs o la pestaña de historial, cuentas con un “panel” conciso que agrega las ganancias totales cerradas de cada EA, el conteo de operaciones y los campos de comentarios relevantes. Esto ayuda con la gestión de registros, la optimización de estrategias e incluso los informes a clientes si gestionas cuentas para otros.Código completo adjunto.Consejos de UsoAdjunta el Script/EA a cualquier gráfico en MT5. Después de la compilación, mostrará inmediatamente una tabla con cada número mágico.Verifica el Tamaño del Gráfico: Si tu ventana de gráfico es muy estrecha, parte del texto puede extenderse fuera de la pantalla a la derecha. Amplía el gráfico o reduce el tamaño de la fuente para una mejor legibilidad.Coincide con la Fuente: Se recomienda Courier New para alinear las columnas, pero puedes cambiarla en el código si prefieres un aspecto diferente.Ajusta los Tiempos: Por defecto, el script se actualiza cada 5 segundos. Modifica EventSetTimer(5) si deseas actualizaciones más frecuentes o menos frecuentes.

2025.02.25
Descarga Historial Completo de Ticks de Símbolos en MetaTrader 5
MetaTrader5
Descarga Historial Completo de Ticks de Símbolos en MetaTrader 5

Si eres trader, seguro que sabes lo importante que es tener acceso a datos históricos completos para tus análisis y pruebas. En este artículo, te mostraré cómo utilizar este código para descargar todos los ticks disponibles de un símbolo en MetaTrader 5. ¿Listo para mejorar tus backtests? Este sistema de trading escaneará el mercado de tu bróker y recopilará los símbolos de los cuales descargará todos los ticks, o hasta una fecha específica que tú decidas. Es ideal para crear gráficos personalizados a partir de esos ticks y realizar análisis más profundos. Recuerda que los ticks se almacenan en la carpeta de datos, así que asegúrate de tener suficiente espacio en tu disco duro. Además, para facilitar la descarga de los símbolos, necesitarás un gestor de descargas primero. Estructura CDownloadManager La estructura CDownloadManager contiene toda la información que necesitamos: struct CDownloadManager { bool m_started,m_finished; string m_symbols[],m_current; int m_index; } Estado de la descarga (iniciada/terminada) Lista de símbolos a escanear Símbolo actual Índice del símbolo que se está escaneando También necesitaremos leer y escribir en el disco duro, así que creamos dos funciones rápidas para manejar cadenas de texto en archivos binarios. Función para guardar cadenas en un archivo: void writeStringToFile(int f,string thestring) { // Guardar cadena de símbolo char sysave[]; int charstotal=StringToCharArray(thestring,sysave,0,StringLen(thestring),CP_ACP); FileWriteInteger(f,charstotal,INT_VALUE); for(int i=0;i<charstotal;i++) { FileWriteInteger(f,sysave[i],CHAR_VALUE); } } Esta función recibe: El identificador del archivo f, que debe abrirse con los flags FILE_WRITE|FILE_BIN La cadena que se va a escribir en el archivo La función escribe primero un entero que indica cuántos caracteres hay en la cadena y luego almacena cada carácter. Función para cargar cadenas desde un archivo: string readStringFromFile(int f) { string result=""; // Cargar cadena de símbolo char syload[]; int charstotal=(int)FileReadInteger(f,INT_VALUE); if(charstotal>0) { ArrayResize(syload,charstotal,0); for(int i=0;i<charstotal;i++) { syload[i]=(char)FileReadInteger(f,CHAR_VALUE); } result=CharArrayToString(syload,0,charstotal,CP_ACP); } return(result); } Esta función recibe: El identificador del archivo f, que debe abrirse con los flags FILE_READ|FILE_BIN Lee primero un entero que indica cuántos caracteres se esperan en ese punto del archivo, luego lee cada carácter en un arreglo y finalmente genera una cadena a partir de ese arreglo que se devuelve como resultado. Inicializando el Gestor de Descargas Ahora, necesitamos una forma de inicializar el gestor y llenarlo a partir del mercado: //+------------------------------------------------------------------+ //| Obtener símbolos del mercado                               | //+------------------------------------------------------------------+ void grab_symbols() { //! Solo desde el mercado! int s=SymbolsTotal(true); ArrayResize(m_symbols,s,0); for(int i=0;i<ArraySize(m_symbols);i++) { m_symbols[i]=SymbolName(i,true); } } Es muy sencillo: Solicitamos cuántos símbolos hay en el mercado (activos) Redimensionamos nuestro arreglo m_symbols para recibirlos Recorremos los símbolos y solicitamos el nombre de cada símbolo El siguiente paso es manejar el proceso de descarga de los datos del símbolo, así que necesitaremos una función que actúe como gestor: //+------------------------------------------------------------------+ //| Gestionar el proceso de descarga de símbolos                           | //+------------------------------------------------------------------+ void manage(string folder,string filename) { // Esencialmente, esto inicia o navega al siguiente símbolo // si está configurado if(ArraySize(m_symbols)>0) { // Si no ha comenzado if(!m_started) { m_started=true; // Ir al primer símbolo m_current=m_symbols[0]; m_index=1; save(folder,filename); if(_Symbol!=m_current) { ChartSetSymbolPeriod(ChartID(),m_current,_Period); } else { ENUM_TIMEFRAMES new_period=PERIOD_M1; for(int p=0;p<ArraySize(TFS);p++) { if(_Period!=TFS[p]) { new_period=TFS[p]; break; } } ChartSetSymbolPeriod(ChartID(),m_current,new_period); } return; } // Si comenzó else { m_index++; if(m_index<=ArraySize(m_symbols)) { m_current=m_symbols[m_index-1]; save(folder,filename); if(_Symbol!=m_current) { ChartSetSymbolPeriod(ChartID(),m_current,_Period); } return; } else { m_finished=true; FileDelete(folder+"\"+filename); Print("Finalizado"); ExpertRemove(); return; } } } else { Print("Por favor, obtén los símbolos primero"); } } ¿Cómo funciona el sistema? Se abre el gráfico, necesitas al menos un gráfico y se establece un temporizador. Ese temporizador se ejecuta y cancelamos el temporizador. Verificamos si se trata de una nueva descarga o una descarga continuada. Si es una nueva descarga, configuramos el gestor obteniendo todos los símbolos. Si es una descarga continuada, descargamos datos del símbolo actual. Esta es la parte del código que lleva a cabo la descarga en el temporizador: //+------------------------------------------------------------------+ //| Temporizador                                                             | //+------------------------------------------------------------------+ void OnTimer() { //--- si está sincronizado if(SymbolIsSynchronized(_Symbol)&&TerminalInfoInteger(TERMINAL_CONNECTED)==1) { EventKillTimer(); //--- cargar el sistema aquí if(MANAGER.load(MANAGER_FOLDER,MANAGER_STATUS_FILE)) { //--- sistema cargado, estamos procesando un símbolo Comment("Sistema cargado y estamos procesando "+MANAGER.m_current); //--- carga de ticks //--- encontrar el tick más antiguo disponible en el bróker int attempts=0; int ping=-1; datetime cursor=flatten(TimeTradeServer()); long cursorMSC=((long)cursor)*1000; long jump=2592000000;//60*60*24*30*1000; MqlTick receiver[]; long oldest=LONG_MAX; Comment("Por favor, espera"); while(attempts<5) { ping=CopyTicks(_Symbol,receiver,COPY_TICKS_ALL,cursorMSC,1); if(ping==1) { if(receiver[0].time_msc==oldest) { attempts++; } else { attempts=0; } if(receiver[0].time_msc<oldest) { oldest=receiver[0].time_msc; } cursorMSC-=jump; if(limitDate&&receiver[0].time<=oldestLimit) { break; } } else { attempts++; } Sleep(44); Comment("Tick más antiguo : "+TimeToString((datetime)(oldest/1000),TIME_DATE|TIME_MINUTES|TIME_SECONDS)+"\nCursor("+TimeToString((datetime)(cursorMSC/1000),TIME_DATE|TIME_MINUTES|TIME_SECONDS)+")\nIntentos("+IntegerToString(attempts)+")\nPor favor, espera la respuesta..."); } //--- en este punto tenemos el tick más antiguo //--- comenzamos a solicitar ticks desde el más antiguo al más nuevo if(oldest!=LONG_MAX) { ArrayFree(receiver); datetime newest_tick=0; //--- recibir la hora del último tick para este símbolo almacenado en symbol_time datetime most_recent_candle=(datetime)SymbolInfoInteger(_Symbol,SYMBOL_TIME); while(newest_tick<most_recent_candle) { //--- solicitar un nuevo lote comenzando desde el tick más antiguo con el límite de ticks especificado int pulled=CopyTicks(_Symbol,receiver,COPY_TICKS_ALL,oldest,tick_packets); if(pulled>0) { //--- si extraemos un nuevo lote, actualizamos nuestros tiempos descargados newest_tick=receiver[pulled-1].time; oldest=receiver[pulled-1].time_msc; ArrayFree(receiver); } //--- tiempo de espera para las solicitudes del servidor, puedes alterarlo si lo deseas Sleep(44); Comment("Se extrajo hasta "+TimeToString(newest_tick,TIME_DATE|TIME_MINUTES|TIME_SECONDS)+" hasta ahora"); } } else { Alert("Por favor, cierra el terminal \n ve a la carpeta de ticks \n y elimina las carpetas vacías"); ExpertRemove(); } //--- actualiza el gestor y sigue adelante MANAGER.manage(MANAGER_FOLDER,MANAGER_STATUS_FILE); } else { //--- obtener los símbolos del mercado para empezar la descarga Comment("Obteniendo MW y comenzando"); MANAGER.grab_symbols(); MANAGER.manage(MANAGER_FOLDER,MANAGER_STATUS_FILE); } } }

2025.02.22
Smart Trend Follower: Asesor Experto para MetaTrader 5
MetaTrader5
Smart Trend Follower: Asesor Experto para MetaTrader 5

1. Tipos de Enum (enumJnsSignal, enumOrderType)enumJnsSignal: Este enum define el tipo de señal que utiliza el Asesor Experto. Existen dos opciones de señal:eTypeCrossMA: Utiliza la señal de Cruz de 2 MA (el cruce de dos Medias Móviles).eTypeTrend: Sigue la tendencia usando Medias Móviles y Stochastic.enumOrderType: Este enum define el tipo de orden:eBuy: Una orden de Compra.eSell: Una orden de Venta.eNone: Sin orden ejecutada.2. Parámetros de EntradainMagicNumber: Un número mágico único para distinguir las órdenes de este Asesor Experto.inLotSize: El tamaño inicial del lote para cada orden.inMultiply: El factor multiplicador utilizado en la estrategia de tamaño de lote.inJarakLayer: La distancia en pips entre posiciones de trading en la estrategia de rejilla/capa.inMAPeriodFast & inMAPeriodSlow: Los períodos para las Medias Móviles rápida y lenta.inSTOKPeriod, inSTODPeriod, inSTOSlowing: Parámetros para el Oscilador Estocástico.inTakeProfit & inStopLoss: Configuraciones para el Take Profit y el Stop Loss.3. Estructura de datos dataTradesEsta estructura se utiliza para almacenar datos relacionados con las posiciones de trading abiertas, como el número total de posiciones (ttlPos), el precio promedio de las posiciones (hargaTA, hargaTB) y el volumen total (ttlLot).4. Función OnInit()Esta función maneja la inicialización del Asesor Experto, incluyendo la validación de los parámetros de entrada (por ejemplo, asegurándose de que el período de la MA rápida sea menor que el de la MA lenta) y creando manejadores para los indicadores de MA y Stochastic.5. Función OnTick()La función principal que se ejecuta cada vez que el precio se mueve (tick). Se llama a la función para verificar una nueva señal con GetSignal(), y si se encuentra una señal, se utiliza manageTrading() para ejecutar las operaciones. También se llama a setTPSL() para garantizar que el Take Profit y el Stop Loss se actualicen siempre.6. Función isNewCandle()Esta función detecta si se ha formado una nueva vela. Esto es importante porque el Asesor Experto solo verifica señales en nuevas formaciones de velas.7. Función GetSignal()Esta función determina si existe una señal de trading válida según la estrategia seleccionada:Para eTypeCrossMA, la señal se determina por el cruce de las Medias Móviles rápida y lenta.Para eTypeTrend, la señal utiliza confirmación de la MA y Stochastic.8. Función manageTrading()Esta función gestiona la ejecución de operaciones. Si se detecta una señal válida, el Asesor Experto abre una posición con el tamaño de lote determinado utilizando la función getLotSize(). También se aplica una estrategia de rejilla/capa para abrir posiciones adicionales basadas en la distancia de precio (inJarakLayer).9. Función updateDataTrades()Esta función actualiza los datos relacionados con las posiciones de trading en curso, como el cálculo del precio promedio y el volumen total de las posiciones abiertas.10. Función openTrade()Esta función abre una nueva posición de trading basada en la señal generada y el tamaño de lote calculado. Utiliza OrderSend() para ejecutar la orden.11. Función setTPSL()Esta función establece o actualiza el Take Profit y el Stop Loss para cada posición abierta.12. Función modifTPSL()Esta función modifica el Take Profit y el Stop Loss de las posiciones existentes si los valores difieren de lo que se había establecido anteriormente.13. Función validateLot()Esta función asegura que el tamaño del lote utilizado esté dentro del rango mínimo y máximo permitido, así como en línea con el paso mínimo de lote (gLotStep).14. Función getLotSize()Esta función calcula el tamaño del lote a utilizar en base al tamaño inicial del lote y el número de posiciones ya abiertas, teniendo en cuenta el factor multiplicador (inMultiply).Este código está diseñado para capturar las tendencias del mercado y gestionar las posiciones de trading automáticamente utilizando señales técnicas de Medias Móviles y Stochastic.

2025.02.04
EA CloseAll: Tu aliado en MetaTrader 4 para cerrar todas tus órdenes
MetaTrader4
EA CloseAll: Tu aliado en MetaTrader 4 para cerrar todas tus órdenes

Si eres trader, seguramente has enfrentado momentos en los que necesitas cerrar todas tus posiciones de forma rápida y efectiva. Aquí es donde entra en juego el CloseAllOrdersEA en MetaTrader 4, una herramienta que te puede hacer la vida mucho más fácil. ¿Quieres saber cómo puede beneficiarte? Aquí te dejo unas razones:Cierre de Emergencia: En situaciones de movimientos inesperados del mercado, este EA te permite cerrar todas tus órdenes abiertas y pendientes de una sola vez, ayudándote a minimizar pérdidas.Gestión de Riesgos: Es una herramienta esencial para gestionar riesgos, ya que te permite limpiar tu cartera instantáneamente cuando detectas un cambio significativo en las condiciones del mercado.Eficiencia de Tiempo: Cerrar cada orden manualmente puede ser muy tedioso, especialmente durante periodos de alta volatilidad. Con este EA, automatizas el proceso y ahorras un montón de tiempo.Evitar el Trading Emocional: Al automatizar el cierre de todas tus órdenes, eliminas la toma de decisiones emocionales. Las decisiones se basan en reglas preestablecidas, no en pánico o avaricia.Pruebas y Cambios de Estrategia: Si estás probando nuevas estrategias o necesitas cambiar de enfoque, cerrar todas las posiciones rápidamente te permite empezar de cero y aplicar tus nuevas ideas sin problemas.Reducción de Errores: El trading manual puede llevar a cometer errores humanos, como cerrar la orden equivocada. Este EA ayuda a reducir esos riesgos al llevar a cabo la tarea de manera sistemática.Trading Fuera de Horario: Si necesitas cerrar todas tus posiciones antes de dejar tu estación de trading o durante horas no operativas, este EA puede configurarse para hacerlo automáticamente.

2025.01.25
Cómo usar el Calendario MQL5 para un EA que reacciona a eventos de noticias Forex
MetaTrader5
Cómo usar el Calendario MQL5 para un EA que reacciona a eventos de noticias Forex

Hoy vamos a hablar sobre un Asesor Experto (EA) que utiliza el Calendario MQL5 para crear un sistema de trading automatizado que reacciona a eventos de noticias Forex de alto impacto. El objetivo principal de este código es educativo: enseñar a traders y desarrolladores cómo interactuar con el Calendario MQL5 para identificar y operar en torno a publicaciones económicas significativas, como los datos de inflación (CPI/PPI) o decisiones sobre tasas de interés. Este EA emplea las funciones del Calendario MQL5 para identificar eventos de noticias próximos que son relevantes para el símbolo que se está operando. Si se detecta un evento de alto impacto para la divisa base o de cotización, el EA implementa una estrategia de breakout colocando órdenes pendientes (Buy Stop y Sell Stop) por encima y por debajo del precio actual. Este enfoque busca capturar movimientos de precios impulsados por la volatilidad generada por las publicaciones de noticias. El EA ofrece varios parámetros personalizables para ajustar su comportamiento: Tipo: El usuario puede seleccionar si el EA debe operar en modo trading o enviar alertas cada vez que se detecte un evento de noticias de alto impacto en el futuro cercano. Magic: Especifica el número mágico de las órdenes, si se selecciona el modo trading. TPPoints: Puntos de Take Profit, relevantes solo si se selecciona el modo trading. SLPoints: Puntos de Stop Loss, relevantes solo si se selecciona el modo trading. Volumen: El volumen utilizado para las órdenes pendientes, relevante solo si se selecciona el modo trading. Si deseas entender mejor el código o las noticias en general y quieres conocer más sobre cómo está estructurado el calendario en MQL5, asegúrate de ver el video que he creado al respecto. ¡Te ayudará a sacarle el máximo provecho a tu trading!

2025.01.22
Optimiza tu Trading con el Panel de Observación de Mercados para MetaTrader 4
MetaTrader4
Optimiza tu Trading con el Panel de Observación de Mercados para MetaTrader 4

¿Qué es el Panel de Observación de Mercados? El Panel de Observación de Mercados es una herramienta imprescindible para los traders que buscan monitorear en tiempo real los símbolos financieros. Con una interfaz limpia e intuitiva, este panel te muestra datos clave como los precios de cierre, facilitando la toma de decisiones informadas. Características Principales Diseñado específicamente para MetaTrader 4, este panel permite a los traders: Cambiar rápidamente entre símbolos. Apilar múltiples símbolos para un análisis más enfocado. Filtrar la lista de símbolos según tus necesidades. Además, el panel ofrece una experiencia de trading personalizable, lo que significa que puedes adaptar su apariencia a tu gusto y seguir los movimientos del mercado de manera eficiente. Almacenamiento de Símbolos Una de las funcionalidades más útiles es la capacidad de guardar los símbolos en un archivo de texto. Esto asegura que cada vez que abras el panel, cargue automáticamente con los símbolos que has guardado. También puedes: Guardar y restablecer la lista de símbolos. Personalizar los colores del texto y la ventana del panel. Funciona como una ventana de datos de mercado tradicional, dándote una forma sencilla de monitorear los precios de los símbolos y mantenerte actualizado. Configuraciones del Panel A continuación, te presento las principales configuraciones que puedes ajustar: Color de fondo del panel: Establece el color de fondo de todo el panel (por defecto: Blanco). Color del texto del panel: Define el color del texto que se muestra en el panel (por defecto: Azul Oscuro). Color de fondo del área de cliente: Ajusta el color de fondo del área cliente dentro del panel (por defecto: Gris Claro). Color del texto principal del panel: Especifica el color del texto principal dentro del panel (por defecto: Púrpura). Personaliza tu Botón ***NOTA***: El código actual del Panel de Observación de Mercados no incluye una imagen de botón por defecto. Si no agregas una imagen BMP, el botón funcionará pero permanecerá invisible. Para personalizar la imagen del botón: Coloca tu propia imagen BMP (formato de 24 bits) en la carpeta MQL5/Images. Modifica el código para que haga referencia a tu imagen personalizada cambiando la ruta del recurso. Asegúrate de que la imagen esté correctamente formateada y que la ruta sea precisa para evitar errores durante la compilación. Esto te permitirá personalizar el panel usando tus propias imágenes de botón.

2025.01.20
Panel de Intercambio de Símbolos: Mejora tu Trading en MetaTrader 4
MetaTrader4
Panel de Intercambio de Símbolos: Mejora tu Trading en MetaTrader 4

Descripción: El "Panel de Intercambio de Símbolos" es una herramienta versátil creada para traders que buscan gestionar sus símbolos de gráfico y el Market Watch de manera más eficiente. Con esta utilidad, podrás cambiar fácilmente el símbolo actual en tu gráfico mientras se agrega automáticamente el símbolo seleccionado al Market Watch. Este panel está diseñado para quienes requieren acceso rápido a múltiples símbolos y datos de mercado en tiempo real, sin interrumpir su flujo de trabajo. Características Clave: 1. Cambio de Símbolos Sin Complicaciones:    - Cambia instantáneamente el símbolo activo en tu gráfico con un solo clic. Esta función permite ajustes rápidos en tu estrategia de trading sin necesidad de navegar manualmente a través de múltiples configuraciones. 2. Integración Automática con el Market Watch:    - Cada vez que cambias un símbolo en el gráfico, el nuevo símbolo se agrega automáticamente al Market Watch, asegurando que tengas acceso inmediato a datos en tiempo real e información del mercado. 3. Flujo de Trabajo de Trading Mejorado:    - Al integrar la gestión de símbolos con el Market Watch, el panel optimiza tu proceso de trading, reduciendo el tiempo y el esfuerzo necesarios para monitorear y analizar múltiples símbolos. 4. Análisis de Datos Históricos:    - El panel permite intercambios de símbolos basados en datos históricos, lo que permite a los traders revisar y analizar condiciones de mercado pasadas para tomar decisiones más informadas. 5. Optimizado para Carga de Datos Precisa:    - La herramienta está diseñada para manejar la sincronización de datos de manera eficiente. Sin embargo, al cambiar de marcos temporales, se recomienda alternar entre ellos para asegurarte de que todos los datos relevantes se carguen correctamente y mantener un rendimiento consistente. Caso de Uso Práctico: Para un trader que monitorea frecuentemente múltiples símbolos, el Panel de Intercambio de Símbolos ofrece una forma rápida y eficiente de cambiar entre gráficos y actualizar el Market Watch sin interrumpir el análisis de mercado. Ya sea que estés analizando diferentes pares de divisas o acciones, esta herramienta asegura que todos los datos relevantes estén accesibles en tiempo real, mejorando tu capacidad de respuesta ante cambios en el mercado. Esta utilidad es ideal para traders activos y analistas que requieren un enfoque simplificado para gestionar símbolos y entradas del Market Watch, ofreciendo una solución práctica para mantener el enfoque y la eficiencia en entornos de trading de rápido movimiento. ***NOTA***:El código actual del "Panel de Intercambio de Símbolos" no incluye una imagen de botón por defecto. Sin agregar una imagen BMP, el botón funcionará, pero permanecerá invisible.  Para personalizar la imagen del botón en el Panel de Intercambio de Símbolos, sigue estos pasos: Coloca tu propia imagen BMP (formato de 24 bits) en la carpeta MQL5/Images. Modifica el código para hacer referencia a tu imagen personalizada cambiando la ruta del recurso para apuntar al nuevo archivo de imagen. Asegúrate de que la imagen esté correctamente formateada y que la ruta sea precisa para evitar errores durante la compilación. Esto permite a los usuarios personalizar el panel utilizando sus propias imágenes de botón. Enlace al producto: MT5: https://www.mql5.com/en/market/product/122618 MT4: https://www.mql5.com/en/market/product/122620

2025.01.19
Panel de Intercambio de Símbolos: Optimiza tu Trading en MetaTrader 5
MetaTrader5
Panel de Intercambio de Símbolos: Optimiza tu Trading en MetaTrader 5

Descripción: El "Panel de Intercambio de Símbolos" es una herramienta versátil pensada para traders que buscan gestionar sus símbolos en gráficos y el Market Watch de manera más eficiente. Con esta utilidad, puedes intercambiar fácilmente el símbolo actual en tu gráfico, mientras se añade automáticamente el símbolo seleccionado al Market Watch. Este panel está diseñado para aquellos que necesitan acceso rápido a varios símbolos y datos de mercado en tiempo real, sin interrumpir su flujo de trabajo. Características Clave: 1. Intercambio de Símbolos Sin Complicaciones:    - Cambia instantáneamente el símbolo activo en tu gráfico con un solo clic. Esta función permite realizar ajustes rápidos a tu estrategia de trading sin tener que navegar manualmente por múltiples configuraciones. 2. Integración Automática con el Market Watch:    - Cada vez que intercambias un símbolo en el gráfico, el nuevo símbolo se añade automáticamente al Market Watch, asegurando que tienes acceso inmediato a datos y información de mercado en tiempo real. 3. Flujo de Trabajo de Trading Mejorado:    - Al integrar la gestión de símbolos con el Market Watch, el panel agiliza tu proceso de trading, reduciendo el tiempo y esfuerzo necesarios para monitorear y analizar múltiples símbolos. 4. Análisis de Datos Históricos:    - El panel soporta intercambios de símbolos basados en datos históricos, permitiendo a los traders revisar y analizar condiciones de mercado pasadas para tomar decisiones más informadas. 5. Optimizado para Carga de Datos Precisa:    - La herramienta está diseñada para manejar la sincronización de datos de manera eficiente. Sin embargo, al cambiar de marcos de tiempo, se recomienda alternar entre ellos para asegurar que todos los datos relevantes se carguen con precisión y mantengan un rendimiento consistente. Caso Práctico: Para un trader que monitorea frecuentemente múltiples símbolos, el Panel de Intercambio de Símbolos ofrece una forma rápida y eficiente de cambiar entre gráficos y actualizar el Market Watch sin interrumpir el análisis del mercado. Ya sea que estés analizando diferentes pares de divisas o acciones, esta herramienta garantiza que todos los datos relevantes estén accesibles en tiempo real, mejorando tu capacidad de respuesta ante cambios en el mercado. Esta utilidad es ideal para traders activos y analistas que requieren un enfoque simplificado para gestionar símbolos y entradas en el Market Watch, ofreciendo una solución práctica para mantener el enfoque y la eficiencia en entornos de trading dinámicos. ***NOTA***: Para personalizar la imagen de los botones en el Panel de Intercambio de Símbolos, sigue estos pasos: Coloca tu propia imagen BMP (formato 24 bits) en la carpeta MQL5/Images. Modifica el código para referenciar tu imagen personalizada cambiando la ruta del recurso para apuntar al nuevo archivo de imagen. Asegúrate de que la imagen esté correctamente formateada y que la ruta sea precisa para evitar errores durante la compilación. Esto permite a los usuarios personalizar el panel utilizando sus propias imágenes de botón. Enlace al producto: MT5: https://www.mql5.com/en/market/product/122618 MT4: https://www.mql5.com/en/market/product/122620

2025.01.19
MarketPredictor: Tu Asesor Experto Para MetaTrader 5
MetaTrader5
MarketPredictor: Tu Asesor Experto Para MetaTrader 5

Hola a todos, Hoy estoy emocionado de presentarles mi proyecto de código abierto, MarketPredictor, un innovador Asesor Experto (AE) para MetaTrader 5. Este sistema de trading utiliza modelos matemáticos probados, como funciones sinusoidales, Transformada Rápida de Fourier (FFT), funciones sigmoides y simulaciones de Monte Carlo, para analizar y predecir con precisión los movimientos del mercado. Este proyecto está dirigido a desarrolladores, entusiastas de las matemáticas y traders apasionados por la intersección de la tecnología y los mercados financieros. Fundamentos Matemáticos: Funciones Sinusoidales: Modelan movimientos cíclicos de precios y ayudan a identificar tendencias a largo plazo. Transformada Rápida de Fourier (FFT): Analiza datos históricos de precios para identificar patrones de frecuencia dominantes. Funciones Sigmoides: Capturan movimientos no lineales del mercado, considerando la volatilidad. Simulaciones de Monte Carlo: Pronostican escenarios futuros de precios modelando desviaciones aleatorias. Estado del Proyecto y Desafíos Actuales: El AE se ha desarrollado con una lógica de trading exhaustiva y funciones analíticas. Sin embargo, actualmente no está ejecutando operaciones, a pesar de que la estrategia de trading está implementada. Este proyecto se publica como código abierto para colaborar con la comunidad y resolver este problema, además de mejorar el AE. ¿Qué Hace el MarketPredictor? Componente Sinusoidal: Identifica patrones cíclicos y tendencias del mercado utilizando frecuencias aleatorias. Componente Fractal (FFT): Descompone datos históricos de precios para analizar tendencias dominantes. Componente Sigmoide: Modela el impacto de saltos de precios y volatilidad. Simulación de Monte Carlo: Simula movimientos futuros de precios y calcula predicciones promedio. Lógica de Trading: Ejecuta decisiones de compra y venta basadas en precios pronosticados y umbrales predefinidos. ¿Cómo Puedes Ayudar? Optimización de Parámetros: ¿Hay parámetros adicionales que podríamos introducir o ajustar? Mejorando la Lógica de Trading: ¿Qué estrategias podríamos agregar para mejorar la efectividad? Corrección de Errores: ¿Por qué no se están ejecutando las operaciones? ¿Hay optimizaciones para la lógica? Mejoras en el Rendimiento: ¿Qué enfoques podrían mejorar la eficiencia y velocidad del AE? Herramientas Analíticas Avanzadas: ¿Qué modelos matemáticos o estadísticos adicionales podrían integrarse? Repositorio y Licencia: El código fuente completo está disponible en GitHub: ComplexMarketPredictor para MetaTrader 5 – Repositorio de GitHub Licencia: Este proyecto se publica bajo la licencia adjunta, que detalla claramente los términos de uso y redistribución del código. Por favor, revisa cuidadosamente la licencia para evitar malentendidos. El archivo de licencia subido define precisamente qué derechos y restricciones aplican. Nota Importante: Por favor, prueba el MarketPredictor a fondo en una cuenta demo y realiza pruebas retrospectivas extensas antes de utilizarlo en un entorno real. Esto asegurará la fiabilidad y rendimiento del AE. ¡Espero sus comentarios, sugerencias y contribuciones! Juntos, podemos desarrollar este proyecto en una herramienta poderosa y valiosa. Un saludo, Mustafa Seyyid Sahin

2024.12.11
SUPERMACBOT: Tu Robot de Trading Automático para MetaTrader 5
MetaTrader5
SUPERMACBOT: Tu Robot de Trading Automático para MetaTrader 5

El SUPERMACBOT es un robot de trading totalmente automatizado que combina la potencia de la estrategia de Crossover de Medias Móviles con el Indicador MACD, ofreciendo señales de trading precisas y confiables. Este Asesor Experto está diseñado para funcionar sin problemas en todos los símbolos y todos los marcos de tiempo, brindando versatilidad y adaptabilidad a los traders en diversas condiciones del mercado. Características Principales: Estructura de Doble Estrategia: Crossover de Medias Móviles: Detecta reversiones de tendencia y oportunidades de trading analizando el cruce de dos medias móviles (rápida y lenta). Confirmación MACD: Valida las señales utilizando la línea MACD, la línea de señal y el histograma para una mayor precisión. Compatibilidad Multiframe: Se ajusta automáticamente a cualquier marco de tiempo, siendo adecuado para scalping, trading diario y swing trading. Gestión de Riesgos Robusta: Cuenta con niveles personalizables de Stop Loss y Take Profit para proteger tu cuenta. Incluye una opción de tamaño de lote fijo para un tamaño de posición consistente. Funcionalidad de Trailing Stop: Integra un trailing stop basado en la Media Móvil para maximizar ganancias mientras asegura beneficios. Altamente Configurable: Parámetros para Medias Móviles (período, método, precio aplicado). Ajustes personalizables de MACD (EMA rápida, EMA lenta, línea de señal). Umbrales ajustables para la generación de señales y ejecución de operaciones. Automatización Sin Esfuerzo: Opera en cualquier gráfico con una configuración mínima, ahorrando tiempo y eliminando el sesgo emocional de las decisiones de trading. ¿Por Qué Elegir SUPERMACBOT? Generación de Señales Precisas: Combina la detección de tendencias y el análisis de momentum para operaciones de alta probabilidad. Versatilidad: Funciona en todos los instrumentos del mercado y marcos de tiempo sin ajustes manuales. Fácil de Usar: Ideal tanto para principiantes como para traders avanzados que buscan automatizar sus estrategias. Opciones de Entrada y Personalización: Parámetros de Medias Móviles: Períodos, desplazamiento, método y tipo de precio. Ajustes de MACD: EMA rápida, EMA lenta y período de suavizado de la señal. Gestión de Riesgos: Tamaño de lote fijo, niveles de Stop Loss y Take Profit. Trailing Stop: Mecanismo de trailing configurable basado en Medias Móviles. Soporte y Actualizaciones: Actualizaciones gratuitas para mejorar el rendimiento y agregar nuevas funciones. Soporte dedicado para instalación, optimización y solución de problemas. ¡Prueba SUPERMACBOT Hoy y Automatiza Tu Camino hacia el Éxito en el Trading!

2024.11.15
Copiador de Trades MT5: Potencia tu Estrategia con un EA Eficiente
MetaTrader5
Copiador de Trades MT5: Potencia tu Estrategia con un EA Eficiente

El Sistema de Trading está basado en una serie de conceptos clave que son fundamentales para los traders: Concepto de Copiado de Trades/Mirror Trading: La idea principal es replicar la actividad de trading de una cuenta (Maestra) a otra cuenta (Esclava). Esto resulta útil para: Gestores de fondos que manejan múltiples cuentas de clientes Traders que desean aplicar la misma estrategia en diferentes brokers Distribución de riesgos entre distintos brokers Arquitectura de Cuentas: Sistema de dos niveles: Cuenta Maestra: Fuente original de las operaciones Cuentas Esclavas: Copian y reflejan las posiciones de la cuenta maestra Utiliza un sistema de comunicación basado en archivos entre las instancias maestra y esclava. Métodos de Implementación Técnica: Comunicación a través de Archivos Binarios: La cuenta maestra escribe los datos de posición en un archivo binario La cuenta esclava lee este archivo para sincronizar las posiciones Utiliza acceso a carpetas comunes para la comunicación entre terminales Rápido y eficiente, a diferencia de los métodos basados en texto Gestión de Posiciones: Seguimiento en tiempo real de las posiciones Se mantienen tres aspectos clave: Replicación de posiciones abiertas Sincronización de niveles de stop loss y take profit Sincronización del cierre de posiciones Mapeo de Símbolos: Gestiona diferentes nombres de símbolos entre brokers Por ejemplo: XAUUSD.ecn en un broker podría ser GOLD en otro Permite un mapeo flexible de símbolos según las convenciones de cada broker Principios de Gestión de Riesgos: Mantiene tamaños de posición exactos Preserva niveles de stop loss y take profit Asegura una gestión de riesgos sincronizada entre cuentas Características Operativas: Polling regular (cada 50ms) para verificar cambios Verificación bidireccional: Chequea nuevas posiciones para copiar Verifica que las posiciones existentes sigan siendo válidas Cierra posiciones que ya no existen en la cuenta maestra Gestión de Errores y Recuperación: Gestión de problemas comunes en trading: Fallo en la ejecución de órdenes Fallos de comunicación Problemas de disponibilidad de símbolos Diferencias de precios entre brokers

2024.11.11
Asesor Experto Simplificado 'EuroSurge' para MetaTrader 4: Tu Aliado en el Trading
MetaTrader4
Asesor Experto Simplificado 'EuroSurge' para MetaTrader 4: Tu Aliado en el Trading

Hoy quiero hablarte sobre una herramienta muy útil para los traders que operan en el mercado de divisas: el Asesor Experto 'EuroSurge' para MetaTrader 4 (MT4). Esta versión simplificada está diseñada para facilitar la generación de señales de trading a través de múltiples indicadores técnicos, además de ofrecer opciones para configurar el tamaño de las operaciones y gestionar las transacciones bajo condiciones específicas. Los ajustes predeterminados están optimizados para el par EUR/USD en gráficos de 5 minutos, basados en optimizaciones desde 2020. Parámetros de Entrada Cálculo del Tamaño de la Operación: El EA permite tres tipos de cálculo para el tamaño de la operación: Tamaño de lote fijo. Porcentaje del saldo (porcentaje del saldo de la cuenta utilizado para calcular el tamaño del lote). Porcentaje del capital (porcentaje del capital de la cuenta utilizado para calcular el tamaño del lote). Parámetros como TamañoLoteFijo, PercentTamañoOperación y NúmeroMágico configuran el tamaño del lote y permiten identificar las operaciones de forma única. Ajustes de Indicadores: El EA utiliza una variedad de indicadores para generar señales de compra y venta: Media Móvil (MA) con periodo configurable. Índice de Fuerza Relativa (RSI) con niveles de sobrecompra/sobreventa ajustables. MACD con configuraciones ajustables para la EMA y la línea de señal. Bollinger Bands con periodos y desvíos ajustables. Oscilador Estocástico con parámetros configurables de %K, %D y ralentización. Cada indicador puede activarse o desactivarse mediante parámetros de entrada como UsarMA, UsarRSI, etc. Detección de Señales EsSeñalCompra(): Esta función verifica si se cumplen todas las condiciones de compra según los indicadores elegidos. Por ejemplo: Condición MA: Verifica si la MA de corto plazo está por encima de la MA de largo plazo. Condición RSI: Busca que el RSI esté por debajo de 50 (relajado del nivel de sobreventa de 30). Condición MACD: Compara la línea MACD y la línea de señal. Condición de Bollinger Bands: Comprueba si el precio está por debajo de la banda inferior. Condición Estocástica: Busca valores de %K y %D por debajo de 50 (relajado de 20). EsSeñalVenta(): Similar a EsSeñalCompra(), pero invertida para las condiciones de venta, tales como: MA Corto < MA Largo. RSI > 50 (relajado de sobrecompra en 70). Línea MACD < línea de señal. Precio por encima de la banda superior de Bollinger, etc. Ejecutando las Operaciones Cuando se cumplen las condiciones de compra o venta, el EA realiza una operación con un stop loss (SL) y un take profit (TP) calculados según multiplicadores (Multiplicador_SL, Multiplicador_TP). El tamaño del lote se calcula utilizando la función CalcularTamañoLote(), que se ajusta según el tipo de tamaño de operación seleccionado. Las órdenes se ejecutan mediante la función OrdenEnviar(), con manejo de errores para verificar posibles problemas al realizar las operaciones.

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