{"id":18453,"date":"2026-11-12T13:10:39","date_gmt":"2026-11-12T10:10:39","guid":{"rendered":"https:\/\/roboforex.com\/es\/blog\/?p=18453"},"modified":"2026-11-12T13:10:44","modified_gmt":"2026-11-12T10:10:44","slug":"chatgpt-trading-bot","status":"publish","type":"post","link":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/","title":{"rendered":"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><div class=\"ctb-wrap\">\n<div class=\"ctb\">\n\n  <p>ChatGPT para trading empieza por tus reglas: describe con precisi&oacute;n las entradas, las salidas y el riesgo, y ChatGPT las convierte en c&oacute;digo MQL5 para un Expert Advisor de <a href=\"https:\/\/roboforex.com\/es\/forex-trading\/platforms\/metatrader5-mt5\/\" data-internallinksmanager029f6b8e52c=\"41\" title=\"metatrader 5\">MetaTrader 5<\/a>. Esta gu&iacute;a re&uacute;ne prompts listos para copiar que escriben un robot, corrigen errores de compilaci&oacute;n en MetaEditor y explican c&oacute;digo ajeno. Despu&eacute;s, todo robot pasa por el Probador de estrategias y por una <a href=\"https:\/\/roboforex.com\/es\/forex-trading\/trading\/demo\/\" data-internallinksmanager029f6b8e52c=\"46\" title=\"forex demo\">cuenta demo<\/a>.<\/p>\n\n  <div class=\"ctb-tldr\">\n    <div class=\"ctb-tldr-label\">TL;DR<\/div>\n    <ol>\n      <li>ChatGPT escribe c&oacute;digo MQL5 cuando el prompt detalla las reglas de entrada, salida y riesgo.<\/li>\n      <li>Los prompts de abajo se copian tal cual: para crear un robot, corregir errores de compilaci&oacute;n y entender c&oacute;digo ajeno.<\/li>\n      <li>Todo robot pasa por el Probador de estrategias y por una cuenta demo antes de operar con dinero real.<\/li>\n    <\/ol>\n  <\/div>\n\n  <p>La ruta completa desde una idea de trading hasta un robot funcionando en el gr&aacute;fico est&aacute; en <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/07\/10\/trading-robot-ai\/\">C&oacute;mo lanzar un robot de trading con IA: gu&iacute;a paso a paso para principiantes<\/a>. Esta p&aacute;gina es la biblioteca de prompts para cada tarea de esa ruta.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"%C2%BFSe_puede_usar_ChatGPT_para_trading_y_crear_un_bot\"><\/span>&iquest;Se puede usar ChatGPT para trading y crear un bot?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>S&iacute;, ChatGPT puede escribir el c&oacute;digo de un robot de trading b&aacute;sico. La idea de trading tiene que venir de ti. ChatGPT, el chatbot de IA de OpenAI, traduce las reglas de tu sistema a MQL5, el lenguaje de programaci&oacute;n que MetaQuotes cre&oacute; para MetaTrader 5. Los robots escritos en MQL5 se llaman Expert Advisors, o EA.<\/p>\n  <p>La IA acelera la programaci&oacute;n. El resultado financiero sigue dependiendo de la l&oacute;gica que pongas en el prompt. Para obtener una herramienta que funcione, reparte el trabajo de antemano: qu&eacute; le entregas a ChatGPT y qu&eacute; compruebas t&uacute; mismo.<\/p>\n\n  <div class=\"ctb-table-wrap\">\n    <table class=\"rf\">\n      <thead><tr><th>Lo que ChatGPT hace bien<\/th><th>Lo que compruebas t&uacute;<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td data-label=\"Lo que ChatGPT hace bien\">Escribe el c&oacute;digo de un Expert Advisor de MetaTrader 5 a partir de tus reglas<\/td><td data-label=\"Lo que compruebas t&uacute;\">Si el EA compra y vende en los momentos que describen tus reglas<\/td><\/tr>\n        <tr><td data-label=\"Lo que ChatGPT hace bien\">Conecta <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/11\/19\/top-10-forex-indicators-that-every-trader-needs\/\" data-internallinksmanager029f6b8e52c=\"75\" title=\"indicadores de Forex\">indicadores<\/a> integrados que generan las <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/11\/28\/signals-on-forex-where-to-search-how-to-find-filter-and-create\/\" data-internallinksmanager029f6b8e52c=\"76\" title=\"Se\u00f1ales\">se&ntilde;ales<\/a> de trading<\/td><td data-label=\"Lo que compruebas t&uacute;\">Que el EA nunca abra operaciones mayores de lo planeado<\/td><\/tr>\n        <tr><td data-label=\"Lo que ChatGPT hace bien\">Explica en palabras sencillas qu&eacute; hace cada bloque de c&oacute;digo<\/td><td data-label=\"Lo que compruebas t&uacute;\">El l&iacute;mite de p&eacute;rdida en el que el robot deja de operar<\/td><\/tr>\n        <tr><td data-label=\"Lo que ChatGPT hace bien\">A&ntilde;ade un <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/10\/25\/trailing-stop-simple-and-reliable-helper\/\" data-internallinksmanager029f6b8e52c=\"71\" title=\"Trailing Stop\">trailing stop<\/a> que mueve el <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/07\/12\/what-is-stop-loss-and-take-profit\/\" data-internallinksmanager029f6b8e52c=\"54\" title=\"take profit\">Stop Loss<\/a> detr&aacute;s del precio<\/td><td data-label=\"Lo que compruebas t&uacute;\">C&oacute;mo se comporta el EA con datos hist&oacute;ricos en el Probador de estrategias<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <p>Ten presente este reparto: ChatGPT se encarga de teclear, y tu tiempo va a las reglas, los l&iacute;mites de riesgo y las pruebas.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"%C2%BFQue_necesitas_antes_de_escribir_el_primer_prompt\"><\/span>&iquest;Qu&eacute; necesitas antes de escribir el primer prompt?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Para crear un bot de trading con ChatGPT necesitas cuatro cosas: MetaTrader 5 con MetaEditor, acceso a ChatGPT, tu estrategia escrita con palabras y una cuenta demo.<\/p>\n  <ul>\n    <li><strong>MetaTrader 5.<\/strong> La terminal instalada en tu ordenador, con MetaEditor, el editor de c&oacute;digo donde pegas, compilas y ejecutas el c&oacute;digo de ChatGPT. La instalaci&oacute;n est&aacute; en <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/17\/mt5-download-install-metatrader-5\/\">Descargar MetaTrader 5: c&oacute;mo instalar MT5 y conectar tu cuenta de trading<\/a>.<\/li>\n    <li><strong>ChatGPT.<\/strong> ChatGPT u otro chatbot de IA que maneje bien el c&oacute;digo. Los nombres de los modelos cambian a menudo, as&iacute; que usa el m&aacute;s potente que tengas a tu alcance.<\/li>\n    <li><strong>Tus reglas con palabras.<\/strong> Condiciones claras de entrada, salida y riesgo. T&uacute; las escribes, ChatGPT las convierte en c&oacute;digo.<\/li>\n    <li><strong>Una cuenta demo.<\/strong> Una cuenta demo de RoboForex conectada a la terminal, para probar el robot con dinero virtual.<\/li>\n  <\/ul>\n\n  <figure class=\"wp-block-image size-large\"><a href=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic2.png\" alt=\"Ventana de MetaEditor con un archivo nuevo de Expert Advisor EA-Test-1.mq5 abierto, las carpetas de MQL5 en el Navegador y el bot&oacute;n Compilar en la barra de herramientas\"><\/a><figcaption class=\"wp-element-caption\">MetaEditor se abre desde MetaTrader 5. Un archivo nuevo de Expert Advisor es donde va el c&oacute;digo de ChatGPT. Fuente: MetaEditor 5.<\/figcaption><\/figure>\n\n  <div class=\"ctb-promo\">\n    <div>\n      <div class=\"ctb-promo-title\">Prueba tu robot en una cuenta demo gratuita<\/div>\n      <div class=\"ctb-promo-sub\">Abre una cuenta demo de RoboForex y ejecuta con dinero virtual el c&oacute;digo que escribe ChatGPT.<\/div>\n    <\/div>\n    <div class=\"ctb-promo-actions\">\n      <a class=\"ctb-promo-btn\" href=\"https:\/\/my.roboforex.com\/es\/register\/\" target=\"_blank\" rel=\"nofollow\">Abrir una cuenta demo<\/a>\n    <\/div>\n  <\/div>\n\n  <h2><span class=\"ez-toc-section\" id=\"%C2%BFComo_escribir_un_prompt_que_ChatGPT_convierta_en_codigo_MQL5_que_funcione\"><\/span>&iquest;C&oacute;mo escribir un prompt que ChatGPT convierta en c&oacute;digo MQL5 que funcione?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Dale a ChatGPT cinco cosas: un rol, las reglas de entrada y salida, las reglas de riesgo, los par&aacute;metros de entrada y la petici&oacute;n de comentarios. Una petici&oacute;n vaga devuelve un robot en bruto con errores de l&oacute;gica. Un prompt con las cinco partes devuelve c&oacute;digo m&aacute;s f&aacute;cil de configurar y de revisar.<\/p>\n  <ul>\n    <li><strong>Rol.<\/strong> Pide a ChatGPT que act&uacute;e como un desarrollador experto en MQL5 para MetaTrader 5.<\/li>\n    <li><strong>Entrada y salida.<\/strong> Las se&ntilde;ales exactas que abren y cierran una operaci&oacute;n, sin margen para dos lecturas.<\/li>\n    <li><strong>Riesgo.<\/strong> C&oacute;mo se calcula el <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/09\/17\/how-to-calculate-a-trading-lot-in-forex-market\/\" data-internallinksmanager029f6b8e52c=\"65\" title=\"lote\">lote<\/a> y d&oacute;nde van el Stop Loss y el Take Profit.<\/li>\n    <li><strong>Par&aacute;metros.<\/strong> Per&iacute;odos de los indicadores, lote y distancias de los stops como par&aacute;metros de entrada, para cambiarlos en la configuraci&oacute;n del robot sin editar el c&oacute;digo.<\/li>\n    <li><strong>Comentarios.<\/strong> Una nota breve en lenguaje sencillo sobre cada bloque clave, para revisar la l&oacute;gica con rapidez.<\/li>\n  <\/ul>\n  <p>As&iacute; se usa ChatGPT para trading en la pr&aacute;ctica: el mismo robot de media m&oacute;vil, pedido de dos maneras.<\/p>\n\n  <div class=\"ctb-table-wrap ctb-table-wide\">\n    <table class=\"rf\">\n      <thead><tr><th><\/th><th>Prompt d&eacute;bil<\/th><th>Prompt s&oacute;lido<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td data-label=\"Fila\"><strong>Prompt<\/strong><\/td><td data-label=\"Prompt d&eacute;bil\">Escribe un robot de trading para MT5 con una media m&oacute;vil que compre cuando el precio est&eacute; por encima de la l&iacute;nea y venda cuando est&eacute; por debajo.<\/td><td data-label=\"Prompt s&oacute;lido\">Act&uacute;a como un desarrollador experto en MQL5 y escribe un Expert Advisor para MT5. Compra cuando una barra cerrada cruce por encima de una media m&oacute;vil simple de 20 per&iacute;odos y vende cuando una barra cerrada la cruce por debajo. Cierra la posici&oacute;n abierta con la se&ntilde;al opuesta. Permite solo una posici&oacute;n abierta a la vez. A&ntilde;ade par&aacute;metros de entrada para un lote de 0.01 y para el Stop Loss y el Take Profit en pips. Explica en palabras sencillas qu&eacute; hace cada bloque de c&oacute;digo.<\/td><\/tr>\n        <tr><td data-label=\"Fila\"><strong>Qu&eacute; obtienes<\/strong><\/td><td data-label=\"Prompt d&eacute;bil\">Una plantilla de EA en bruto con ajustes arbitrarios de la media m&oacute;vil. Las operaciones se abren sin &oacute;rdenes de protecci&oacute;n y pueden acumularse.<\/td><td data-label=\"Prompt s&oacute;lido\">Una base legible en MQL5 con tus ajustes, &oacute;rdenes de protecci&oacute;n y un manejo predecible de las se&ntilde;ales.<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n\n  <p>Crea tu propia versi&oacute;n del prompt s&oacute;lido a continuaci&oacute;n. Elige una tarea, completa tus reglas y copia el resultado en ChatGPT.<\/p>\n\n  <!-- Prompt builder (rf-widgets). Vanilla JS, no storage. Output is plain\n       text set with textContent from strings written with \\u escapes\n       (no raw non-ASCII in JS) and the reader's own input.\n       Copy uses the Clipboard API with a select-and-copy fallback. -->\n  <div class=\"ctb-builder\" id=\"ctb-builder\">\n    <div class=\"ctb-builder-head\">\n      <div class=\"ctb-builder-title\">Generador de prompts<\/div>\n      <div class=\"ctb-builder-tabs\">\n        <button type=\"button\" class=\"ctb-builder-tab\" data-task=\"write\" aria-pressed=\"true\">Escribir un robot<\/button>\n        <button type=\"button\" class=\"ctb-builder-tab\" data-task=\"fix\" aria-pressed=\"false\">Corregir un error de compilaci&oacute;n<\/button>\n        <button type=\"button\" class=\"ctb-builder-tab\" data-task=\"explain\" aria-pressed=\"false\">Explicar c&oacute;digo<\/button>\n      <\/div>\n    <\/div>\n    <div class=\"ctb-builder-body\">\n      <div class=\"ctb-builder-fields\" data-for=\"write\">\n        <label class=\"ctb-builder-field ctb-builder-full\"><span>Regla de entrada<\/span><textarea id=\"ctb-entry\" rows=\"2\" placeholder=\"Comprar cuando la EMA 10 cruce por encima de la EMA 20 en una barra cerrada\"><\/textarea><\/label>\n        <label class=\"ctb-builder-field ctb-builder-full\"><span>Regla de salida<\/span><textarea id=\"ctb-exit\" rows=\"2\" placeholder=\"Cerrar la compra cuando la EMA 10 cruce por debajo de la EMA 20\"><\/textarea><\/label>\n        <label class=\"ctb-builder-field\"><span>S&iacute;mbolo y <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2020\/05\/21\/how-to-choose-a-timeframe-for-trading\/\" data-internallinksmanager029f6b8e52c=\"90\" title=\"marco temporal\">marco temporal<\/a><\/span><input type=\"text\" id=\"ctb-symbol\" placeholder=\"EURUSD, H1\"><\/label>\n        <label class=\"ctb-builder-field\"><span>Lote<\/span><input type=\"text\" id=\"ctb-lot\" placeholder=\"0.01\"><\/label>\n        <label class=\"ctb-builder-field\"><span>Stop Loss, pips<\/span><input type=\"text\" id=\"ctb-sl\" placeholder=\"30\"><\/label>\n        <label class=\"ctb-builder-field\"><span>Take Profit, pips<\/span><input type=\"text\" id=\"ctb-tp\" placeholder=\"60\"><\/label>\n      <\/div>\n      <div class=\"ctb-builder-fields\" data-for=\"fix\" hidden>\n        <label class=\"ctb-builder-field ctb-builder-full\"><span>Texto del error de la pesta&ntilde;a Errores<\/span><textarea id=\"ctb-error\" rows=\"3\" placeholder=\"'CTrade' - undeclared identifier\"><\/textarea><\/label>\n        <label class=\"ctb-builder-field\"><span>N&uacute;mero de l&iacute;nea<\/span><input type=\"text\" id=\"ctb-line\" placeholder=\"28\"><\/label>\n      <\/div>\n      <div class=\"ctb-builder-fields\" data-for=\"explain\" hidden>\n        <label class=\"ctb-builder-field ctb-builder-full\"><span>Qu&eacute; quieres saber<\/span>\n          <select id=\"ctb-goal\">\n            <option value=\"line\">C&oacute;mo funciona el robot, l&iacute;nea por l&iacute;nea<\/option>\n            <option value=\"params\">D&oacute;nde se definen el lote, los stops y las se&ntilde;ales de entrada<\/option>\n          <\/select>\n        <\/label>\n      <\/div>\n      <div class=\"ctb-builder-out-label\">Tu prompt<\/div>\n      <pre class=\"ctb-builder-out\" id=\"ctb-out\"><\/pre>\n      <button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-out\">Copiar prompt<\/button>\n    <\/div>\n  <\/div>\n\n  <p>Sea cual sea la tarea, la regla es la misma: cuanto m&aacute;s exactas son las reglas del prompt, menos rondas de correcciones necesita el c&oacute;digo.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"Prompts_que_escriben_un_robot_de_trading\"><\/span>Prompts que escriben un robot de trading<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Construye el robot m&oacute;dulo a m&oacute;dulo. Cada prompt de abajo cubre un bloque de un Expert Advisor t&iacute;<a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2020\/08\/28\/candlestick-patterns-meet-spike\/\" data-internallinksmanager029f6b8e52c=\"99\" title=\"Patr\u00f3n de Pico\">pico<\/a> de MetaTrader 5. C&oacute;pialo, cambia los n&uacute;meros seg&uacute;n tus reglas y p&eacute;galo en ChatGPT. El c&oacute;digo listo de un primer robot completo est&aacute; en <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/08\/first-mql5-expert-advisor\/\">Tu primer expert advisor en MQL5: un robot listo para copiar y lanzar hoy<\/a>.<\/p>\n\n  <h3><span class=\"ez-toc-section\" id=\"Robot_de_cruce_de_medias_moviles\"><\/span>Robot de cruce de medias m&oacute;viles<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p1\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p1\">Act&uacute;a como un desarrollador experto en MQL5 para MetaTrader 5. Escribe un Expert Advisor (EA) limpio y modular basado en el cruce de dos <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2023\/04\/28\/como-operar-con-la-estrategia-dos-medias-moviles-fractales\/\" data-internallinksmanager029f6b8e52c=\"119\" title=\"medias m\u00f3viles\">medias m&oacute;viles<\/a> exponenciales, con la EMA r&aacute;pida de per&iacute;odo 10 y la EMA lenta de per&iacute;odo 20.\n\nIncluye par&aacute;metros de entrada para FastMAPeriod, SlowMAPeriod, FixedLot (por defecto 0.01), StopLossPips, TakeProfitPips y MagicNumber.\n\nAbre una posici&oacute;n Buy cuando la EMA r&aacute;pida cruce por encima de la EMA lenta y cierra cualquier posici&oacute;n Sell existente. Abre una posici&oacute;n Sell cuando la EMA r&aacute;pida cruce por debajo de la EMA lenta y cierra cualquier posici&oacute;n Buy existente. Permite solo una posici&oacute;n abierta a la vez.\n\nComprueba si hay una barra nueva y eval&uacute;a las se&ntilde;ales de cruce con los valores de las EMA de las dos &uacute;ltimas barras cerradas. Procesa cada se&ntilde;al una sola vez. Gestiona solo las posiciones que coincidan con el s&iacute;mbolo actual y el MagicNumber.\n\nConvierte los pips a puntos correctamente para cotizaciones de 3 y 5 d&iacute;gitos, usando 10 puntos por pip en s&iacute;mbolos de 3 y 5 d&iacute;gitos y 1 punto por pip en el resto.\n\nUsa la biblioteca CTrade para ejecutar las &oacute;rdenes. Valida los handles de los indicadores y los resultados de las operaciones de trading. A&ntilde;ade comentarios claros que expliquen cada bloque de c&oacute;digo.<\/pre>\n  <\/div>\n  <p>En el resultado, comprueba tres cosas: el EA lee los valores de los indicadores de barras cerradas, convierte bien los pips en cotizaciones de 5 d&iacute;gitos y act&uacute;a una vez por barra nueva.<\/p>\n\n  <figure class=\"wp-block-image size-large\"><a href=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic1.png\" alt=\"Chat de ChatGPT titulado Write EMA Crossover EA con el prompt del cruce y el inicio de un Expert Advisor en MQL5 generado, que usa la biblioteca CTrade y una comprobaci&oacute;n de barra nueva\"><\/a><figcaption class=\"wp-element-caption\">La respuesta de ChatGPT al prompt del cruce: un Expert Advisor de EMA 10\/20 basado en la biblioteca CTrade. Fuente: ChatGPT.<\/figcaption><\/figure>\n\n  <h3><span class=\"ez-toc-section\" id=\"Trailing_stop\"><\/span>Trailing stop<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p2\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p2\">Act&uacute;a como un desarrollador experto en MQL5. Escribe una funci&oacute;n modular de trailing stop que se pueda integrar en un Expert Advisor de MT5.\n\nIncluye par&aacute;metros de entrada para EnableTrailing como bool, TrailingStopPips como int con valor por defecto 30, TrailingStepPips como int con valor por defecto 5 y MagicNumber como long.\n\nSi EnableTrailing es false, no hagas nada. Recorre todas las posiciones abiertas y gestiona solo las que coincidan con el s&iacute;mbolo del gr&aacute;fico actual y el MagicNumber. Trata las posiciones BUY y SELL por separado. Para una posici&oacute;n BUY, calcula el Stop Loss m&oacute;vil por debajo del precio Bid actual. Para una posici&oacute;n SELL, calcula el Stop Loss m&oacute;vil por encima del precio Ask actual.\n\nEmpieza a mover el stop solo cuando la ganancia flotante de la posici&oacute;n alcance al menos TrailingStopPips. Mueve el Stop Loss solo cuando el nivel propuesto mejore el Stop Loss existente en al menos TrailingStepPips. Si no existe Stop Loss, col&oacute;calo cuando se cumplan las condiciones del trailing. Nunca alejes un Stop Loss del precio actual de forma que aumente el riesgo de la posici&oacute;n.\n\nConvierte los pips a distancia de precio correctamente seg&uacute;n los d&iacute;gitos y el tama&ntilde;o del punto del s&iacute;mbolo. Antes de modificar una posici&oacute;n, lee SYMBOL_TRADE_STOPS_LEVEL y SYMBOL_TRADE_FREEZE_LEVEL de ese s&iacute;mbolo, convierte sus valores de puntos a distancia de precio y respeta las restricciones aplicables del br&oacute;ker. No fijes en el c&oacute;digo distancias fijas del br&oacute;ker, porque los ajustes del s&iacute;mbolo pueden variar.\n\nNormaliza el Stop Loss propuesto a los d&iacute;gitos del s&iacute;mbolo. Usa el ticket de la posici&oacute;n al modificarla, para que se cambie la posici&oacute;n correcta en cuentas <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2019\/11\/08\/netting-vs-hedging-what-is-the-difference\/\" data-internallinksmanager029f6b8e52c=\"72\" title=\"hedging\">hedging<\/a>. Comprueba tanto el valor devuelto por PositionModify() como el c&oacute;digo de resultado del servidor de trading. Registra un mensaje claro si una modificaci&oacute;n falla o la bloquean las restricciones del br&oacute;ker. Conserva el Take Profit existente de la posici&oacute;n al modificar su Stop Loss. A&ntilde;ade comentarios claros que expliquen cada bloque de c&oacute;digo y cualquier supuesto sobre los niveles del s&iacute;mbolo.<\/pre>\n  <\/div>\n  <p>Comprueba que las posiciones de compra y de venta tengan c&aacute;lculos de Stop Loss separados y que el Take Profit se mantenga donde estaba cuando el Stop Loss se mueve.<\/p>\n\n  <h3><span class=\"ez-toc-section\" id=\"Filtro_de_horario_de_trading\"><\/span>Filtro de horario de trading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p3\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p3\">Act&uacute;a como un desarrollador experto en MQL5. Crea un filtro horario modular para un Expert Advisor de MT5.\n\nIncluye par&aacute;metros de entrada para StartHour como int con valor por defecto 9, StartMinute como int con valor por defecto 0, EndHour como int con valor por defecto 21 y EndMinute como int con valor por defecto 0.\n\nCrea una funci&oacute;n booleana IsTradingAllowed() que use TimeCurrent() y la hora del servidor del br&oacute;ker.\n\nValida que las horas est&eacute;n entre 0 y 23 y los minutos entre 0 y 59. Compara la hora actual del d&iacute;a con la ventana de trading configurada usando un intervalo semiabierto, en el que se permite operar en el instante exacto de inicio y no se permite en el instante exacto de fin.\n\nAdmite ventanas de trading que cruzan la medianoche. Por ejemplo, una ventana de las 22 horas 00 minutos a las 02 horas 00 minutos permite operar desde las 22 horas hasta la medianoche y desde la medianoche hasta las 02 horas.\n\nSi la hora de inicio es igual a la hora de fin, trata la ventana como desactivada y devuelve false. A&ntilde;ade comentarios claros que expliquen la base de la hora del servidor y el manejo de la medianoche.<\/pre>\n  <\/div>\n  <p>Comprueba que una ventana que cruza la medianoche funcione y que el filtro lea la hora del servidor del br&oacute;ker, que puede diferir del reloj de tu ordenador.<\/p>\n\n  <h3><span class=\"ez-toc-section\" id=\"Tamano_de_la_posicion_segun_un_porcentaje_de_riesgo\"><\/span>Tama&ntilde;o de la posici&oacute;n seg&uacute;n un porcentaje de riesgo<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p4\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p4\">Act&uacute;a como un desarrollador experto en MQL5. Escribe una funci&oacute;n fiable para calcular din&aacute;micamente el tama&ntilde;o de la posici&oacute;n seg&uacute;n el riesgo de la cuenta.\n\nIncluye par&aacute;metros de entrada para RiskPercent como double con valor por defecto 1.0 y StopLossPips como int con valor por defecto 100.\n\nObt&eacute;n el equity de la cuenta con AccountInfoDouble(ACCOUNT_EQUITY). Lee el tama&ntilde;o del tick, el valor del tick, el volumen m&iacute;nimo, el volumen m&aacute;ximo y el paso de volumen del s&iacute;mbolo con SymbolInfoDouble(). Convierte StopLossPips a distancia de precio correctamente para el s&iacute;mbolo actual.\n\nCalcula la p&eacute;rdida monetaria de un lote a la distancia de Stop Loss indicada y despu&eacute;s calcula el tama&ntilde;o del lote para que la p&eacute;rdida estimada no supere RiskPercent del equity actual. Redondea el volumen hacia abajo al SYMBOL_VOLUME_STEP v&aacute;lido m&aacute;s cercano. No redondees hacia arriba, porque podr&iacute;a superar el riesgo solicitado.\n\nAplica SYMBOL_VOLUME_MIN y SYMBOL_VOLUME_MAX. Si el volumen calculado es menor que SYMBOL_VOLUME_MIN, devuelve 0 y explica que la operaci&oacute;n se debe omitir, sin subirla al lote m&iacute;nimo. Limita el volumen a SYMBOL_VOLUME_MAX.\n\nValida todos los par&aacute;metros de entrada y los valores del s&iacute;mbolo. Devuelve 0 si RiskPercent, StopLossPips, el tama&ntilde;o del tick, el valor del tick o el paso de volumen no son v&aacute;lidos, o si la p&eacute;rdida no se puede calcular de forma fiable. Documenta con claridad que las comisiones, <a href=\"https:\/\/roboforex.com\/es\/blog\/blog\/2020\/09\/18\/what-is-slippage-in-forex\/\" data-internallinksmanager029f6b8e52c=\"100\" title=\"el deslizamiento\">el deslizamiento<\/a>, los gaps y la conversi&oacute;n de <a href=\"https:\/\/roboforex.com\/es\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"br\u00f3ker de forex\">divisas<\/a> pueden hacer que la p&eacute;rdida real difiera de la estimada. A&ntilde;ade comentarios claros y una breve explicaci&oacute;n del c&aacute;lculo.<\/pre>\n  <\/div>\n  <p>Comprueba que el volumen siempre se redondee hacia abajo al paso permitido y que el robot omita la operaci&oacute;n cuando el lote resulte menor que el m&iacute;nimo.<\/p>\n\n  <div class=\"ctb-promo\">\n    <div>\n      <div class=\"ctb-promo-title\">Ejecuta Expert Advisors en RoboForex MetaTrader 5<\/div>\n      <div class=\"ctb-promo-sub\">MT5 de escritorio con MetaEditor, trading algor&iacute;tmico y el Probador de estrategias integrados.<\/div>\n    <\/div>\n    <div class=\"ctb-promo-actions\">\n      <a class=\"ctb-promo-btn\" href=\"https:\/\/roboforex.com\/es\/forex-trading\/platforms\/metatrader5-mt5\/\" target=\"_blank\">Obtener MetaTrader 5<\/a>\n    <\/div>\n  <\/div>\n\n  <h2><span class=\"ez-toc-section\" id=\"Prompts_que_depuran_el_codigo_en_MetaEditor\"><\/span>Prompts que depuran el c&oacute;digo en MetaEditor<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Para corregir un error de compilaci&oacute;n de MQL5 con ChatGPT, copia el mensaje exacto y el n&uacute;mero de l&iacute;nea de la pesta&ntilde;a Errores de MetaEditor, env&iacute;alo de vuelta con el c&oacute;digo y pide la correcci&oacute;n m&aacute;s peque&ntilde;a posible. Repite el ciclo hasta que el c&oacute;digo compile.<\/p>\n  <ol class=\"ctb-stages\">\n    <li><span class=\"ctb-stage-title\">Pegar<\/span><span class=\"ctb-stage-text\">Pon el c&oacute;digo de ChatGPT en un archivo nuevo de Expert Advisor en MetaEditor.<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Compilar<\/span><span class=\"ctb-stage-text\">Haz clic en Compilar en la barra de herramientas o pulsa F7.<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Copiar los errores<\/span><span class=\"ctb-stage-text\">Abre la pesta&ntilde;a Errores de la Caja de herramientas y copia cada mensaje con su n&uacute;mero de l&iacute;nea.<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Enviar y repetir<\/span><span class=\"ctb-stage-text\">Env&iacute;a los errores con el c&oacute;digo a ChatGPT, pega la correcci&oacute;n y compila de nuevo.<\/span><\/li>\n  <\/ol>\n\n  <figure class=\"wp-block-image size-large\"><a href=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic3-scaled.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/2026\/11\/ChatGPT_Trading_Bot_pic3-scaled.png\" alt=\"Pesta&ntilde;a Errores de MetaEditor con errores de compilaci&oacute;n como constant expected y undeclared identifier dealMagic, con archivo, l&iacute;nea y columna, 11 errores y 0 advertencias\"><\/a><figcaption class=\"wp-element-caption\">La pesta&ntilde;a Errores da cada mensaje con su l&iacute;nea y columna. C&oacute;pialos en ChatGPT tal como aparecen. Fuente: MetaEditor 5.<\/figcaption><\/figure>\n\n  <h3><span class=\"ez-toc-section\" id=\"Ejemplo_1_CTrade_undeclared_identifier\"><\/span>Ejemplo 1: CTrade undeclared identifier<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <p>ChatGPT us&oacute; comandos de trading como trade.Buy() pero no incluy&oacute; la biblioteca est&aacute;ndar de trading ni declar&oacute; el objeto CTrade.<\/p>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p5\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p5\">El compilador de MQL5 informa CTrade undeclared identifier en la l&iacute;nea [n&uacute;mero de l&iacute;nea] tras la compilaci&oacute;n. Revisa el c&oacute;digo correspondiente y haz la correcci&oacute;n m&iacute;nima necesaria. Si hace falta, a&ntilde;ade la directiva de inclusi&oacute;n de la biblioteca est&aacute;ndar correcta #include &lt;Trade\/Trade.mqh&gt; y declara el objeto de trading como CTrade trade;. Explica los cambios que hiciste.\n\nMi c&oacute;digo:\n[pega aqu&iacute; tu c&oacute;digo .mq5]<\/pre>\n  <\/div>\n\n  <h3><span class=\"ez-toc-section\" id=\"Ejemplo_2_llaves_sin_cerrar_o_un_OnTick_mal_escrito\"><\/span>Ejemplo 2: llaves sin cerrar o un OnTick mal escrito<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <p>Las llaves no est&aacute;n equilibradas, o el nombre de un manejador de eventos tiene una errata. En MQL5 el manejador del tick es OnTick(), con O y T may&uacute;sculas. La causa real puede estar por encima de la l&iacute;nea que se&ntilde;ala el compilador.<\/p>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p6\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p6\">El compilador de MetaEditor informa un error de sintaxis o de estructura de funciones. Revisa todo el archivo MQL5 en busca de llaves sin cerrar, cuerpos de funci&oacute;n ausentes y nombres de manejadores de eventos mal escritos, como OnTick(). Identifica la causa de cada error informado, haz las correcciones m&iacute;nimas necesarias y explica qu&eacute; l&iacute;neas cambiaste.\n\nMi c&oacute;digo:\n[pega aqu&iacute; tu c&oacute;digo .mq5]<\/pre>\n  <\/div>\n  <p>Env&iacute;a los mensajes exactos de la pesta&ntilde;a Errores junto con el c&oacute;digo, y la mayor&iacute;a de los errores t&iacute;picos se resuelven en pocas rondas. Una compilaci&oacute;n limpia solo significa que el c&oacute;digo es MQL5 v&aacute;lido. La l&oacute;gica de trading todav&iacute;a tiene que superar las pruebas de abajo.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"Prompts_que_explican_codigo_que_no_escribiste\"><\/span>Prompts que explican c&oacute;digo que no escribiste<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Dale a ChatGPT el archivo .mq5 del robot y pide que explique la l&oacute;gica. Esto sirve con robots de c&oacute;digo abierto, como los del Code Base de MQL5 que se describen en <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/30\/expert-advisor-download-mt5-mql5-market\/\">Robots de trading gratis para MT5: c&oacute;mo descargar, probar e instalar Expert Advisors del MQL5 Market<\/a>, incluso si no programas.<\/p>\n\n  <h3><span class=\"ez-toc-section\" id=\"Explicar_el_robot_linea_por_linea\"><\/span>Explicar el robot l&iacute;nea por l&iacute;nea<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p7\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p7\">Act&uacute;a como un desarrollador experto en MQL5. Explica este c&oacute;digo l&iacute;nea por l&iacute;nea e incluye los n&uacute;meros de l&iacute;nea de cada secci&oacute;n. Desglosa el prop&oacute;sito de cada funci&oacute;n, de cada declaraci&oacute;n de variable y de cada handle de indicador t&eacute;cnico usado en el script.\n\nMi c&oacute;digo:\n[pega aqu&iacute; tu c&oacute;digo .mq5]<\/pre>\n  <\/div>\n\n  <h3><span class=\"ez-toc-section\" id=\"Encontrar_el_lote_los_stops_y_la_entrada\"><\/span>Encontrar el lote, los stops y la entrada<span class=\"ez-toc-section-end\"><\/span><\/h3>\n  <div class=\"ctb-prompt\">\n    <div class=\"ctb-prompt-head\"><span>Prompt<\/span><button type=\"button\" class=\"ctb-copy\" data-ctb-copy=\"ctb-p8\">Copiar<\/button><\/div>\n<pre class=\"ctb-prompt-text\" id=\"ctb-p8\">Analiza este script de MQL5 e identifica exactamente d&oacute;nde se definen el volumen de la posici&oacute;n o tama&ntilde;o del lote, los niveles de Stop Loss y Take Profit de protecci&oacute;n y las se&ntilde;ales de entrada al mercado. Se&ntilde;ala los n&uacute;meros de l&iacute;nea concretos o las variables de entrada que controlan estos par&aacute;metros, e indica de forma expl&iacute;cita cualquier ajuste que se calcule dentro del c&oacute;digo y no est&eacute; fijado como par&aacute;metro de entrada.\n\nMi c&oacute;digo:\n[pega aqu&iacute; tu c&oacute;digo .mq5]<\/pre>\n  <\/div>\n  <p>La respuesta muestra qu&eacute; ajustes cambias en la pesta&ntilde;a Par&aacute;metros de entrada y cu&aacute;les est&aacute;n dentro del c&oacute;digo. Lo que hace cada par&aacute;metro habitual se explica en <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/10\/29\/trading-robot-settings\/\">Configuraci&oacute;n de un robot de trading: tama&ntilde;o de lote, stops y magic number<\/a>. Contrasta la explicaci&oacute;n con el propio c&oacute;digo, porque ChatGPT puede pasar por alto detalles en un archivo largo.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"%C2%BFComo_probar_un_bot_de_trading_con_ChatGPT_antes_de_operar\"><\/span>&iquest;C&oacute;mo probar un bot de trading con ChatGPT antes de operar?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>Prueba un bot de trading con ChatGPT en cuatro etapas: el Probador de estrategias, una cuenta demo, una cuenta de centavos ProCent y solo despu&eacute;s una cuenta real est&aacute;ndar. Una compilaci&oacute;n limpia no dice nada sobre c&oacute;mo opera el robot, as&iacute; que cada etapa comprueba algo que la anterior no puede.<\/p>\n\n  <ol class=\"ctb-stages\">\n    <li><span class=\"ctb-stage-title\">Probador de estrategias<\/span><span class=\"ctb-stage-text\">El historial muestra si las operaciones se abren donde dicen las reglas y qu&eacute; tan profunda es la reducci&oacute;n<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Cuenta demo<\/span><span class=\"ctb-stage-text\">Las cotizaciones en vivo comprueban la ejecuci&oacute;n de &oacute;rdenes con dinero virtual<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Cuenta ProCent<\/span><span class=\"ctb-stage-text\">Spreads y ejecuci&oacute;n reales, con el saldo contado en centavos<\/span><\/li>\n    <li><span class=\"ctb-stage-title\">Cuenta est&aacute;ndar<\/span><span class=\"ctb-stage-text\">Solo cuando el robot funcione de forma estable en todas las etapas anteriores<\/span><\/li>\n  <\/ol>\n\n  <p>Empieza con la prueba paso a paso de <a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/10\/a-15-minute-backtest-how-to-test-a-trading-robot-in-metatrader-5\/\">Un backtest de 15 minutos<\/a>. Despu&eacute;s pasa el robot a la cuenta demo y observa c&oacute;mo se ejecutan sus &oacute;rdenes con precios en vivo. Sigue la <a href=\"https:\/\/roboforex.com\/es\/forex-trading\/trading\/cent-account\/\">cuenta ProCent<\/a>: el robot opera con dinero real y spreads reales, con los vol&uacute;menes m&aacute;s peque&ntilde;os y un saldo expresado en centavos. Los resultados pasados no garantizan rendimientos futuros.<\/p>\n\n  <h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusi&oacute;n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <p>ChatGPT escribe c&oacute;digo MQL5 para un robot de trading cuando el prompt lleva reglas exactas de entrada, salida y riesgo. Empieza con el prompt del cruce, compila el resultado en MetaEditor, elimina los errores con los dos prompts de correcci&oacute;n y ejecuta el robot en el Probador de estrategias. Despu&eacute;s d&eacute;jalo en una cuenta demo con dinero virtual antes de cualquier operaci&oacute;n real.<\/p>\n\n  <div class=\"ctb-cta\">\n    <a href=\"https:\/\/my.roboforex.com\/es\/register\/\" target=\"_blank\" rel=\"nofollow\">Abre una cuenta demo y prueba tu robot<\/a>\n  <\/div>\n\n  <h2><span class=\"ez-toc-section\" id=\"Preguntas_frecuentes\"><\/span>Preguntas frecuentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n  <div class=\"ctb-faq\">\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Puede ChatGPT operar por m&iacute;?<\/summary>\n      <div class=\"ctb-faq-a\">ChatGPT escribe y explica el c&oacute;digo y no tiene conexi&oacute;n con tu cuenta de trading. El Expert Advisor se ejecuta dentro de MetaTrader 5, y la terminal env&iacute;a las &oacute;rdenes al br&oacute;ker. T&uacute; decides cu&aacute;ndo se activa el robot y con qu&eacute; l&iacute;mites de riesgo.<\/div>\n    <\/details>\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Sirve ChatGPT para el trading?<\/summary>\n      <div class=\"ctb-faq-a\">ChatGPT es un asistente c&oacute;modo para escribir c&oacute;digo de trading y explicar c&oacute;mo funciona un algoritmo. No inventa estrategias rentables ni predice precios, as&iacute; que el resultado depende de las reglas que le da el trader.<\/div>\n    <\/details>\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Puede ChatGPT escribir c&oacute;digo MQL5?<\/summary>\n      <div class=\"ctb-faq-a\">S&iacute;, ChatGPT puede escribir el c&oacute;digo b&aacute;sico de un Expert Advisor de MetaTrader 5. Un prompt detallado da la mejor base: el rol, las reglas de entrada y salida, el c&aacute;lculo del lote y los niveles de los stops. Compila el resultado en MetaEditor y <a href=\"https:\/\/roboforex.com\/es\/beginners\/info\/charts\/stocks\/PRU\/\" data-internallinksmanager029f6b8e52c=\"167\" title=\"Prudential Financial Inc\">pru<\/a>&eacute;balo antes de usarlo.<\/div>\n    <\/details>\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Son legales los bots de trading con IA?<\/summary>\n      <div class=\"ctb-faq-a\">Ejecutar un Expert Advisor en tu propia cuenta es una funci&oacute;n est&aacute;ndar de MetaTrader 5, y las cuentas de RoboForex permiten el trading algor&iacute;tmico. Un robot escrito con ChatGPT es un Expert Advisor como cualquier otro. Las normas sobre trading automatizado pueden variar de un pa&iacute;s a otro, as&iacute; que revisa las que se aplican donde vives.<\/div>\n    <\/details>\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Funcionan de verdad los bots de trading con IA?<\/summary>\n      <div class=\"ctb-faq-a\">Un bot de trading funciona en el sentido de que aplica sus reglas a cada se&ntilde;al mientras la terminal est&aacute; encendida. Que gane dinero depende de la estrategia y de los l&iacute;mites de riesgo, y escribir el c&oacute;digo con IA no cambia ninguna de las dos. Los resultados con datos hist&oacute;ricos no garantizan rendimientos futuros.<\/div>\n    <\/details>\n    <details class=\"ctb-faq-item\">\n      <summary class=\"ctb-faq-q\">&iquest;Qu&eacute; versi&oacute;n de ChatGPT funciona mejor para MQL5?<\/summary>\n      <div class=\"ctb-faq-a\">Usa el modelo m&aacute;s avanzado disponible en ChatGPT que maneje bien la programaci&oacute;n. Los nombres y la disponibilidad de los modelos cambian a menudo, y hasta un modelo potente comete errores, as&iacute; que todo fragmento de c&oacute;digo pasa por compilaci&oacute;n y pruebas.<\/div>\n    <\/details>\n  <\/div>\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfPuede ChatGPT operar por m\\u00ed?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"ChatGPT escribe y explica el c\\u00f3digo y no tiene conexi\\u00f3n con tu cuenta de trading. El Expert Advisor se ejecuta dentro de MetaTrader 5, y la terminal env\\u00eda las \\u00f3rdenes al br\\u00f3ker. T\\u00fa decides cu\\u00e1ndo se activa el robot y con qu\\u00e9 l\\u00edmites de riesgo.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfSirve ChatGPT para el trading?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"ChatGPT es un asistente c\\u00f3modo para escribir c\\u00f3digo de trading y explicar c\\u00f3mo funciona un algoritmo. No inventa estrategias rentables ni predice precios, as\\u00ed que el resultado depende de las reglas que le da el trader.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfPuede ChatGPT escribir c\\u00f3digo MQL5?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"S\\u00ed, ChatGPT puede escribir el c\\u00f3digo b\\u00e1sico de un Expert Advisor de MetaTrader 5. Un prompt detallado da la mejor base: el rol, las reglas de entrada y salida, el c\\u00e1lculo del lote y los niveles de los stops. Compila el resultado en MetaEditor y pru\\u00e9balo antes de usarlo.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfSon legales los bots de trading con IA?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Ejecutar un Expert Advisor en tu propia cuenta es una funci\\u00f3n est\\u00e1ndar de MetaTrader 5, y las cuentas de RoboForex permiten el trading algor\\u00edtmico. Un robot escrito con ChatGPT es un Expert Advisor como cualquier otro. Las normas sobre trading automatizado pueden variar de un pa\\u00eds a otro, as\\u00ed que revisa las que se aplican donde vives.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfFuncionan de verdad los bots de trading con IA?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Un bot de trading funciona en el sentido de que aplica sus reglas a cada se\\u00f1al mientras la terminal est\\u00e1 encendida. Que gane dinero depende de la estrategia y de los l\\u00edmites de riesgo, y escribir el c\\u00f3digo con IA no cambia ninguna de las dos. Los resultados con datos hist\\u00f3ricos no garantizan rendimientos futuros.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"\\u00bfQu\\u00e9 versi\\u00f3n de ChatGPT funciona mejor para MQL5?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Usa el modelo m\\u00e1s avanzado disponible en ChatGPT que maneje bien la programaci\\u00f3n. Los nombres y la disponibilidad de los modelos cambian a menudo, y hasta un modelo potente comete errores, as\\u00ed que todo fragmento de c\\u00f3digo pasa por compilaci\\u00f3n y pruebas.\"\n        }\n      }\n    ]\n  }\n  <\/script>\n\n  <div class=\"ctb-read-next\">\n    <div class=\"ctb-read-next-label\">Sigue leyendo<\/div>\n    <ul>\n      <li><a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/07\/10\/trading-robot-ai\/\">C&oacute;mo lanzar un robot de trading con IA: gu&iacute;a paso a paso para principiantes<\/a>: la ruta completa desde una idea de trading hasta un robot en el gr&aacute;fico.<\/li>\n      <li><a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/08\/first-mql5-expert-advisor\/\">Tu primer expert advisor en MQL5: un robot listo para copiar y lanzar hoy<\/a>: c&oacute;digo completo para comparar con lo que te da ChatGPT.<\/li>\n      <li><a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/10\/21\/how-to-install-ea-in-mt5\/\">C&oacute;mo instalar un EA en MT5 y abrir tu primera operaci&oacute;n autom&aacute;tica<\/a>: pon el robot compilado en un gr&aacute;fico.<\/li>\n      <li><a href=\"https:\/\/roboforex.com\/es\/blog\/2026\/09\/10\/a-15-minute-backtest-how-to-test-a-trading-robot-in-metatrader-5\/\">Un backtest de 15 minutos: c&oacute;mo probar un robot de trading en MetaTrader 5<\/a>: la primera prueba para cualquier robot que escriba ChatGPT.<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"ctb-disclaimer\">\n    <em>Cualquier informaci&oacute;n proporcionada en los art&iacute;culos de este sitio web se basa &uacute;nicamente en las opiniones personales de los autores. Estos art&iacute;culos no deben interpretarse como recomendaciones de trading ni como una llamada a la acci&oacute;n. Los autores y RoboForex no asumen responsabilidad alguna por los resultados de las operaciones realizadas a partir de estas recomendaciones y an&aacute;lisis. Los resultados pasados no son indicativos de resultados futuros. Operar con <a href=\"https:\/\/roboforex.com\/es\/forex-trading\/assets\/stocks\/\" data-internallinksmanager029f6b8e52c=\"36\" title=\"invertir acciones\">acciones<\/a> y CFDs conlleva un riesgo alto de p&eacute;rdida del capital.<\/em>\n  <\/div>\n\n  <script>\n  (function () {\n    function copyText(text, btn) {\n      var label = btn.innerHTML;\n      function done() {\n        btn.innerHTML = 'Copiado';\n        setTimeout(function () { btn.innerHTML = label; }, 1500);\n      }\n      function fallback() {\n        var ta = document.createElement('textarea');\n        ta.value = text;\n        ta.setAttribute('readonly', '');\n        ta.style.position = 'absolute';\n        ta.style.left = '-9999px';\n        document.body.appendChild(ta);\n        ta.select();\n        try { document.execCommand('copy'); done(); } catch (e) {}\n        document.body.removeChild(ta);\n      }\n      if (navigator.clipboard && navigator.clipboard.writeText) {\n        navigator.clipboard.writeText(text).then(done, fallback);\n      } else {\n        fallback();\n      }\n    }\n    var buttons = document.querySelectorAll('.ctb [data-ctb-copy]');\n    for (var i = 0; i < buttons.length; i++) {\n      buttons[i].addEventListener('click', function () {\n        var src = document.getElementById(this.getAttribute('data-ctb-copy'));\n        if (src) copyText(src.textContent, this);\n      });\n    }\n\n    var box = document.getElementById('ctb-builder');\n    if (!box) return;\n    var out = document.getElementById('ctb-out');\n    var tabs = box.querySelectorAll('.ctb-builder-tab');\n    var groups = box.querySelectorAll('.ctb-builder-fields');\n    var task = 'write';\n    function val(id, fallbackText) {\n      var el = document.getElementById(id);\n      var v = el ? el.value.replace(\/^\\s+|\\s+$\/g, '') : '';\n      return v || fallbackText;\n    }\n    function build() {\n      var p;\n      if (task === 'write') {\n        p = 'Act&uacute;a como un desarrollador experto en MQL5 para MetaTrader 5. Escribe un Expert Advisor (EA) limpio y modular para ' + val('ctb-symbol', '[s&iacute;mbolo y marco temporal]') + '.\\n\\n' +\n          'Regla de entrada: ' + val('ctb-entry', '[describe la regla de entrada]') + '\\n' +\n          'Regla de salida: ' + val('ctb-exit', '[describe la regla de salida]') + '\\n\\n' +\n          'Usa un lote fijo de ' + val('ctb-lot', '[lote]') + ', un Stop Loss de ' + val('ctb-sl', '[pips]') + ' pips y un Take Profit de ' + val('ctb-tp', '[pips]') + ' pips. Permite solo una posici&oacute;n abierta a la vez.\\n\\n' +\n          'Pon el lote, el Stop Loss, el Take Profit, los per&iacute;odos de los indicadores y el MagicNumber en par&aacute;metros de entrada. Eval&uacute;a las se&ntilde;ales una vez por barra nueva usando barras cerradas. Gestiona solo las posiciones que coincidan con el s&iacute;mbolo actual y el MagicNumber. Convierte los pips a puntos correctamente para cotizaciones de 3 y 5 d&iacute;gitos.\\n\\n' +\n          'Usa la biblioteca CTrade para ejecutar las &oacute;rdenes y comprueba el resultado de cada operaci&oacute;n de trading. A&ntilde;ade comentarios claros que expliquen cada bloque de c&oacute;digo.';\n      } else if (task === 'fix') {\n        var line = val('ctb-line', '');\n        p = 'El compilador de MQL5 en MetaEditor informa este error' + (line ? ' en la l&iacute;nea ' + line : '') + ':\\n' +\n          val('ctb-error', '[pega el texto del error de la pesta&ntilde;a Errores]') + '\\n\\n' +\n          'Revisa el c&oacute;digo correspondiente y haz la correcci&oacute;n m&iacute;nima necesaria. Deja sin cambios las partes del c&oacute;digo que compilan. Explica qu&eacute; l&iacute;neas cambiaste y por qu&eacute;.\\n\\n' +\n          'Mi c&oacute;digo:\\n[pega aqu&iacute; tu c&oacute;digo]';\n      } else {\n        if (val('ctb-goal', 'line') === 'params') {\n          p = 'Analiza este script de MQL5 e identifica exactamente d&oacute;nde se definen el volumen de la posici&oacute;n o tama&ntilde;o del lote, los niveles de Stop Loss y Take Profit de protecci&oacute;n y las se&ntilde;ales de entrada al mercado. Se&ntilde;ala los n&uacute;meros de l&iacute;nea concretos o las variables de entrada que controlan estos par&aacute;metros, e indica de forma expl&iacute;cita cualquier ajuste que se calcule dentro del c&oacute;digo y no est&eacute; fijado como par&aacute;metro de entrada.';\n        } else {\n          p = 'Act&uacute;a como un desarrollador experto en MQL5. Explica este c&oacute;digo l&iacute;nea por l&iacute;nea e incluye los n&uacute;meros de l&iacute;nea de cada secci&oacute;n. Desglosa el prop&oacute;sito de cada funci&oacute;n, de cada declaraci&oacute;n de variable y de cada handle de indicador t&eacute;cnico usado en el script.';\n        }\n        p += '\\n\\nMi c&oacute;digo:\\n[pega aqu&iacute; tu c&oacute;digo .mq5]';\n      }\n      out.textContent = p;\n    }\n    for (var t = 0; t < tabs.length; t++) {\n      tabs[t].addEventListener('click', function () {\n        task = this.getAttribute('data-task');\n        for (var j = 0; j < tabs.length; j++) {\n          tabs[j].setAttribute('aria-pressed', tabs[j] === this ? 'true' : 'false');\n        }\n        for (var k = 0; k < groups.length; k++) {\n          groups[k].hidden = groups[k].getAttribute('data-for') !== task;\n        }\n        build();\n      });\n    }\n    var fields = box.querySelectorAll('input, textarea, select');\n    for (var f = 0; f < fields.length; f++) {\n      fields[f].addEventListener('input', build);\n      fields[f].addEventListener('change', build);\n    }\n    build();\n  })();\n  <\/script>\n\n<\/div>\n<\/div>\n<!-- ==================== \/BLOCK 1 ==================== -->\n\n<!-- ==================== BLOCK 2: STYLES ==================== -->\n<style>\n:root {\n  --green:        #5ab02b;\n  --green-hover:  #489022;\n  --link:         #0384c6;\n  --text:         #2E3A59;\n  --text-light:   #666666;\n  --heading:      #2E3A59;\n  --border:       #e0e0e0;\n  --table-head:   #f5f5f5;\n  --table-stripe: #fafafa;\n  --toc-bg:       #f9f9f9;\n  --promo-bg:     #f8f8f8;\n  --promo-border: #e8e8e8;\n  --radius:       4px;\n  --font:         'Roboto', Arial, sans-serif;\n  --max-w:        1160px;\n}\n\n\/* Outer wrapper. No side padding, decision 0014. *\/\n.ctb-wrap {\n  box-sizing: border-box; max-width: var(--max-w); margin: 0 auto; padding: 0;\n}\n\n\/* Base prose *\/\n.ctb {\n  font-family: var(--font);\n  font-size: 20px;\n  line-height: 1.7;\n  color: var(--text);\n  max-width: var(--max-w);\n}\n.ctb.ctb, .ctb.ctb * {\n  font-family: 'Roboto', Arial, sans-serif !important;\n}\n.ctb p { margin: 0 0 20px; }\n.ctb p a,\n.ctb li a,\n.ctb figcaption a,\n.ctb td a,\n.ctb .ctb-faq-a a,\n.ctb .ctb-disclaimer a {\n  color: var(--link);\n  text-decoration: none;\n}\n.ctb p a:hover,\n.ctb li a:hover,\n.ctb figcaption a:hover,\n.ctb td a:hover,\n.ctb .ctb-faq-a a:hover,\n.ctb .ctb-disclaimer a:hover {\n  text-decoration: none;\n}\n.ctb strong { color: var(--heading); font-weight: 700; }\n.ctb em { font-style: italic; }\n.ctb ul {\n  padding-left: 22px; margin: 0 0 18px;\n  display: flex; flex-direction: column; gap: 6px;\n}\n.ctb ol { padding-left: 26px; margin: 0 0 20px; }\n.ctb li { font-size: 20px; line-height: 1.7; color: var(--text); }\n\n\/* Headings. No border-bottom, no padding-bottom. No H1 rule. *\/\n.ctb h2 {\n  font-size: 32px; font-weight: 700; color: var(--heading);\n  margin: 40px 0 16px; scroll-margin-top: 68px;\n}\n.ctb h3 {\n  font-size: 22px; font-weight: 700; color: var(--heading);\n  margin: 28px 0 12px; scroll-margin-top: 68px;\n}\n\n\/* TL;DR, decisions 0024, 0031 *\/\n.ctb .ctb-tldr {\n  background: var(--promo-bg); border: 1px solid var(--border);\n  border-radius: var(--radius); padding: 18px 24px; margin: 24px 0 28px;\n}\n.ctb .ctb-tldr-label {\n  font-size: 14px; font-weight: 700; letter-spacing: .08em;\n  text-transform: uppercase; color: var(--text-light); margin: 0 0 8px;\n}\n.ctb .ctb-tldr ol { margin: 0; padding-left: 22px; }\n.ctb .ctb-tldr li { font-size: 17px; line-height: 1.6; margin: 0 0 6px; }\n.ctb .ctb-tldr li:last-child { margin-bottom: 0; }\n\n\/* Stage sequence: ring nodes with grey connectors, decision 0033.\n   Numbers come from a CSS counter, ASCII only. *\/\n.ctb ol.ctb-stages {\n  list-style: none; margin: 28px 0 32px; padding: 0;\n  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 16px; counter-reset: ctb-stage;\n}\n.ctb ol.ctb-stages > li {\n  position: relative; counter-increment: ctb-stage;\n  padding: 52px 0 0; margin: 0;\n  display: flex; flex-direction: column; gap: 4px;\n}\n.ctb ol.ctb-stages > li::before {\n  content: counter(ctb-stage);\n  position: absolute; top: 0; left: 0; z-index: 1;\n  width: 40px; height: 40px; box-sizing: border-box;\n  border: 2px solid var(--green); border-radius: 50%; background: #fff;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 18px; font-weight: 700; color: var(--heading); line-height: 1;\n}\n.ctb ol.ctb-stages > li::after {\n  content: ''; position: absolute; top: 19px; left: 40px; right: -16px;\n  height: 2px; background: var(--border);\n}\n.ctb ol.ctb-stages > li:last-child::after { display: none; }\n.ctb .ctb-stage-title {\n  font-size: 17px; font-weight: 700; line-height: 1.35; color: var(--heading);\n}\n.ctb .ctb-stage-text { font-size: 15px; line-height: 1.5; color: var(--text-light); }\n@media (max-width: 900px) {\n  .ctb ol.ctb-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }\n  .ctb ol.ctb-stages > li:nth-child(2n)::after { display: none; }\n}\n@media (max-width: 600px) {\n  .ctb ol.ctb-stages { grid-template-columns: 1fr; gap: 0; row-gap: 0; }\n  .ctb ol.ctb-stages > li { padding: 6px 0 22px 56px; min-height: 40px; }\n  .ctb ol.ctb-stages > li::after,\n  .ctb ol.ctb-stages > li:nth-child(2n)::after {\n    display: block; top: 40px; bottom: 0; left: 19px; right: auto;\n    width: 2px; height: auto;\n  }\n  .ctb ol.ctb-stages > li:last-child::after { display: none; }\n}\n\n\/* Read next, decision 0028 *\/\n.ctb .ctb-read-next {\n  border-top: 1px solid var(--border);\n  padding: 20px 0 0; margin: 36px 0 28px;\n}\n.ctb .ctb-read-next-label {\n  font-size: 14px; font-weight: 700; letter-spacing: .08em;\n  text-transform: uppercase; color: var(--text-light); margin: 0 0 8px;\n}\n.ctb .ctb-read-next ul { margin: 0; padding-left: 22px; }\n.ctb .ctb-read-next li { font-size: 17px; line-height: 1.6; margin: 0 0 6px; }\n.ctb .ctb-read-next li:last-child { margin-bottom: 0; }\n\n\/* Table. Three-column table uses the full width. *\/\n.ctb-table-wrap {\n  max-width: 720px; overflow-x: auto; margin: 24px 0;\n  border: 1px solid var(--border); border-radius: var(--radius);\n}\n.ctb-table-wrap.ctb-table-wide { max-width: none; }\n.ctb table.rf {\n  width: 100%; border-collapse: collapse; font-size: 16px; margin-bottom: 0;\n}\n.ctb table.rf thead tr { background: var(--table-head); }\n.ctb table.rf th {\n  padding: 10px 14px; text-align: left; font-size: 16px; font-weight: 700;\n  color: var(--heading); border-bottom: 2px solid var(--border);\n}\n.ctb table.rf td {\n  padding: 10px 14px; border-bottom: 1px solid var(--border);\n  vertical-align: top; line-height: 1.45; color: var(--text);\n}\n.ctb table.rf tr:last-child td { border-bottom: none; }\n.ctb table.rf tr:nth-child(even) td { background: var(--table-stripe); }\n\n@media (max-width: 600px) {\n  .ctb-table-wrap { border: none; overflow-x: visible; }\n  .ctb table.rf thead { display: none; }\n  .ctb table.rf tr {\n    display: block; margin-bottom: 12px;\n    border: 1px solid var(--border); border-radius: var(--radius);\n  }\n  .ctb table.rf td {\n    display: block; border-bottom: 1px solid var(--border);\n  }\n  .ctb table.rf td::before {\n    content: attr(data-label);\n    display: block; font-size: 13px; font-weight: 700;\n    text-transform: uppercase; letter-spacing: .04em;\n    color: var(--text-light); margin: 0 0 2px;\n  }\n}\n\n\/* Images: native WordPress image block, overflow guard only, decision 0005 *\/\n.ctb .wp-block-image { margin: 24px 0; }\n.ctb .wp-block-image img { max-width: 100%; height: auto; display: block; }\n.ctb .wp-block-image figcaption { font-size: 14px; font-style: italic; color: var(--text-light); line-height: 1.5; margin-top: 8px; }\n\n\/* Promo *\/\n.ctb-promo {\n  background: var(--promo-bg); border: 1px solid var(--promo-border);\n  border-radius: var(--radius); margin: 36px 0; padding: 24px 28px;\n  display: grid; grid-template-columns: 1fr auto;\n  align-items: center; gap: 24px;\n}\n@media (max-width: 600px) { .ctb-promo { grid-template-columns: 1fr; padding: 20px; } }\n.ctb-promo-title {\n  font-size: 20px; font-weight: 700; color: var(--heading);\n  margin-bottom: 5px; line-height: 1.3;\n}\n.ctb-promo-sub { font-size: 15px; color: var(--text-light); line-height: 1.5; }\n.ctb-promo-actions { display: flex; gap: 8px; flex-wrap: wrap; }\n.ctb-promo-btn {\n  display: inline-block;\n  background: var(--green) !important;\n  color: #fff !important;\n  text-decoration: none !important;\n  font-size: 15px; font-weight: 700; padding: 10px 15px;\n  border-radius: 3px; white-space: nowrap; transition: background .15s;\n}\n.ctb-promo-btn:hover { background: var(--green-hover) !important; }\n\n\/* CTA, a bare centred link *\/\n.ctb-cta { text-align: center; margin: 36px 0; }\n.ctb-cta a {\n  display: inline-block;\n  background: var(--green) !important;\n  color: #fff !important;\n  text-decoration: none !important;\n  font-size: 20px; font-weight: 700; padding: 13px 32px;\n  border-radius: 3px; transition: background .15s;\n}\n.ctb-cta a:hover { background: var(--green-hover) !important; }\n@media (max-width: 600px) { .ctb-cta a { font-size: 18px; padding: 12px 20px; } }\n\n\/* FAQ. Native <details>, ASCII + and - only. Decision 0003. *\/\n.ctb-faq { margin: 8px 0; max-width: 900px; }\n.ctb-faq details.ctb-faq-item { border-bottom: 1px solid var(--border); }\n.ctb-faq details.ctb-faq-item:last-child { border-bottom: none; }\n.ctb-faq details.ctb-faq-item summary.ctb-faq-q {\n  list-style: none; cursor: pointer; display: flex; align-items: center;\n  justify-content: space-between; gap: 12px; padding: 16px 0; margin: 0;\n  font-size: 18px; font-weight: 700; color: var(--heading); user-select: none;\n}\n.ctb-faq details.ctb-faq-item summary.ctb-faq-q::-webkit-details-marker { display: none; }\n.ctb-faq details.ctb-faq-item summary.ctb-faq-q::after {\n  content: '+'; flex-shrink: 0; font-size: 22px; font-weight: 300;\n  color: var(--green); line-height: 1;\n}\n.ctb-faq details.ctb-faq-item[open] summary.ctb-faq-q::after { content: '-'; }\n.ctb-faq .ctb-faq-a {\n  font-size: 18px; color: var(--text); line-height: 1.65; margin: 0 0 16px;\n  padding: 0; animation: ctb-faq-open .18s ease;\n}\n@keyframes ctb-faq-open {\n  from { opacity: 0; transform: translateY(-4px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n@media (max-width: 600px) {\n  .ctb-faq details.ctb-faq-item summary.ctb-faq-q { font-size: 17px; }\n  .ctb-faq .ctb-faq-a { font-size: 17px; }\n}\n\n\/* Mobile heading scale *\/\n@media (max-width: 600px) {\n  .ctb h2 { font-size: 24px; margin: 32px 0 14px; }\n  .ctb h3 { font-size: 19px; }\n}\n\n\/* Disclaimer. Always last. *\/\n.ctb-disclaimer {\n  font-size: 12px; color: var(--text-light); line-height: 1.65;\n  margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--border);\n}\n.ctb-disclaimer em { font-style: italic; }\n\n\/* Prompt blocks. Wrapped plain text, no horizontal scroll. Copy button is a\n   real button; its label is ASCII set with innerHTML, CLAUDE.md hard rule 8. *\/\n.ctb-prompt {\n  border: 1px solid var(--border); border-radius: var(--radius);\n  margin: 16px 0 16px; max-width: 900px; overflow: hidden; background: var(--toc-bg);\n}\n.ctb-prompt-head {\n  display: flex; align-items: center; justify-content: space-between; gap: 12px;\n  padding: 8px 14px; background: var(--table-head); border-bottom: 1px solid var(--border);\n  font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;\n  color: var(--text-light);\n}\n.ctb .ctb-prompt-text,\n.ctb .ctb-builder-out {\n  margin: 0; padding: 14px 18px; white-space: pre-wrap; word-wrap: break-word;\n  overflow-wrap: anywhere; font-size: 15px; line-height: 1.6; color: var(--text);\n  background: transparent; border: none; max-height: none;\n  font-family: 'Roboto Mono', Consolas, 'Courier New', monospace !important;\n}\n.ctb .ctb-copy {\n  display: inline-block; margin: 0; padding: 5px 12px !important;\n  font-size: 13px !important; font-weight: 700 !important; line-height: 1.3;\n  color: #fff !important; background: var(--green) !important;\n  border: none !important; border-radius: 3px !important; box-shadow: none !important;\n  text-transform: none !important; letter-spacing: normal !important;\n  cursor: pointer; -webkit-appearance: none; appearance: none; transition: background .15s;\n}\n.ctb .ctb-copy:hover { background: var(--green-hover) !important; }\n.ctb .ctb-copy:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }\n\n\/* Prompt builder *\/\n.ctb-builder {\n  border: 1px solid var(--border); border-radius: var(--radius);\n  margin: 20px 0 24px; max-width: 900px; overflow: hidden; background: #fff;\n}\n.ctb-builder-head { padding: 14px 18px; background: var(--promo-bg); border-bottom: 1px solid var(--border); }\n.ctb-builder-title {\n  font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;\n  color: var(--text-light); margin: 0 0 10px;\n}\n.ctb-builder-tabs { display: flex; flex-wrap: wrap; gap: 8px; }\n.ctb .ctb-builder-tab {\n  margin: 0; padding: 7px 14px !important; font-size: 15px !important; font-weight: 500 !important;\n  line-height: 1.3; color: var(--heading) !important; background: #fff !important;\n  border: 1px solid var(--border) !important; border-radius: 3px !important; box-shadow: none !important;\n  text-transform: none !important; letter-spacing: normal !important;\n  cursor: pointer; -webkit-appearance: none; appearance: none;\n}\n.ctb .ctb-builder-tab[aria-pressed=\"true\"] {\n  color: #fff !important; background: var(--green) !important; border-color: var(--green) !important;\n}\n.ctb .ctb-builder-tab:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; }\n.ctb-builder-body { padding: 16px 18px 18px; }\n.ctb-builder-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0 0 16px; }\n.ctb-builder-fields[hidden] { display: none; }\n.ctb-builder-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }\n.ctb-builder-full { grid-column: 1 \/ -1; }\n.ctb-builder-field span { font-size: 14px; font-weight: 700; color: var(--heading); }\n.ctb .ctb-builder-field input,\n.ctb .ctb-builder-field textarea,\n.ctb .ctb-builder-field select {\n  box-sizing: border-box; width: 100%; max-width: 100%; margin: 0;\n  padding: 8px 10px; font-size: 16px; line-height: 1.4; color: var(--text);\n  background: #fff; border: 1px solid var(--border); border-radius: 3px; resize: vertical;\n}\n.ctb-builder-out-label {\n  font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;\n  color: var(--text-light); margin: 0 0 6px;\n}\n.ctb .ctb-builder-out {\n  background: var(--toc-bg); border: 1px solid var(--border); border-radius: var(--radius);\n  margin: 0 0 12px;\n}\n@media (max-width: 600px) {\n  .ctb-builder-head, .ctb-builder-body { padding-left: 14px; padding-right: 14px; }\n  .ctb-builder-fields { grid-template-columns: 1fr; }\n  .ctb .ctb-prompt-text, .ctb .ctb-builder-out { font-size: 14px; padding: 12px 14px; }\n}\n<\/style>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Prompts de ChatGPT listos para copiar en MetaTrader 5: crea un Expert Advisor por bloques, corrige errores de compilaci\u00f3n en MetaEditor y prueba el robot antes de operar.<\/p>\n","protected":false},"author":20,"featured_media":18454,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[250,3270,3234],"class_list":["post-18453","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","tag-trading-robot","tag-trading-con-chatgpt","tag-trading-con-ia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ChatGPT para trading: prompts listos para MQL5 y MT5<\/title>\n<meta name=\"description\" content=\"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ChatGPT para trading: prompts listos para MQL5 y MT5\" \/>\n<meta property=\"og:description\" content=\"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/\" \/>\n<meta property=\"og:site_name\" content=\"R Blog ES - RoboForex\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-12T10:10:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T10:10:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrey Goilov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/\"},\"headline\":\"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5\",\"datePublished\":\"2026-11-12T10:10:39+00:00\",\"dateModified\":\"2026-11-12T10:10:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/\"},\"wordCount\":2676,\"publisher\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2026\\\/11\\\/chatgpt-trading-bot.png\",\"keywords\":[\"robot de trading\",\"trading con chatgpt\",\"trading con IA\"],\"articleSection\":[\"Educaci\u00f3n\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/\",\"url\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/\",\"name\":\"ChatGPT para trading: prompts listos para MQL5 y MT5\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2026\\\/11\\\/chatgpt-trading-bot.png\",\"datePublished\":\"2026-11-12T10:10:39+00:00\",\"dateModified\":\"2026-11-12T10:10:44+00:00\",\"description\":\"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#primaryimage\",\"url\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2026\\\/11\\\/chatgpt-trading-bot.png\",\"contentUrl\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2026\\\/11\\\/chatgpt-trading-bot.png\",\"width\":1672,\"height\":941,\"caption\":\"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/2026\\\/11\\\/12\\\/chatgpt-trading-bot\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Principales\",\"item\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Educaci\u00f3n\",\"item\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/blog\\\/category\\\/education\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/\",\"name\":\"R Blog ES - RoboForex\",\"description\":\"Blog RoboForex para traders: Noticias de trading, An\u00e1lisis, Pron\u00f3sticos - forex y acciones | R-Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#organization\",\"name\":\"RoboForex Ltd\",\"url\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/roboforex.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2018\\\/10\\\/rf-logo_square.png\",\"contentUrl\":\"https:\\\/\\\/roboforex.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/11\\\/2018\\\/10\\\/rf-logo_square.png\",\"width\":512,\"height\":512,\"caption\":\"RoboForex Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/roboforex.com\\\/es\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"2118 Guava Street, Belama Phase 1\",\"addressLocality\":\"Belize City\",\"addressRegion\":\"BZ\",\"postalCode\":\"00000\",\"addressCountry\":\"BZ\"},\"contactPoint\":{\"@type\":\"ContactPoint\",\"telephone\":\"+593 964 256 286\",\"contactType\":\"customer service\",\"availableLanguage\":\"en\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ChatGPT para trading: prompts listos para MQL5 y MT5","description":"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/","og_locale":"es_ES","og_type":"article","og_title":"ChatGPT para trading: prompts listos para MQL5 y MT5","og_description":"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.","og_url":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/","og_site_name":"R Blog ES - RoboForex","article_published_time":"2026-11-12T10:10:39+00:00","article_modified_time":"2026-11-12T10:10:44+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Andrey Goilov","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#article","isPartOf":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/"},"headline":"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5","datePublished":"2026-11-12T10:10:39+00:00","dateModified":"2026-11-12T10:10:44+00:00","mainEntityOfPage":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/"},"wordCount":2676,"publisher":{"@id":"https:\/\/roboforex.com\/es\/blog\/#organization"},"image":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#primaryimage"},"thumbnailUrl":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","keywords":["robot de trading","trading con chatgpt","trading con IA"],"articleSection":["Educaci\u00f3n"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/","url":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/","name":"ChatGPT para trading: prompts listos para MQL5 y MT5","isPartOf":{"@id":"https:\/\/roboforex.com\/es\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#primaryimage"},"image":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#primaryimage"},"thumbnailUrl":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","datePublished":"2026-11-12T10:10:39+00:00","dateModified":"2026-11-12T10:10:44+00:00","description":"ChatGPT para trading en MetaTrader 5: prompts listos para copiar que escriben un Expert Advisor en MQL5, corrigen errores de MetaEditor y explican c\u00f3digo.","breadcrumb":{"@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#primaryimage","url":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","contentUrl":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","width":1672,"height":941,"caption":"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5"},{"@type":"BreadcrumbList","@id":"https:\/\/roboforex.com\/es\/blog\/2026\/11\/12\/chatgpt-trading-bot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Principales","item":"https:\/\/roboforex.com\/es\/blog\/"},{"@type":"ListItem","position":2,"name":"Educaci\u00f3n","item":"https:\/\/roboforex.com\/es\/blog\/blog\/category\/education\/"},{"@type":"ListItem","position":3,"name":"ChatGPT para trading: prompts que escriben, corrigen y explican c\u00f3digo MQL5"}]},{"@type":"WebSite","@id":"https:\/\/roboforex.com\/es\/blog\/#website","url":"https:\/\/roboforex.com\/es\/blog\/","name":"R Blog ES - RoboForex","description":"Blog RoboForex para traders: Noticias de trading, An\u00e1lisis, Pron\u00f3sticos - forex y acciones | R-Blog","publisher":{"@id":"https:\/\/roboforex.com\/es\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/roboforex.com\/es\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/roboforex.com\/es\/blog\/#organization","name":"RoboForex Ltd","url":"https:\/\/roboforex.com\/es\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/roboforex.com\/es\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/sites\/11\/2018\/10\/rf-logo_square.png","contentUrl":"https:\/\/roboforex.com\/blog\/wp-content\/uploads\/sites\/11\/2018\/10\/rf-logo_square.png","width":512,"height":512,"caption":"RoboForex Ltd"},"image":{"@id":"https:\/\/roboforex.com\/es\/blog\/#\/schema\/logo\/image\/"},"address":{"@type":"PostalAddress","streetAddress":"2118 Guava Street, Belama Phase 1","addressLocality":"Belize City","addressRegion":"BZ","postalCode":"00000","addressCountry":"BZ"},"contactPoint":{"@type":"ContactPoint","telephone":"+593 964 256 286","contactType":"customer service","availableLanguage":"en"}}]}},"views":"","jetpack_featured_media_url":"https:\/\/roboforex.com\/es\/blog\/wp-content\/uploads\/sites\/11\/2026\/11\/chatgpt-trading-bot.png","_links":{"self":[{"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/posts\/18453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/comments?post=18453"}],"version-history":[{"count":1,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/posts\/18453\/revisions"}],"predecessor-version":[{"id":18455,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/posts\/18453\/revisions\/18455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/media\/18454"}],"wp:attachment":[{"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/media?parent=18453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/categories?post=18453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roboforex.com\/es\/blog\/wp-json\/wp\/v2\/tags?post=18453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}