{"id":1094,"date":"2026-09-13T21:41:45","date_gmt":"2026-09-13T19:41:45","guid":{"rendered":"https:\/\/antoniofernandez.net\/?p=1094"},"modified":"2026-10-21T18:15:09","modified_gmt":"2026-10-21T16:15:09","slug":"crear-un-robot-de-trading","status":"publish","type":"post","link":"https:\/\/antoniofernandez.net\/copia-divi\/crear-un-robot-de-trading\/","title":{"rendered":"C\u00f3mo crear un robot de trading desde cero"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/4.-Como-crear-un-robot-de-trading-desde-cero-1024x683.png\" alt=\"C\u00f3mo crear un robot de trading desde cero mediante programaci\u00f3n\" class=\"wp-image-1096\" srcset=\"https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/4.-Como-crear-un-robot-de-trading-desde-cero-1024x683.png 1024w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/4.-Como-crear-un-robot-de-trading-desde-cero-300x200.png 300w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/4.-Como-crear-un-robot-de-trading-desde-cero-768x512.png 768w, https:\/\/antoniofernandez.net\/copia-divi\/wp-content\/uploads\/2026\/09\/4.-Como-crear-un-robot-de-trading-desde-cero.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">El desarrollo de un robot de trading comienza definiendo las reglas de una estrategia y contin\u00faa con su programaci\u00f3n y validaci\u00f3n.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-1 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Crear un robot de trading puede parecer una tarea reservada exclusivamente a programadores, pero el proceso comienza mucho antes de escribir una sola l\u00ednea de c\u00f3digo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-2 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot de trading no es m\u00e1s que un programa capaz de ejecutar unas reglas previamente definidas. Para construirlo correctamente hay que transformar una idea de trading en condiciones objetivas, programarlas, comprobar que funcionan y someter el sistema a diferentes pruebas antes de plantearse utilizarlo en un entorno real.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-3 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso, <strong>crear un robot de trading no consiste simplemente en programar entradas y salidas<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-4 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un desarrollo serio debe tener en cuenta aspectos como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-5\">\n<li>La estrategia.<\/li>\n\n\n\n<li>Las condiciones de entrada.<\/li>\n\n\n\n<li>Las condiciones de salida.<\/li>\n\n\n\n<li>La gesti\u00f3n del riesgo.<\/li>\n\n\n\n<li>El tama\u00f1o de la posici\u00f3n.<\/li>\n\n\n\n<li>Los costes de ejecuci\u00f3n.<\/li>\n\n\n\n<li>Los horarios.<\/li>\n\n\n\n<li>Los filtros de mercado.<\/li>\n\n\n\n<li>El backtesting.<\/li>\n\n\n\n<li>Las pruebas fuera de muestra.<\/li>\n\n\n\n<li>La robustez.<\/li>\n\n\n\n<li>La estabilidad t\u00e9cnica.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-6 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En este art\u00edculo veremos <strong>c\u00f3mo crear un robot de trading desde cero<\/strong>, utilizando como referencia el proceso habitual de desarrollo de un Expert Advisor para plataformas como MetaTrader.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 necesitas para crear un robot de trading?<\/h2>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-7 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de comenzar a programar necesitas definir tres elementos fundamentales:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Una estrategia<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-8 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El robot necesita saber exactamente qu\u00e9 debe hacer.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-9 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No basta con decir:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-color has-link-color wp-elements-10 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\"Comprar cuando el mercado est\u00e9 alcista\".<\/p>\n<\/blockquote>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-11 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esa instrucci\u00f3n es demasiado subjetiva.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-12 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Hay que convertirla en reglas que puedan ser interpretadas por un ordenador.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-13 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-14\">\n<li>El precio debe estar por encima de una determinada media.<\/li>\n\n\n\n<li>La media r\u00e1pida debe estar por encima de la media lenta.<\/li>\n\n\n\n<li>Debe producirse un retroceso.<\/li>\n\n\n\n<li>Debe aparecer una determinada se\u00f1al.<\/li>\n\n\n\n<li>El Stop Loss debe situarse a una distancia concreta.<\/li>\n\n\n\n<li>El Take Profit debe mantener una determinada relaci\u00f3n con el riesgo.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-15 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuanto m\u00e1s precisas sean las reglas, m\u00e1s f\u00e1cil ser\u00e1 automatizarlas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">2. Una plataforma<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-16 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Necesitas una plataforma compatible con sistemas automatizados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-17 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una de las opciones m\u00e1s utilizadas es MetaTrader.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-18 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En <strong>MetaTrader 5<\/strong>, los Expert Advisors pueden desarrollarse mediante <strong>MQL5<\/strong>, un lenguaje creado espec\u00edficamente para desarrollar robots, indicadores y otras aplicaciones relacionadas con el trading. La <a href=\"https:\/\/www.mql5.com\/es\/docs\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n oficial de MQL5<\/a> incluye adem\u00e1s herramientas para desarrollar, probar y optimizar estrategias.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-19 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n existe MetaTrader 4, que utiliza principalmente MQL4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. Un entorno de desarrollo<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-20 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para MetaTrader 5 se utiliza <strong>MetaEditor<\/strong>, que permite escribir, compilar y depurar programas desarrollados en MQL5.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-21 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El lenguaje MQL5 est\u00e1 orientado a la creaci\u00f3n de estrategias autom\u00e1ticas y tiene una sintaxis similar a C++, adem\u00e1s de soportar programaci\u00f3n orientada a objetos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 1. Definir la estrategia antes de programar<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-22 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este es probablemente el paso m\u00e1s importante.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-23 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de escribir c\u00f3digo deber\u00edas poder explicar la estrategia de manera suficientemente precisa como para que otra persona pudiera aplicarla siguiendo \u00fanicamente las reglas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-24 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-25 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Contexto:<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-26 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El mercado presenta una tendencia alcista.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-27 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Condici\u00f3n de entrada:<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-28 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El precio realiza un retroceso y aparece una se\u00f1al determinada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-29 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Stop Loss:<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-30 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Se coloca por debajo del m\u00ednimo de referencia.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-31 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Take Profit:<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-32 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Se establece utilizando una relaci\u00f3n riesgo\/beneficio determinada.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-33 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Filtro:<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-34 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No se permiten operaciones fuera de determinado horario.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-35 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estas reglas ya pueden comenzar a transformarse en c\u00f3digo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 2. Convertir las reglas subjetivas en reglas objetivas<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-36 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este paso es fundamental cuando quieres automatizar una estrategia manual.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-37 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un trader puede decir:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-color has-link-color wp-elements-38 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\"El precio parece estar formando una tendencia alcista.\"<\/p>\n<\/blockquote>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-39 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un ordenador necesita algo mucho m\u00e1s concreto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-40 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-color has-link-color wp-elements-41 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\"La media m\u00f3vil de 20 periodos est\u00e1 por encima de la media m\u00f3vil de 50 periodos y el precio de cierre se encuentra por encima de ambas.\"<\/p>\n<\/blockquote>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-42 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Ahora existe una condici\u00f3n que puede programarse.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-43 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Lo mismo sucede con conceptos como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-44\">\n<li>Tendencia.<\/li>\n\n\n\n<li>Retroceso.<\/li>\n\n\n\n<li>Ruptura.<\/li>\n\n\n\n<li>Soporte.<\/li>\n\n\n\n<li>Resistencia.<\/li>\n\n\n\n<li>Volatilidad.<\/li>\n\n\n\n<li>Liquidez.<\/li>\n\n\n\n<li>Barrido.<\/li>\n\n\n\n<li>Confirmaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-45 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cuanto m\u00e1s subjetivo sea el concepto, m\u00e1s dif\u00edcil ser\u00e1 convertirlo directamente en c\u00f3digo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-46 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso, antes de programar un robot conviene preguntarse:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-47 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>\u00bfC\u00f3mo podr\u00eda medir exactamente esta condici\u00f3n?<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 3. Definir las condiciones de entrada<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-48 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez estructurada la estrategia hay que determinar cu\u00e1ndo puede abrir una operaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-49 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Compra<\/h3>\n\n\n\n<ol style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-50\">\n<li>Existe una tendencia alcista.<\/li>\n\n\n\n<li>El precio realiza un retroceso.<\/li>\n\n\n\n<li>Se produce una determinada se\u00f1al.<\/li>\n\n\n\n<li>El spread est\u00e1 dentro del l\u00edmite permitido.<\/li>\n\n\n\n<li>Estamos dentro del horario operativo.<\/li>\n\n\n\n<li>No existe otra operaci\u00f3n abierta si la estrategia no permite posiciones simult\u00e1neas.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-51 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Solo cuando se cumplen todas las condiciones se genera una se\u00f1al de compra.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-52 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Para una venta se definir\u00edan las condiciones contrarias.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 4. Definir las condiciones de salida<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-53 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot necesita saber no solamente cu\u00e1ndo entrar, sino tambi\u00e9n cu\u00e1ndo salir.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-54 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las salidas pueden producirse mediante:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-55\">\n<li>Stop Loss.<\/li>\n\n\n\n<li>Take Profit.<\/li>\n\n\n\n<li>Trailing Stop.<\/li>\n\n\n\n<li>Se\u00f1al contraria.<\/li>\n\n\n\n<li>Finalizaci\u00f3n de horario.<\/li>\n\n\n\n<li>Cambio de tendencia.<\/li>\n\n\n\n<li>P\u00e9rdida m\u00e1xima diaria.<\/li>\n\n\n\n<li>Tiempo m\u00e1ximo de permanencia.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-56 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No existe una \u00fanica forma correcta de gestionar una salida.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-57 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Lo importante es que la regla est\u00e9 definida antes de comenzar las pruebas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 5. Dise\u00f1ar la gesti\u00f3n del riesgo<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-58 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La gesti\u00f3n del riesgo deber\u00eda formar parte del robot desde el principio.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-59 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No deber\u00eda a\u00f1adirse al final como una funci\u00f3n secundaria.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-60 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Algunas variables que pueden programarse son:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-61\">\n<li>Riesgo m\u00e1ximo por operaci\u00f3n.<\/li>\n\n\n\n<li>Tama\u00f1o m\u00e1ximo de posici\u00f3n.<\/li>\n\n\n\n<li>Stop Loss obligatorio.<\/li>\n\n\n\n<li>N\u00famero m\u00e1ximo de operaciones.<\/li>\n\n\n\n<li>P\u00e9rdida m\u00e1xima diaria.<\/li>\n\n\n\n<li>P\u00e9rdida m\u00e1xima semanal.<\/li>\n\n\n\n<li>N\u00famero m\u00e1ximo de operaciones consecutivas.<\/li>\n\n\n\n<li>L\u00edmite de drawdown.<\/li>\n\n\n\n<li>Bloqueo temporal despu\u00e9s de determinadas p\u00e9rdidas.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-62 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, si una estrategia establece que cada operaci\u00f3n debe arriesgar como m\u00e1ximo un determinado porcentaje de la cuenta, el robot puede calcular autom\u00e1ticamente el volumen correspondiente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-63 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes ampliar este concepto en <a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-la-gestion-del-riesgo-claves-para-proteger-el-capital\/\">\u00bfQu\u00e9 es la gesti\u00f3n del riesgo? Claves para proteger el capital<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 6. Determinar el tama\u00f1o de la posici\u00f3n<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-64 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El volumen de la operaci\u00f3n no deber\u00eda decidirse simplemente porque \"0,01 lotes parece poco\".<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-65 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Debe relacionarse con:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-66\">\n<li>Capital disponible.<\/li>\n\n\n\n<li>Distancia del Stop Loss.<\/li>\n\n\n\n<li>Valor del instrumento.<\/li>\n\n\n\n<li>Valor del tick o punto.<\/li>\n\n\n\n<li>Riesgo m\u00e1ximo permitido.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-67 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La idea general es que el robot pueda calcular cu\u00e1nto volumen necesita para que una determinada distancia hasta el Stop Loss represente un riesgo previamente establecido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-68 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto resulta especialmente importante cuando se opera con instrumentos diferentes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-69 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un volumen fijo puede representar un riesgo muy diferente dependiendo del activo y de la distancia del Stop Loss.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 7. Definir los filtros del robot<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-70 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los filtros pueden evitar que el robot opere en situaciones que no forman parte de la estrategia.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-71 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Algunos ejemplos son:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtro horario<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-72 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El robot solo puede operar entre determinadas horas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtro de spread<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-73 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No se permiten nuevas operaciones cuando el spread supera un l\u00edmite.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtro de volatilidad<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-74 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El sistema puede evitar determinadas condiciones de volatilidad extrema.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtro de noticias<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-75 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Algunos sistemas incorporan restricciones alrededor de determinados acontecimientos econ\u00f3micos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtro de n\u00famero de operaciones<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-76 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El robot puede limitar el n\u00famero de posiciones abiertas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-77 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los filtros no garantizan mejores resultados, pero pueden ayudar a mantener el sistema dentro de las condiciones para las que fue dise\u00f1ado.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 8. Elegir el lenguaje de programaci\u00f3n<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-78 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si vas a desarrollar un robot para MetaTrader 5, una de las opciones naturales es <strong>MQL5<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-79 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MQL5 permite desarrollar Expert Advisors y proporciona funciones espec\u00edficas para gestionar operaciones.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-80 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La documentaci\u00f3n oficial de MetaQuotes explica que los Expert Advisors pueden reaccionar a diferentes eventos de la plataforma y ejecutar las reglas programadas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-81 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En MetaTrader 4 se utiliza MQL4, por lo que el c\u00f3digo de una plataforma no debe considerarse autom\u00e1ticamente compatible con la otra.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 9. Crear la estructura b\u00e1sica del robot<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-82 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot bien desarrollado deber\u00eda tener una estructura clara.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-83 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuraci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-84 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aqu\u00ed se definen par\u00e1metros como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-85\">\n<li>Riesgo.<\/li>\n\n\n\n<li>Stop Loss.<\/li>\n\n\n\n<li>Take Profit.<\/li>\n\n\n\n<li>Horarios.<\/li>\n\n\n\n<li>Periodos de indicadores.<\/li>\n\n\n\n<li>M\u00e1ximo de operaciones.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Inicializaci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-86 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Se preparan los elementos necesarios para que el robot comience a funcionar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">An\u00e1lisis<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-87 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El sistema recibe los datos del mercado y comprueba las condiciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Se\u00f1al<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-88 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Determina si existe una oportunidad que cumple las reglas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gesti\u00f3n monetaria<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-89 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Calcula el volumen y comprueba los l\u00edmites de riesgo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ejecuci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-90 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Env\u00eda la orden correspondiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gesti\u00f3n de posici\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-91 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Controla las operaciones abiertas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Finalizaci\u00f3n<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-92 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Gestiona correctamente el cierre o desactivaci\u00f3n del programa.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-93 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Separar estas funciones facilita el mantenimiento y las futuras modificaciones.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 10. Programar la l\u00f3gica de mercado<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-94 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En un EA de MQL5, el programa puede reaccionar ante diferentes eventos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-95 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Uno de los m\u00e1s importantes es <strong><a href=\"https:\/\/www.mql5.com\/es\/docs\/event_handlers\/ontick\" target=\"_blank\" rel=\"noreferrer noopener\">OnTick<\/a><\/strong>, que se ejecuta cuando llega una nueva cotizaci\u00f3n al s\u00edmbolo del gr\u00e1fico en el que est\u00e1 funcionando el EA. Tambi\u00e9n existen otros eventos, como temporizadores o eventos del gr\u00e1fico.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-96 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De forma simplificada, el funcionamiento podr\u00eda ser:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-97 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Nuevo tick \u2192 comprobar mercado \u2192 comprobar condiciones \u2192 comprobar riesgo \u2192 generar se\u00f1al \u2192 ejecutar operaci\u00f3n \u2192 gestionar posici\u00f3n.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-98 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No significa que todos los robots deban funcionar exactamente de esta manera, pero ayuda a comprender la estructura b\u00e1sica.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 11. Programar la ejecuci\u00f3n de las operaciones<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-99 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez que el robot detecta una se\u00f1al v\u00e1lida debe poder enviar la operaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-100 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MQL5 dispone de funciones espec\u00edficas para gestionar actividades de trading, como enviar \u00f3rdenes, comprobar operaciones y calcular determinados par\u00e1metros.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-101 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n existe la clase <strong>CTrade<\/strong>, que facilita el acceso a determinadas funciones de trading desde un EA.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-102 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite estructurar de forma m\u00e1s clara funciones como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-103\">\n<li>Apertura de posiciones.<\/li>\n\n\n\n<li>Modificaci\u00f3n de \u00f3rdenes.<\/li>\n\n\n\n<li>Cierre de posiciones.<\/li>\n\n\n\n<li>Gesti\u00f3n del Stop Loss.<\/li>\n\n\n\n<li>Gesti\u00f3n del Take Profit.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 12. A\u00f1adir controles de seguridad<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-104 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot profesional deber\u00eda incluir controles para evitar comportamientos inesperados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-105 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">No abrir varias operaciones accidentalmente<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-106 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El sistema puede comprobar si ya existe una posici\u00f3n antes de abrir otra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobar el volumen<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-107 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El volumen calculado debe adaptarse a las condiciones permitidas por el s\u00edmbolo y el broker.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobar el Stop Loss<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-108 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El sistema debe verificar que la distancia sea v\u00e1lida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobar el spread<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-109 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puede impedir nuevas operaciones cuando el coste de ejecuci\u00f3n sea demasiado elevado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Controlar p\u00e9rdidas<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-110 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El robot puede bloquear nuevas entradas cuando se alcanza una p\u00e9rdida m\u00e1xima previamente definida.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-111 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Estos controles no hacen que el sistema sea rentable, pero pueden reducir errores operativos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 13. Compilar y corregir errores<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-112 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s de programar el robot hay que compilarlo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-113 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La compilaci\u00f3n permite detectar problemas en el c\u00f3digo, como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-114\">\n<li>Errores de sintaxis.<\/li>\n\n\n\n<li>Variables incorrectas.<\/li>\n\n\n\n<li>Funciones inexistentes.<\/li>\n\n\n\n<li>Par\u00e1metros incompatibles.<\/li>\n\n\n\n<li>Problemas de tipos de datos.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-115 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero que un programa compile correctamente <strong>no significa que el robot funcione correctamente<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-116 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un c\u00f3digo puede compilar sin errores y aun as\u00ed contener errores l\u00f3gicos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-117 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-118\">\n<li>Abrir una operaci\u00f3n en sentido contrario.<\/li>\n\n\n\n<li>Calcular mal el volumen.<\/li>\n\n\n\n<li>Interpretar incorrectamente una condici\u00f3n.<\/li>\n\n\n\n<li>Mover un Stop Loss de forma incorrecta.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-119 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso la compilaci\u00f3n es solamente una primera comprobaci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 14. Probar el robot en el Strategy Tester<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-120 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez compilado comienza una de las fases m\u00e1s importantes: las pruebas.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-121 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">MetaTrader permite utilizar herramientas de prueba para analizar el comportamiento hist\u00f3rico de un Expert Advisor.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-122 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aqu\u00ed puedes comprobar aspectos como:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-123\">\n<li>N\u00famero de operaciones.<\/li>\n\n\n\n<li>Beneficio.<\/li>\n\n\n\n<li>P\u00e9rdida.<\/li>\n\n\n\n<li>Drawdown.<\/li>\n\n\n\n<li>Profit Factor.<\/li>\n\n\n\n<li>Rachas de p\u00e9rdidas.<\/li>\n\n\n\n<li>Distribuci\u00f3n de resultados.<\/li>\n\n\n\n<li>Evoluci\u00f3n del capital.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-124 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero es importante recordar que un backtest no representa exactamente lo que ocurrir\u00e1 en el futuro.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-125 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Los resultados hist\u00f3ricos pueden ser \u00fatiles para estudiar una estrategia, pero no garantizan resultados posteriores.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-126 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes profundizar en este proceso en el art\u00edculo <a href=\"https:\/\/antoniofernandez.net\/copia-divi\/backtesting-de-una-estrategia-de-trading\/\">Backtesting de una estrategia de trading: c\u00f3mo comprobar si funciona<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 15. Comprobar los costes reales<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-127 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un error frecuente consiste en desarrollar un robot que parece rentable en un entorno ideal.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-128 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">En condiciones reales existen costes y problemas de ejecuci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-129 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre ellos:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-130\">\n<li>Spread.<\/li>\n\n\n\n<li>Comisiones.<\/li>\n\n\n\n<li>Swap.<\/li>\n\n\n\n<li>Slippage.<\/li>\n\n\n\n<li>Latencia.<\/li>\n\n\n\n<li>Diferencias de ejecuci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-131 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un sistema con beneficios muy peque\u00f1os por operaci\u00f3n puede verse afectado de manera importante cuando se incorporan estos costes.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-132 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso las pruebas deben intentar aproximarse lo m\u00e1ximo posible a las condiciones reales.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 16. Evitar la sobreoptimizaci\u00f3n<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-133 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Supongamos que tienes un robot con varios par\u00e1metros:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-134\">\n<li>Media de 10 periodos.<\/li>\n\n\n\n<li>Media de 20 periodos.<\/li>\n\n\n\n<li>Stop Loss de 50 puntos.<\/li>\n\n\n\n<li>Take Profit de 100 puntos.<\/li>\n\n\n\n<li>Horario entre 8:00 y 16:00.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-135 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si modificas continuamente esos par\u00e1metros hasta conseguir el mejor resultado hist\u00f3rico posible, puedes terminar creando un sistema excesivamente adaptado al pasado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-136 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este problema se conoce como <strong>overfitting o sobreoptimizaci\u00f3n<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-137 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un buen resultado hist\u00f3rico no siempre significa que hayas encontrado una estrategia robusta.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-138 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">A veces significa que has encontrado una configuraci\u00f3n que encaja excepcionalmente bien con esos datos concretos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 17. Probar el robot con datos que no haya utilizado<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-139 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una forma de intentar detectar problemas de sobreajuste consiste en separar los datos.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-140 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-141 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Datos de desarrollo:<\/strong> utilizados para crear la estrategia.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-142 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Datos de validaci\u00f3n:<\/strong> utilizados posteriormente para comprobar su comportamiento.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-143 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite observar si el robot mantiene unas caracter\u00edsticas razonables cuando se enfrenta a datos que no fueron utilizados directamente para construirlo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-144 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La idea no es buscar un resultado perfecto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-145 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Lo que interesa es comprobar si el comportamiento sigue siendo razonablemente consistente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 18. Realizar forward testing<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-146 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Despu\u00e9s de las pruebas hist\u00f3ricas puede realizarse un <strong>forward testing<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-147 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Consiste en observar c\u00f3mo se comporta el sistema con datos nuevos y condiciones de mercado diferentes a las utilizadas durante el desarrollo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-148 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puede realizarse en:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-149\">\n<li>Cuenta demo.<\/li>\n\n\n\n<li>Entorno de prueba.<\/li>\n\n\n\n<li>Cuenta real con un riesgo muy reducido.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-150 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El objetivo es comprobar que el comportamiento observado durante el desarrollo no desaparece inmediatamente cuando el robot deja de trabajar con datos hist\u00f3ricos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 19. Comprobar diferentes escenarios de mercado<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-151 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot no deber\u00eda evaluarse \u00fanicamente durante un periodo favorable.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-152 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Conviene estudiar c\u00f3mo se comporta durante:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-153\">\n<li>Tendencias fuertes.<\/li>\n\n\n\n<li>Mercados laterales.<\/li>\n\n\n\n<li>Alta volatilidad.<\/li>\n\n\n\n<li>Baja volatilidad.<\/li>\n\n\n\n<li>Cambios bruscos.<\/li>\n\n\n\n<li>Periodos de noticias.<\/li>\n\n\n\n<li>Diferentes sesiones.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-154 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una estrategia puede funcionar especialmente bien en un determinado entorno y perder eficacia en otro.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-155 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso la robustez es m\u00e1s importante que encontrar un \u00fanico periodo hist\u00f3rico espectacular.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 20. Analizar las estad\u00edsticas del robot<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-156 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No deber\u00edas fijarte \u00fanicamente en cu\u00e1nto dinero ha ganado el robot.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-157 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Hay que analizar tambi\u00e9n c\u00f3mo lo ha conseguido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-158 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Algunas m\u00e9tricas importantes son:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Profit Factor<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-159 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Compara el beneficio bruto con las p\u00e9rdidas brutas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Drawdown<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-160 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Muestra cu\u00e1nto ha retrocedido la cuenta desde un m\u00e1ximo hasta un m\u00ednimo posterior.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Porcentaje de operaciones ganadoras<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-161 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Indica cu\u00e1ntas operaciones terminaron con beneficio.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-162 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero un porcentaje elevado de operaciones ganadoras no significa necesariamente que el sistema sea bueno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ganancia media y p\u00e9rdida media<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-163 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Permiten comprender mejor la relaci\u00f3n entre operaciones ganadoras y perdedoras.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Racha m\u00e1xima de p\u00e9rdidas<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-164 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Es especialmente importante para conocer qu\u00e9 puede ocurrir durante un periodo desfavorable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sharpe Ratio y Sortino Ratio<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-165 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pueden utilizarse para estudiar la relaci\u00f3n entre rendimiento y riesgo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-166 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La evaluaci\u00f3n debe realizarse utilizando un conjunto amplio de m\u00e9tricas, no solamente una.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 21. Realizar pruebas de robustez<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-167 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una vez que el robot parece funcionar, llega otra fase importante: comprobar su robustez.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-168 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes estudiar qu\u00e9 ocurre cuando modificas ligeramente determinados par\u00e1metros.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-169 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-170\">\n<li>Stop Loss ligeramente diferente.<\/li>\n\n\n\n<li>Take Profit ligeramente diferente.<\/li>\n\n\n\n<li>Horario ligeramente diferente.<\/li>\n\n\n\n<li>Periodos de indicadores diferentes.<\/li>\n\n\n\n<li>Diferentes spreads.<\/li>\n\n\n\n<li>Diferentes condiciones de ejecuci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-171 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si el robot solo funciona con una configuraci\u00f3n exacta y deja de funcionar cuando modificas m\u00ednimamente un par\u00e1metro, puede existir un problema de sobreoptimizaci\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-172 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un sistema robusto deber\u00eda mostrar cierta tolerancia a peque\u00f1as variaciones.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 22. Probar diferentes instrumentos con precauci\u00f3n<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-173 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No significa que debamos utilizar autom\u00e1ticamente el mismo robot en todos los mercados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-174 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un EA dise\u00f1ado para EURUSD puede comportarse de manera muy diferente en:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-175\">\n<li>Oro.<\/li>\n\n\n\n<li>\u00cdndices.<\/li>\n\n\n\n<li>Criptomonedas.<\/li>\n\n\n\n<li>Otros pares de Forex.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-176 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada instrumento tiene diferentes caracter\u00edsticas de volatilidad, liquidez, spread y comportamiento.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-177 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ello, si quieres utilizar un robot en XAUUSD, por ejemplo, deber\u00edas realizar pruebas espec\u00edficas sobre XAUUSD.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 23. Realizar una prueba en demo<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-178 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Antes de utilizar dinero real, una etapa recomendable es probar el robot en una cuenta demo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-179 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esto permite comprobar:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-180\">\n<li>Ejecuci\u00f3n.<\/li>\n\n\n\n<li>Funcionamiento de las \u00f3rdenes.<\/li>\n\n\n\n<li>Gesti\u00f3n del Stop Loss.<\/li>\n\n\n\n<li>Gesti\u00f3n del Take Profit.<\/li>\n\n\n\n<li>Comportamiento del volumen.<\/li>\n\n\n\n<li>Horarios.<\/li>\n\n\n\n<li>Errores de programaci\u00f3n.<\/li>\n\n\n\n<li>Conexi\u00f3n con el broker.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-181 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una prueba demo no reproduce absolutamente todas las condiciones de una cuenta real, pero puede ayudar a detectar problemas importantes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Paso 24. Pasar a real con prudencia<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-182 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si despu\u00e9s de las diferentes pruebas el sistema contin\u00faa mostrando un comportamiento razonable, puede plantearse una prueba con capital real.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-183 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero esto no significa utilizar inmediatamente el m\u00e1ximo riesgo permitido.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-184 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una transici\u00f3n prudente puede consistir en:<\/p>\n\n\n\n<ol style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-185\">\n<li>Demo.<\/li>\n\n\n\n<li>Forward testing.<\/li>\n\n\n\n<li>Capital real reducido.<\/li>\n\n\n\n<li>Supervisi\u00f3n.<\/li>\n\n\n\n<li>Evaluaci\u00f3n.<\/li>\n\n\n\n<li>Aumento gradual solamente si existe una justificaci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-186 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La idea es comprobar que el comportamiento real es coherente con las expectativas razonables obtenidas durante el desarrollo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u00bfSe puede crear un robot sin saber programar?<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-187 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">S\u00ed, existen diferentes alternativas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aprender a programar<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-188 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes aprender MQL4 o MQL5 y desarrollar tus propios sistemas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Contratar a un programador<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-189 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes definir la estrategia y solicitar que otra persona la convierta en c\u00f3digo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utilizar herramientas de generaci\u00f3n de c\u00f3digo<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-190 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Actualmente existen herramientas capaces de ayudar a escribir c\u00f3digo, pero el hecho de que una herramienta genere un programa no significa que ese programa sea correcto.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-191 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El c\u00f3digo generado tambi\u00e9n debe:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-192\">\n<li>Revisarse.<\/li>\n\n\n\n<li>Compilarse.<\/li>\n\n\n\n<li>Probarse.<\/li>\n\n\n\n<li>Auditarse.<\/li>\n\n\n\n<li>Validarse.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-193 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La programaci\u00f3n es solamente una parte del proceso.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u00bfPuede la inteligencia artificial crear un robot de trading?<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-194 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La inteligencia artificial puede ayudar en diferentes fases del desarrollo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-195 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-196\">\n<li>Generaci\u00f3n de c\u00f3digo.<\/li>\n\n\n\n<li>Explicaci\u00f3n de funciones.<\/li>\n\n\n\n<li>Detecci\u00f3n de determinados errores.<\/li>\n\n\n\n<li>Documentaci\u00f3n.<\/li>\n\n\n\n<li>Organizaci\u00f3n del proyecto.<\/li>\n\n\n\n<li>An\u00e1lisis preliminar de datos.<\/li>\n\n\n\n<li>Desarrollo de herramientas auxiliares.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-197 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero hay una diferencia importante entre <strong>crear c\u00f3digo<\/strong> y <strong>crear una estrategia rentable y robusta<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-198 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una herramienta de IA puede ayudarte a programar un robot, pero no puede garantizar que las reglas utilizadas tengan una ventaja estad\u00edstica futura.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-199 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La <a href=\"https:\/\/www.cftc.gov\/es\/LearnAndProtect\/AdvisoriesAndArticles\/AITradingBots.html\" target=\"_blank\" rel=\"noreferrer noopener\">CFTC<\/a> ha advertido precisamente sobre las afirmaciones que presentan los bots y algoritmos de IA como m\u00e1quinas capaces de generar grandes beneficios o rentabilidades garantizadas.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Errores habituales al crear un robot de trading<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">1. Programar antes de definir la estrategia<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-200 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si las reglas no est\u00e1n claras, el c\u00f3digo terminar\u00e1 reflejando ambig\u00fcedades.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Optimizar demasiado<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-201 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Buscar la configuraci\u00f3n hist\u00f3rica perfecta puede producir sobreajuste.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Ignorar los costes<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-202 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Spread, comisiones y slippage pueden cambiar significativamente los resultados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. No establecer l\u00edmites de riesgo<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-203 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot sin controles de riesgo puede generar p\u00e9rdidas importantes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Evaluarlo solamente por el beneficio<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-204 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Hay que analizar tambi\u00e9n drawdown, rachas de p\u00e9rdidas y estabilidad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Utilizar pocos datos<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-205 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un n\u00famero peque\u00f1o de operaciones puede ofrecer una visi\u00f3n poco representativa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Probarlo solamente en un escenario<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-206 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Una estrategia deber\u00eda analizarse en diferentes condiciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Pasar demasiado r\u00e1pido a real<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-207 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La programaci\u00f3n y el backtesting no sustituyen una fase de validaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9. Pensar que automatizar elimina el riesgo<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-208 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La automatizaci\u00f3n modifica la forma de ejecutar una estrategia, pero no elimina el riesgo de mercado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. No supervisar el sistema<\/h3>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-209 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Incluso un robot bien desarrollado necesita controles y seguimiento.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Ejemplo de estructura de un robot de trading<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-210 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">De forma simplificada, podemos imaginar un robot de la siguiente manera:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-211 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>1. Inicio<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-212 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-213 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>2. Comprobar conexi\u00f3n y condiciones<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-214 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-215 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>3. Comprobar horario<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-216 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-217 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>4. Comprobar spread<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-218 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-219 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>5. Analizar mercado<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-220 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-221 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>6. Comprobar se\u00f1al<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-222 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-223 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>7. Calcular riesgo y volumen<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-224 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-225 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>8. Comprobar l\u00edmites<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-226 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-227 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>9. Ejecutar operaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-228 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-229 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>10. Gestionar posici\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-230 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-231 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>11. Registrar resultado<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-232 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">\u2193<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-233 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>12. Esperar nueva condici\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-234 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este esquema ayuda a comprender que un robot de trading es mucho m\u00e1s que una simple orden de compra o venta.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u00bfQu\u00e9 deber\u00eda tener un robot de trading bien dise\u00f1ado?<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-235 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Aunque cada proyecto es diferente, un robot deber\u00eda intentar mantener una estructura clara y controlable.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-236 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Entre sus caracter\u00edsticas deseables podemos encontrar:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-237\">\n<li>Reglas claramente definidas.<\/li>\n\n\n\n<li>Gesti\u00f3n del riesgo integrada.<\/li>\n\n\n\n<li>Par\u00e1metros configurables.<\/li>\n\n\n\n<li>Control de operaciones.<\/li>\n\n\n\n<li>Gesti\u00f3n de errores.<\/li>\n\n\n\n<li>Registro de actividad.<\/li>\n\n\n\n<li>Protecci\u00f3n frente a entradas duplicadas.<\/li>\n\n\n\n<li>Control de spread.<\/li>\n\n\n\n<li>Control de horarios.<\/li>\n\n\n\n<li>L\u00edmites de p\u00e9rdida.<\/li>\n\n\n\n<li>Backtesting.<\/li>\n\n\n\n<li>Forward testing.<\/li>\n\n\n\n<li>Pruebas de robustez.<\/li>\n\n\n\n<li>Documentaci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-238 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n es recomendable que el c\u00f3digo est\u00e9 organizado para poder modificar y ampliar el sistema sin tener que reconstruirlo completamente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u00bfCrear un robot significa tener una estrategia rentable?<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-239 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-240 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Esta distinci\u00f3n es fundamental.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-241 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Puedes tener:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-242 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Un c\u00f3digo t\u00e9cnicamente perfecto + una estrategia sin ventaja = robot que ejecuta p\u00e9rdidas correctamente.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-243 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Y tambi\u00e9n:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-244 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Una buena estrategia + un c\u00f3digo defectuoso = resultados diferentes a los esperados.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-245 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso el desarrollo de un robot necesita combinar dos disciplinas:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-246 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Trading + programaci\u00f3n.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-247 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Y ninguna de las dos sustituye a la gesti\u00f3n del riesgo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">La diferencia entre automatizar y predecir<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-248 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot puede automatizar una decisi\u00f3n.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-249 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">No puede conocer con certeza el futuro.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-250 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por ejemplo, puede estar programado para comprar cuando:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-251\">\n<li>Se produce una ruptura.<\/li>\n\n\n\n<li>Existe una determinada tendencia.<\/li>\n\n\n\n<li>Se confirma una condici\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-252 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Pero despu\u00e9s de la entrada el mercado puede:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-253\">\n<li>Continuar subiendo.<\/li>\n\n\n\n<li>Entrar en rango.<\/li>\n\n\n\n<li>Retroceder.<\/li>\n\n\n\n<li>Generar una ruptura falsa.<\/li>\n\n\n\n<li>Cambiar de tendencia.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-254 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El robot simplemente ejecutar\u00e1 las reglas que se le hayan dado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-255 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Por eso <strong>automatizar una estrategia no significa automatizar la capacidad de predecir el mercado<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusi\u00f3n<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-256 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Crear un robot de trading desde cero es un proceso mucho m\u00e1s amplio que escribir c\u00f3digo.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-257 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El verdadero desarrollo comienza con una estrategia definida y contin\u00faa con su transformaci\u00f3n en reglas objetivas, la programaci\u00f3n, la gesti\u00f3n del riesgo, las pruebas hist\u00f3ricas, la validaci\u00f3n con datos nuevos y el an\u00e1lisis de robustez.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-258 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un proceso razonable podr\u00eda resumirse as\u00ed:<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-259 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\"><strong>Idea \u2192 reglas \u2192 programaci\u00f3n \u2192 compilaci\u00f3n \u2192 backtesting \u2192 validaci\u00f3n \u2192 forward testing \u2192 robustez \u2192 demo \u2192 real con prudencia.<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-260 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Cada fase cumple una funci\u00f3n diferente.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-261 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El objetivo no deber\u00eda ser construir un robot que presente el mejor resultado hist\u00f3rico posible, sino desarrollar un sistema cuyas reglas sean comprensibles, comprobables y suficientemente robustas para afrontar diferentes condiciones de mercado.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-262 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La automatizaci\u00f3n puede aportar disciplina y eficiencia, pero <strong>no elimina la incertidumbre ni garantiza beneficios<\/strong>.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-263 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Un robot bien programado sigue necesitando una estrategia razonable, una gesti\u00f3n del riesgo adecuada y una supervisi\u00f3n responsable.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Contin\u00faa aprendiendo<\/h1>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-264 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Si quieres seguir avanzando en el desarrollo de sistemas automatizados, estos contenidos pueden ayudarte:<\/p>\n\n\n\n<ul style=\"color:#e5e7eb;font-size:18px\" class=\"wp-block-list has-text-color has-link-color wp-elements-265\">\n<li><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/expert-advisor-ea-trading\/\">\u00bfQu\u00e9 es un Expert Advisor (EA) en trading y c\u00f3mo funciona?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/trading-automatico\/\">Trading autom\u00e1tico: qu\u00e9 es, c\u00f3mo funciona y cu\u00e1les son sus ventajas y riesgos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/backtesting-de-una-estrategia-de-trading\/\">Backtesting de una estrategia de trading: c\u00f3mo comprobar si funciona<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/que-es-la-gestion-del-riesgo-claves-para-proteger-el-capital\/\">\u00bfQu\u00e9 es la gesti\u00f3n del riesgo? Claves para proteger el capital<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-266 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Tambi\u00e9n puedes consultar la documentaci\u00f3n oficial de MQL5 para profundizar en la programaci\u00f3n de Expert Advisors, eventos, funciones de trading y herramientas de desarrollo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/blog\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ver todas las entradas del blog<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/antoniofernandez.net\/copia-divi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Volver a la p\u00e1gina principal<\/a><\/p>\n\n\n\n<div class=\"wp-block-group has-text-color has-background has-link-color wp-elements-267 is-layout-constrained wp-block-group-is-layout-constrained\" style=\"color:#94a3b8;background-color:#111827\">\n<p class=\"has-text-color has-link-color wp-elements-268 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:25px\">\u26a0\ufe0f Aviso importante<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-269 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Este art\u00edculo tiene exclusivamente finalidad educativa e informativa. No constituye asesoramiento financiero, recomendaci\u00f3n de inversi\u00f3n ni una invitaci\u00f3n a comprar o vender ning\u00fan instrumento financiero.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-270 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La programaci\u00f3n de un robot de trading requiere conocimientos tanto de mercados financieros como de desarrollo de software. Antes de utilizar cualquier sistema automatizado con dinero real, es necesario comprender su funcionamiento, sus limitaciones y los riesgos asociados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-271 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:25px\">\u26a0\ufe0f Aviso de riesgo<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-272 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">El trading conlleva un elevado nivel de riesgo y puede ocasionar p\u00e9rdidas de capital.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-273 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">La creaci\u00f3n, utilizaci\u00f3n o compra de un robot de trading <strong>no garantiza resultados positivos<\/strong>. Los resultados obtenidos mediante backtesting, optimizaci\u00f3n o pruebas hist\u00f3ricas no garantizan resultados futuros.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-274 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Las condiciones reales pueden diferir de las utilizadas durante las pruebas debido, entre otros factores, al spread, comisiones, slippage, latencia, liquidez, volatilidad y condiciones del broker.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-275 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Desconf\u00eda de cualquier sistema que prometa beneficios garantizados, rentabilidades extraordinarias o ausencia de riesgo. La CFTC advierte expresamente sobre este tipo de afirmaciones relacionadas con bots y sistemas automatizados.<\/p>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-276 wp-block-paragraph\" style=\"color:#e5e7eb;font-size:18px\">Nunca debes arriesgar un capital cuya p\u00e9rdida no puedas asumir.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Crear un robot de trading puede parecer una tarea reservada exclusivamente a programadores, pero el proceso comienza mucho antes de escribir una sola l\u00ednea de c\u00f3digo. Un robot de trading no es m\u00e1s que un programa capaz de ejecutar unas reglas previamente definidas. Para construirlo correctamente hay que transformar una idea de trading en condiciones [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1096,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1094","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trading-algoritmico-y-automatizacion"],"_links":{"self":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/comments?post=1094"}],"version-history":[{"count":5,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1094\/revisions"}],"predecessor-version":[{"id":3044,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/posts\/1094\/revisions\/3044"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media\/1096"}],"wp:attachment":[{"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/media?parent=1094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/categories?post=1094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antoniofernandez.net\/copia-divi\/wp-json\/wp\/v2\/tags?post=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}