Automatización y screening en el análisis técnico: herramientas, flujo de trabajo y riesgos

Un screener debe aplicar la misma regla a toda la lista registrada de instrumentos. Por tanto, la pregunta clave tras un escaneo es: ¿un resultado vacío significa que no hay configuración o que no hay datos? Este capítulo le lleva desde la definición de una configuración operativa hasta un pseudocódigo completo, un registro de alertas y una prueba fuera de la muestra utilizada para seleccionar parámetros. Separamos la identificación de un candidato del envío de una orden. La automatización puede ahorrar trabajo, pero también repetir un error con rapidez y constancia.

Ilustración didáctica con geometría ilustrativa. El artículo proporciona las definiciones, los datos y los cálculos exactos.
Lo esencial en 60 segundos
  • Un screener selecciona candidatos. Su valor puede consistir en reducir el tiempo de revisión manteniendo la cobertura de la lista. Para evaluar su efecto sobre los resultados financieros, también necesita una regla fijada de antemano para la entrada, la salida y los costes.
  • Una alerta tiene un alcance definido. No sustituye la comprobación de condiciones fuera de ese alcance. La reducción del tiempo ante la pantalla es medible; no suponemos que la disciplina o los resultados mejoren automáticamente.
  • Un backtest es un modelo. Un probador puede incorporar spreads históricos, comisiones y deslizamiento supuesto. No puede reproducir todos los precios disponibles ni la respuesta futura del bróker, incluida una recotización. El ajuste del modelo a la historia no demuestra una futura ventaja operativa.
  • Los niveles de automatización son una convención descriptiva. Una alerta, un filtro y un sistema que ejecuta órdenes tienen responsabilidades distintas. La ejecución completa también exige gestionar errores, duplicados y el estado de la cuenta; una señal por sí sola no basta.
Screening: 28 esperados, 26 evaluados, 2 resultados ausentes
Ilustración didáctica. La geometría es ilustrativa; el texto y los diagramas siguientes aportan definiciones, cifras y horas de evaluación exactas.

1. Por qué automatizar y qué se automatiza exactamente

Las ocho monedas USD, EUR, GBP, JPY, CHF, AUD, NZD y CAD forman 8 × 7 / 2 = 28 pares sin ordenar. Es un universo seleccionado, no todo el mercado Forex ni una medición de los instrumentos «más seguidos». Un bróker puede ofrecer otra lista. Registre los símbolos, el sentido de cotización y la versión de la lista antes de escanear. Evaluamos filtros de medias móviles, osciladores y zonas de soporte y resistencia bajo el mismo contrato de datos.

No está automatizando la decisión de entrada, sino la búsqueda. Un screener no dice «compre», sino «eche un vistazo a esto». Lo que haga después depende del contexto, del marco temporal superior, de la gestión del riesgo y de su experiencia.

Un screener realiza una revisión repetible sin elegir gráficos favoritos, pero solo dentro de su configuración. Que aparezcan 28 pares en los ajustes no demuestra que todos hayan recibido datos actuales. El informe también debe contener un registro de cada par sin señal y de cada par que no pudo evaluarse.

Un RSI inferior a 30 es el resultado de una condición, no una instrucción de compra. Si un análisis adicional de acción del precio o del contexto determina la entrada, registre también los descartes. De lo contrario, la prueba del screener solo abarcará operaciones seleccionadas por conveniencia.

2. El espectro de automatización: de la alerta al algoritmo

Los cinco niveles siguientes organizan el alcance de las funciones. Son una convención del curso, no una clasificación del camino óptimo para la mayoría de operadores. Un nivel superior requiere controles adicionales, pero no necesariamente es mejor para una tarea concreta.

NivelQué hace la máquinaQué hace el operadorEjemplos
1. Alerta de precioNotifica que el precio alcanza un nivelAnaliza, decide y ejecutaAlerta en EUR/USD = 1,0700
2. Alerta de indicadorNotifica que un indicador cumple una condiciónAnaliza el contexto y decideRSI(14) < 30 en D1
3. ScreenerFiltra la lista de instrumentos según criteriosRevisa resultados, analiza y decideTradingView Screener
4. Sistema semiautomáticoGenera una señal y propone parámetrosAprueba o descarta y gestiona la posiciónIndicador propio y alerta de Pine Script
5. Automatización completaAnaliza, abre, gestiona y cierraSupervisa e interviene en emergenciasAsesor experto (EA) en MT4/MT5

Un filtro o una alerta ya preparados no siempre requieren programación. Siguen necesitando configuración, una fuente de datos y una prueba operativa. La ejecución semiautomática y automática introduce un problema distinto: una condición correctamente identificada puede recibir una ejecución diferente o ninguna ejecución.

El diagrama agrupa las funciones en tres categorías: notificación y filtrado, selección del universo y ejecución. Pasar a la ejecución requiere controles adicionales de instrucciones y errores; el diagrama no clasifica la calidad ni pronostica el rendimiento de la cuenta.

Este artículo se centra en los niveles 1 a 4. La automatización completa mediante EA aparece sobre todo al hablar de riesgos, porque allí se llega al recurrir demasiado pronto a un robot.

Escaneo, alerta y ejecución: funciones separadas
Secuencia operativa: cada paso tiene una condición y un registro separados.

3. Criterios de screening en la práctica

Un screener malo no muestra pares malos, sino demasiados aparentemente buenos. Eso es peor, porque desperdicia atención y crea la falsa sensación de que «el mercado ofrece algo hoy». Los parámetros deben ser suficientemente selectivos para reducir el ruido, pero no tan estrictos como para eliminar la mayoría de configuraciones razonables. A continuación se presentan los filtros más utilizados en Forex[3].

Lista para objetivar una regla

Antes de introducir una condición en el escáner, debe pasar del lenguaje de la intuición al de la máquina. Cada elemento siguiente que no resuelva expresamente lo resolverá el escáner por usted, normalmente de forma distinta a la que supone:

ElementoPregunta de control
Universo¿Qué instrumentos escaneo: una lista cerrada y no «todo»?
Fuente de datos¿De quién es el flujo y qué precios contiene: bid, ask o mid? ¿Son los mismos con los que opero?
Marco temporal y momento de evaluación¿Qué velas: solo cerradas? ¿Cuándo se calcula exactamente la condición?
Indicador e implementación¿Qué parámetros y de quién es la implementación: RSI de Wilder ≠ RSI sobre una SMA?
Operador y umbral¿Cruce del umbral o estado por debajo/encima? ¿Con qué tolerancia?
Frecuencia de escaneo¿Una vez por vela cerrada, una vez al día a una hora fija o continuamente?
Datos ausentes¿Qué hace la regla ante una vela ausente, un hueco o un cambio de símbolo?
DeduplicaciónSi la condición se mantiene durante seis velas consecutivas, ¿se emiten seis alertas o una?
Condición de rearme¿Qué invalida la señal y permite que la regla vuelva a activarse?

Tres medidas separadas. La duración del escaneo y la cobertura de datos miden comodidad y fiabilidad. La concordancia con un patrón de referencia etiquetado de forma independiente mide la detección de la condición. Los resultados financieros requieren toda la estrategia, incluidos candidatos descartados, precios de respuesta y costes. Alcanzar el TP no define por sí solo un resultado «correcto» del screener, y que no mejore la tasa de acierto no anula el ahorro de tiempo. Compare con la variante sin filtro sobre la misma muestra reservada de antemano.

Filtros de tendencia

  • Precio respecto a EMA/SMA. Un precio por encima de una EMA de 200 ascendente en D1 puede definir un filtro direccional. Descarta candidatos que incumplen esa condición, no todas las operaciones «contra tendencia» bajo cualquier definición del mercado. El precio igual a la media o una pendiente plana requiere una decisión explícita.
  • Cruce de medias móviles. La condición EMA 50 antes ≤ EMA 200 y ahora > EMA 200 detecta una transición. No es un tipo de cambio cruzado ni demuestra un cambio de dirección futura del precio. Ambos valores deben proceder de velas completas de la misma serie.
  • ADX superior a un umbral. Umbrales de ejemplo de la convención establecida: ADX(14) > 25 se interpreta como mercado tendencial y < 20 como consolidación, recordando que el ADX mide la fuerza del movimiento, no su dirección. Resulta útil sobre todo como filtro negativo: por debajo del umbral, una regla tendencial descarta el instrumento conforme al parámetro elegido.

Filtros de momentum y osciladores

  • RSI en zonas extremas. Los umbrales de ejemplo del RSI(14) son 30 y 70. Su frecuencia depende del instrumento, marco temporal, período y método de inicialización. La sobreventa no es una señal autónoma de compra ni la sobrecompra una de venta. Sin investigación, no atribuimos mayor valor informativo a los extremos de D1 que a los de H1.
  • Divergencia. Debe definir los giros, el emparejamiento de extremos del precio y del oscilador y el momento de confirmación. Con esas definiciones puede calcularse incluso un patrón complejo. Una evaluación manual de divergencias «de varias ondas» sin reglas deja una selección discrecional difícil de reproducir de forma justa en una prueba.
  • Histograma MACD: cambio de signo. El histograma cruza el cero desde abajo; en esta implementación eso significa que cambia la relación entre la línea MACD y la de señal, no que se demuestre un cambio de dirección del precio. Es fácil de programar y se utiliza con frecuencia como filtro preliminar para un análisis posterior.

Filtros de precio y estructura

  • Proximidad a soporte/resistencia. Defina la zona y la tolerancia en la misma unidad que el precio. Una alerta en una zona marcada manualmente puede facilitar la revisión, pero debe probarse su eficacia; esta no se deduce de la facilidad de configuración.
  • Ruptura del rango de N velas. Por ejemplo, cierre de una vela terminada > máximo más alto de las 20 velas completas anteriores. La vela evaluada se excluye de la ventana del máximo; en la variante estricta, la igualdad no es ruptura. Es una convención de Donchian, no una promesa automática de beneficios.
  • Fibonacci. Defina extremos de oscilación confirmados y tolerancia alrededor de un retroceso. La confirmación retrasada se describe en el artículo 5.11. Calcular un nivel no demuestra que el precio vaya a reaccionar a él.

De la intuición a la condición: la regla completa y lo que se pierde al traducir

Intuición: «comprar rebotes en soporte dentro de una tendencia alcista en D1». La misma idea escrita de modo que un escáner pueda ejecutarla:

PSEUDOCÓDIGO: CANDIDATO A «PRUEBA DE SOPORTE», NO UNA ORDEN
Configuración fijada: versión, 28 pares, flujo BID, D1, calendario,
  EMA: α=2/201, inicializada con la SMA de los primeros 200 C; ATR(14) de Wilder:
  semilla = media de los primeros 14 TR con C anterior, después α=1/14;
  un calentamiento de al menos 500 velas completas es una elección del modelo, no una garantía de convergencia.
Estado del símbolo: nivel S, ATR A, intervalo de identificación, armado/desarmado.
Al inicio de t, registrar una instantánea inmutable del contexto con datos conocidos antes de start_t:
  registra entradas para t sin cambiar el estado de armado operativo; un reintento usa esa instantánea.
  El estado anterior a t y el archivo de centros proceden de la última vela procesada previamente.
  seleccionar el último fractal inferior estricto con 2 velas a cada lado,
  confirmado y recibido antes de start_t, con una antigüedad máxima de 60 velas;
  mínimos iguales no forman un fractal estricto; si no hay ninguno = NO_LEVEL.
  Identificar el nuevo contexto por flujo y centro del fractal. Conservar los centros invalidados
  en el registro; no recrear contexto a partir del mismo centro.
  Para contexto nuevo A := ATR conocido antes de start_t; conservarlo sin cambios
  hasta el vencimiento, la invalidación o un nuevo centro confirmado.
  Tras 60 velas desde el centro, registrar EXPIRED; no emitir alerta.
  Si A ≤ 0 o falta su valor: NO_VALUE, sin señal.
  Registrar zona [S − 0.2A; S + 0.2A] e invalidación C < S − 0.5A.
  Un fractal confirmado nuevo crea contexto nuevo, armado antes de la prueba.
Después del final de t, para CADA símbolo del universo completo:
  Key := (version, feed, symbol, D1, end_UTC).
  Recuperar OHLC completos de t y known_at, y la instantánea de contexto guardada antes de start_t.
  El hash de entrada cubre OHLC, historial de indicadores, contexto, configuración y versiones de datos.
  Si existen esta clave y este hash: devolver el resultado anterior sin evaluar ni cambiar el estado.
  Si existe la clave con otro hash: añadir una revisión y ejecutar una reproducción separada
    desde el estado fijado antes de t; no evaluar t con el estado ya modificado por t.
    Corregir historia anterior a t exige reproducir desde la primera entrada modificada.
    Conservar el resultado original/known_at; marcar el resultado reproducido como corrección posterior.
    No enviar la corrección como una nueva alerta original; terminar el símbolo.
  En la primera evaluación, usar una copia del estado anterior a t y la instantánea del contexto;
    validar L ≤ min(O,C) ≤ max(O,C) ≤ H.
  Comprobar continuidad de sesiones, flujo, componente, incrementos del precio y calentamiento.
  Error de datos: registrar NO_DATA; conservar el estado; no emitir alerta.
  Si C_t < S − 0.5A: registrar INVALIDATED, retirar el contexto; terminar el símbolo.
  Si el estado estaba desarmado:
    si C_t ≥ S + A AND L_t > S + 0.2A: armar para la SIGUIENTE vela;
    registrar REARM o DISARMED; no emitir alerta en esa misma vela.
  Si el estado estaba armado:
    trend := C_t > EMA200_t AND EMA200_t > EMA200_(t−20).
    test := H_t ≥ S − 0.2A AND L_t ≤ S + 0.2A AND C_t > S.
    signal := trend AND test.
    Registrar SIGNAL o NO_SIGNAL con todos los operandos.
    Ante una señal, desarmar el contexto; nueva alerta solo tras un REARM futuro.
  Toda rama terminal registra resultado, entradas y estado anterior y posterior a t.
  Confirmar el registro y el estado una sola vez en una transacción con clave única;
    ante conflicto por reintento, devolver el registro existente sin una segunda modificación.
  Identificar la notificación con esta clave, también al reanudar su entrega.
  Procesar los finales de vela cronológicamente; un hueco de datos bloquea alertas posteriores
    hasta reconstruir el contexto; no puede convertirse en NO_SIGNAL.
Tras el escaneo, informar expected/evaluated/missing/candidates, incluso si candidates = 0.
La alerta incluye end_t, known_at, version, S, A y condiciones; no contiene función de ejecución.

Este es el coste explícito de la traducción: «un rebote» se convirtió en tocar una zona con tolerancia arbitraria de 0,2 × ATR; «soporte», en un fractal confirmado con dos velas de retraso (momento de confirmación del giro → art. 5.11); la calidad del rebote, el contexto W1 y el aspecto de la vela quedaron fuera de la regla. Además, hubo que separar el rearme de la alerta, cuando el precio se aleja de la zona, de la invalidación del soporte mismo: dos decisiones distintas que la intuición fusiona. No es un defecto de la notación, sino el precio de ser inequívoco: todo lo que no escribió no existe para el escáner. Precisamente por eso el resultado del escaneo es una lista de candidatos para analizar, no una lista de operaciones.

Contexto macro y filtros de costes: lo que ningún screener muestra por sí solo

Un filtro de calendario, spread o rollover es una regla independiente. Aquí no se establece que una ventana de 30 o 60 minutos sea óptima. Registre qué eventos cubre, de dónde proceden sus fechas y si bloquea candidatos nuevos, órdenes nuevas o también modifica la gestión de posiciones existentes.

  • Filtro de calendario. Un procedimiento de ejemplo puede descartar candidatos nuevos dos horas antes de un evento seleccionado. Es un parámetro que debe probarse, no una exigencia universal. Verifique la fecha con el editor y distinga la hora prevista de la publicación efectiva; «High impact» es la clasificación del proveedor del calendario.
  • Filtro de spread. El umbral es explícito, con unidad y base de comparación. El doble de un nivel medido previamente para ese par y hora del día puede bloquear una instrucción nueva. No explica por qué aumentó el spread ni protege una posición existente.
  • Filtro de ATR. ATR > 1,2 × la media de los N valores anteriores describe la superación de un umbral elegido. Un valor inferior no significa automáticamente «mercado poco líquido». Cambiar SL, TP y volumen requiere una regla registrada; no se deduce necesariamente del ATR por sí solo.

Un screener no aprieta el gatillo: analizar patrones gráficos, el contexto de varios marcos temporales y gestionar el riesgo sigue siendo responsabilidad suya.

Nivel 2/flujo de órdenes en FX minorista: profundidad aparente. En el contado OTC ve el libro de su bróker, no el del mercado. Durante un choque, la profundidad mostrada puede desaparecer antes de ejecutarse una orden de mercado, lo que se denomina liquidez fantasma o liquidez aparente, con una ejecución a varios pips, una docena o más de distancia. En estrategias de ruptura de marcos cortos, es una causa importante de divergencia entre backtest y realidad. El flujo de órdenes con libro central existe en futuros (CME); la microestructura OTC se examina en la sección 3.
Regímenes de mercado: un screener no es universal

Los filtros pueden devolver distinto número de resultados según el régimen. Si alterna conjuntos para tendencia y rango, debe registrar la regla de cambio antes de la prueba y utilizar datos disponibles en aquel momento. Elegir retrospectivamente el mejor filtro para cada tramo histórico es otra optimización. Una semana sin candidatos pero con datos completos es un resultado válido, no un motivo para relajar umbrales sobre la marcha.

Una ruptura no revela intenciones. Una alerta seguida de un retorno bajo el nivel no demuestra acumulación de stops ni la actuación de un participante mayor. ADX > 25 tampoco confirma esa causa: el ADX no indica dirección. Una regla puede exigir otro cierre sobre el nivel, pero entonces la señal llega más tarde y necesita una medición separada. No puede llamar «trampa» a toda ruptura perdedora solo después de ver su resultado.

El mismo nivel y estados sucesivos de alerta

Recorramos la regla sin cambiar umbrales después de ver el resultado. El soporte S = 1,1000 procede de un fractal confirmado antes del primer día evaluado. ATR A = 0,0040, equivalente a 40 pips y fijado entonces, define la zona [1,0992; 1,1008], la invalidación en C < 1,0980 y el rearme en C ≥ 1,1040 y L > 1,1008. Son parámetros del modelo, no valores recomendados para EUR/USD. El centro del fractal y A permanecen iguales durante todo el ejemplo.

Extracto hipotético del registro bid D1, evaluado tras recibir cada cierre
PasoL / H / CEstado anteriorResultado
11,1007 / 1,1015 / 1,1010ArmadoEl rango intersecta la zona, C > S: alerta y desarme
1: reintentoMisma clave y hash de entrada que en 1Registro SIGNAL existenteDevolver el resultado anterior; sin nueva evaluación, cambio de estado ni notificación
21,1010 / 1,1042 / 1,1040DesarmadoC igual al umbral de rearme, L sobre la zona: armar para el siguiente paso, sin alerta
31,1007 / 1,1025 / 1,1010ArmadoNueva prueba: segunda alerta, otro final de vela y otra clave
41,0975 / 1,1014 / 1,0980DesarmadoLa igualdad no invalida bajo la regla estricta; sin rearme ni alerta
51,0974 / 1,0982 / 1,0979DesarmadoC < 1,0980: contexto invalidado

En los pasos 1 y 3 se cumple el filtro EMA declarado: el cierre está sobre la EMA y la EMA actual sobre su valor de 20 velas antes. La tabla no reconstruye 500 velas de calentamiento; esas dos condiciones son entradas de un modelo lógico, no lecturas documentadas del mercado. Reintentar el paso 1 debe devolver el mismo SIGNAL; no debe recalcularse con el estado ya desarmado y sobrescribirse como DISARMED. Ante una revisión, reconstruimos por separado el estado anterior a esa vela y los estados dependientes posteriores, conservando la ejecución original. El paso 2 no puede armar y emitir alerta a la vez, porque su estado al empezar la evaluación era desarmado. El orden de las ramas forma parte de la definición, no es un detalle técnico.

Tras el paso 5, el fractal antiguo sigue archivado como invalidado. El escaneo del día siguiente no puede rebautizarlo «último soporte» y crear otra alerta desde el mismo centro. Hace falta un fractal confirmado nuevo. El vencimiento tras 60 velas es un estado distinto: ocurre incluso sin cruzar el nivel de invalidación. Si faltan datos entre pasos, desconocemos si hubo rearme o invalidación en el hueco; informe de la interrupción y suspenda nuevas alertas hasta reconstruir el contexto.

Una revisión del máximo/mínimo puede cambiar la calificación del fractal. Conserve la instantánea original, el resultado disponible entonces y la corrección posterior vinculada. Evaluar «cómo funcionó la regla con datos finales» y «qué habría podido enviar realmente entonces» son dos experimentos distintos. Puede realizar ambos, pero no mezclar sus registros. El CSV de estados adjunto permite comprobar una implementación sin enviar órdenes.

RSI: estar bajo 30 no es un cruce nuevo
Secuencia y eje temporal; cada condición se utiliza cuando los datos ya están disponibles.

4. TradingView: screener, alertas y Pine Script

Screener integrado

TradingView ofrece filtros de monedas y alertas, pero su alcance exacto depende de la herramienta y el plan actuales. Compruebe columnas, marco temporal y fuente. El «volumen» en FX al contado no es un registro central de transacciones: puede ser el número de actualizaciones de un flujo concreto. Dos fuentes pueden dar resultados diferentes; aún pueden compararse, pero se necesitan datos identificados y un método.

Un conjunto práctico de filtros iniciales: marco D1, RSI(14) inferior a 35 o superior a 65, precio sobre/bajo la EMA de 200, variación porcentual en las últimas 5 sesiones > 1%. Así configurado, el screener suele devolver unos pocos pares al día; el número exacto depende del mercado: en tendencia el filtro deja pasar más resultados y en consolidación menos.

Alertas en TradingView

Una alerta notifica una condición: puede exigir un cierre o una respuesta intravela. En ambos casos registre la hora de los datos, de detección y de recepción del mensaje. No suponemos que todos los demás algoritmos ya hayan operado ni que todas las notificaciones tengan la misma demora.

Los límites de alertas dependen del plan y cambian con el tiempo. Como orientación, con precios actuales en tradingview.com/pricing: Essential permite 20 alertas de precio + 20 técnicas, Plus 100 de cada tipo, Premium 400 y Ultimate 1.000. Una cuenta gratuita admite pocas a la vez; para quien sigue entre 10 y 15 pares, es una limitación real y un motivo frecuente para contratar un plan.

Pine Script: indicadores y estrategias propios

Pine Script es el lenguaje de TradingView. No requiere experiencia al nivel de Python: su sintaxis es más sencilla, la documentación es buena y la comunidad ha publicado miles de scripts preparados que pueden adaptarse. Permite crear:

  • Un indicador propio; por ejemplo, uno que dibuje una flecha cuando RSI < 30 Y el precio esté en la zona de retroceso Fibonacci del 50 al 61,8% Y EMA 50 > EMA 200. Tres condiciones que comprobaría manualmente durante varios minutos en un gráfico: el script lo hace al instante.
  • Una alerta basada en un indicador propio: el script genera la alerta automáticamente cuando coinciden las condiciones. Recibe una notificación en el teléfono y abre un gráfico preparado para analizar.
  • Un backtest de estrategia: Pine Script incorpora un módulo strategy() que permite probar lógica con datos históricos. Los resultados aparecen en «Strategy Tester»: curva de patrimonio, drawdown, tasa de acierto y factor de beneficio.

Pine Script calcula indicadores, alertas y órdenes simuladas en el emulador de TradingView. La integración nativa con un bróker para gestionar órdenes no significa que un script de estrategia envíe sus propias operaciones al bróker. Ejecutar automáticamente tras un webhook requiere una capa separada y correctamente configurada. Debe identificar duplicados, confirmaciones y errores. El entorno depende de los datos y requisitos; sin medir, no presentamos ninguna plataforma como garantía de menor deslizamiento.

Un evento RSI en pseudocódigo. Describe lógica, no código listo para pegar ni un sistema que envíe órdenes. La implementación debe conservar el contrato de integridad y tiempos y la regla de inicialización indicados en el artículo 5.8.

PSEUDOCÓDIGO: SOLO ALERTAS, SIN ÓRDENES
Configuración: versión de regla, universo, flujo BID, marco D1,
  límites diarios, implementaciones de RSI(14) y EMA(200), al menos 500 velas históricas.
Tras cada final D1 esperado, para CADA símbolo:
  Comprobar integridad, OHLC, continuidad del calendario y hora de disponibilidad.
  Si faltan datos: registrar NO_DATA; conservar el estado del umbral; terminar el símbolo.
  Calcular RSI y EMA con el mismo método declarado sobre dos velas D1 completas consecutivas.
  Si el resultado es indefinido: registrar NO_VALUE; terminar el símbolo.
  Event := RSI anterior ≥ 30 AND RSI nuevo < 30 AND C nuevo < EMA nueva.
  Key := (version, feed, symbol, D1, end_UTC).
  Registrar el resultado incluso si event = FALSE, con hora de datos y hash.
  Si event y key aún no enviados: registrar alerta y enviar la notificación.
  Repetir con la misma clave no envía otra alerta.
  Corrección histórica: añadir una versión corregida; no sustituir la decisión original.
  Si hay un hueco de datos entre velas: no fingir que hubo un cruce continuo.
  El próximo evento requiere un nuevo par de velas completas consecutivas.

RSI = 30 en la vela anterior permite la transición, mientras que la igualdad en la actual no la cumple. Es una elección explícita de operadores. Otra vela que sigue por debajo de 30 no es una transición nueva. Por separado, deduplicamos el resultado idéntico tras repetir el escaneo. Un hueco de datos no permite inventar el RSI ausente ni aceptar un cruce no observado.

Detección y respuesta. El cierre está disponible una vez terminada y recibida la vela. Después llegan la alerta, la decisión y cualquier intento de ejecución. El emulador predeterminado de TradingView ejecuta una orden nueva como pronto en el siguiente tick; también ofrece opciones para modelar ejecución al cierre. Esa opción no demuestra que pudiera conseguirse ese precio después de recibir la alerta. Usar el cierre futuro de un marco superior antes de terminar su intervalo es anticipación de datos, sea cual sea el nombre del ajuste. La cronología se muestra en el artículo 5.11.

Modelo de demora. La alerta se recibió tres segundos después de terminar la vela y el ask al responder estaba 12 pips por encima del modelo de referencia. Es una diferencia hipotética, no una observación del IPC. Incluso una señal D1 puede encontrar un salto durante esos tres segundos. Registre las horas de datos, alerta, instrucción y ejecución; el efecto del retraso no depende solo de la duración del marco temporal.
De la lógica del indicador a una alerta registrada
Secuencia y eje temporal; cada condición se utiliza cuando los datos ya están disponibles.

5. MT4/MT5: escáneres, indicadores y EA

MetaTrader sigue siendo la plataforma de ejecución dominante en muchos brókeres Forex. Su fortaleza para automatizar son MQL4/MQL5 y la posibilidad de crear asesores expertos (EA), programas capaces de abrir y cerrar posiciones automáticamente.

Indicadores y escáneres propios

En MQL4/MQL5 puede escribir, o descargar del MQL5 Market, un indicador que escanee varios instrumentos de Market Watch y muestre un panel: par, dirección de tendencia, RSI y distancia a medias importantes. Entre estas herramientas destacan «Multi-Currency Dashboard» y «Scanner RSI»; su calidad varía mucho, por lo que conviene revisar opiniones y probarlas en demo antes de depender de ellas.

Una diferencia clave frente a TradingView: los indicadores MT4/MT5 funcionan localmente, en su ordenador o un VPS, no en la nube. El escaneo depende de la velocidad de conexión al servidor del bróker y exige tener la plataforma abierta. Si cierra el portátil y sale a caminar, las alertas MT4 no se activarán, salvo que la plataforma funcione en un VPS. TradingView escanea en el servidor, por lo que sus alertas funcionan incluso con el ordenador apagado. Para un operador de swing que no quiere estar atado al escritorio, es una diferencia tangible en el uso diario.

Asesores expertos: automatización completa

Los EA son programas que operan por sí solos. Las posibilidades van desde «comprar cuando EMA 50 cruza sobre EMA 200» hasta sistemas complejos con gestión dinámica, stops móviles y análisis de varios marcos temporales.

Evaluar un EA preparado exige reglas documentadas, historial de cambios, datos, costes y resultados que incluyan períodos débiles. Una curva uniforme por sí sola no demuestra fraude ni ajuste, pero sin esa información tampoco permite descartarlos. El resto del capítulo explica qué comprobar.

Ejecución fuera del escáner. La relación entre precio y demora también se aplica en D1 si la respuesta ocurre durante un movimiento rápido. Un VPS y una ruta de red corta no garantizan ejecución. Las políticas, precios disponibles y confirmaciones del proveedor concreto siguen siendo variables separadas; se explican en los artículos sobre calidad de ejecución e infraestructura de ejecución.

MT5 frente a MT4

MT5 tiene un probador multisímbolo, mientras que el estándar de MT4 funciona sobre un símbolo seleccionado. Importa para estrategias de cartera, pero no determina la calidad de los datos ni del modelo de ejecución. Compruebe instrumentos admitidos, modos de prueba y condiciones del bróker concreto; el nombre de la plataforma no evalúa por sí solo la ejecución.

6. Flujo de trabajo: del escaneo a la lista de seguimiento

El proceso siguiente separa escaneo, verificación y respuesta. Es un ejemplo organizativo para swing trading, no el resultado de un estudio de eficacia. Cada fase deja un registro, incluidos los descartes.

  1. W1 después de terminar la semana. Revise el contexto y las zonas previamente confirmadas de soporte y resistencia. La evaluación puede ser manual o automatizada si se define formalmente. Registre la hora de identificación y los límites de las zonas; no los mueva después para ajustarlos al resultado.
  2. Lunes por la mañana: screener D1. Ejecuta el screener con criterios adaptados a su estilo, por ejemplo RSI < 35, precio cerca de EMA 200 y ADX > 25. Obtiene unos pocos pares. Abre cada uno en D1 y comprueba manualmente si encaja con el contexto de la revisión semanal y si está cerca de un nivel del marco superior.
  3. Lista de seguimiento y exposición. El número de pares depende de la capacidad de revisión, no de un intervalo «ideal» de 2–5. Largo EUR/USD, largo GBP/USD y corto USD/CHF comparten una pata corta en USD, pero otras monedas distintas; no son una misma posición idéntica. Mida la correlación sobre rendimientos alineados e indique período y ventana. DXY duplica parcialmente esos tipos. COT tiene fechas distintas para posiciones y publicación. El dimensionamiento de posición pertenece únicamente al plan de operación.
  4. Alertas y espera. Configura alertas para los pares seguidos: de precio al alcanzar una zona, de indicador al entrar el RSI en un extremo o sobre objetos dibujados, como el toque de una directriz. No se queda mirando el gráfico; espera la notificación.
  5. Alerta → análisis → decisión. Se activa una alerta. Abre el gráfico, realiza un análisis de varios marcos temporales (D1 → H4) y busca confirmación de acción del precio. Si existe la configuración, entra; si no, la deja y sigue esperando. Que no haya configuración no es un problema, es información.

Registre el tiempo real de revisión y la cobertura. Una alerta no garantiza una evaluación contextual correcta ni una lista completa. Un cambio de datos tras una intervención o anuncio puede modificar el resultado de la regla; comprobarlo exige un registro nuevo, no sustituir la lectura anterior.

Cinco etapas del contrato de datos: instantánea, regla, resultado para cada símbolo, clave del evento y revisión. No es un EA. Conservar el registro anterior permite distinguir la decisión disponible entonces de una corrección posterior.
Lista de seguimiento frente a obsesión

El número de candidatos debe ajustarse a su capacidad de revisión. Interprete un resultado vacío como ausencia de configuraciones solo tras comprobar cobertura del universo y actualidad de los datos. Fallo, vela incompleta e historia insuficiente tienen estados separados. «Hoy no» es una interpretación, no un diagnóstico.

7. El lunes por la mañana: cómo es el screening de 28 pares

Revisión ilustrativa del lunes: la fuente utiliza días que terminan a las 17:00 America/New_York y cinco velas D1 completas en una semana normal. Se evalúa la última D1 completa recibida. Con UTC puede existir ya una vela dominical corta al llegar el lunes, por lo que no suponemos universalmente que no se forme D1 nueva el fin de semana.

8:15. En el screener TradingView, filtros D1 con datos del cierre de la sesión del viernes: RSI(14) < 35, precio bajo EMA 200 y ADX(14) > 20. Objetivo: pares sobrevendidos dentro de una tendencia bajista.

El filtro del modelo devuelve cuatro pares con datos completos para los 28. La revisión utiliza la misma fuente, final D1 e inicialización de indicadores:

  • AUD/USD. Un RSI hipotético de 28 y un precio bajo EMA 200 cumplen el filtro. Con una zona W1 registrada previamente, el candidato pasa al análisis posterior; la proximidad al soporte no es por sí sola una instrucción de compra.
  • NZD/USD. Cumple el filtro, pero una regla adicional exige proximidad a una zona W1, ausente aquí. Registro: descartado en validación, no «señal falsa» etiquetada tras una pérdida.
  • EUR/GBP. En el modelo, el escáner informa ADX 21 y un segundo flujo 18 frente al umbral > 20. No es una medición coherente única. Registre fuentes y suspenda la comparación hasta verificar OHLC, límites diarios e inicialización. No atribuya toda la diferencia de tres puntos ADX únicamente al flujo sin recalcular.
  • GBP/CHF. RSI 31 y ADX 27 hipotéticos cumplen el filtro. La proximidad a un retroceso del 61,8% necesita un giro conocido previamente y una tolerancia definida; la alerta de precio y el RSI siguen siendo condiciones separadas.

Modelo: 4/28 = 14,2857% de los instrumentos pasan el filtro y 2/28 = 7,1429% quedan en seguimiento. No se midió el tiempo de trabajo. Con dos conjuntos de datos ausentes, el informe correcto diría «4 candidatos entre 26 evaluados, cobertura 26/28 = 92,8571%», no «4 de 28»; se desconocen los resultados de los dos ausentes.

Cuatro alertas y una moneda compartida. En el modelo se abrieron largos en AUD/USD, NZD/USD, EUR/USD y GBP/USD, cada uno con riesgo de precio previsto de 1R. Si todos cierran realmente en −1R, suman −4R; si R ya incluía todos los costes, no se añaden de nuevo. El deslizamiento y los huecos pueden cambiar las ejecuciones. Compartir la pata USD aumenta la sensibilidad común, pero no elimina cuatro monedas base distintas ni establece correlación constante. La sección 9 desarrolla la medición de exposición.
28 símbolos: candidato, sin señal, datos ausentes
Secuencia operativa: cada paso tiene una condición y un registro separados.

8. Alertas: no perder oportunidades sin mirar constantemente

Una alerta separa la espera de una condición de la revisión del gráfico. Su efecto sobre el tiempo de trabajo puede calcularse. Eso no garantiza menos operaciones impulsivas; la notificación sigue requiriendo cumplir el plan.

Orden de mercado frente a limitada: regla breve

Una orden de mercado no garantiza precio ni ejecución en cualquier circunstancia. Una limitada restringe el precio conforme a las reglas del producto, pero puede no ejecutarse. Sin datos, no suponemos que una limitada «suela ganar» en D1. La elección del tipo de orden y la activación bid/ask se explican en el artículo 2.7.

Tipos de alertas

  • Precio. «Avíseme cuando EUR/USD alcance 1,0700». Se configuran en niveles de soporte/resistencia, retrocesos Fibonacci y zonas de interés. Sin programar.
  • Indicador. «RSI(14) < 30 en D1» o «el histograma MACD cambió de signo». En TradingView: pulse el indicador → Crear alerta. En MT4/MT5, mediante un indicador propio con función de alerta. Atención: una alerta MT4 necesita la plataforma abierta o un VPS, porque funciona localmente.
  • Sobre un objeto de dibujo. TradingView permite configurar alertas sobre directrices y zonas dibujadas: el precio toca su línea semanal y recibe una notificación en el teléfono. Combina análisis dibujado manualmente y aviso automático.
  • Condición compuesta. Una alerta de varias condiciones: «precio bajo EMA 200 Y RSI < 35 Y ADX > 25». Requiere Pine Script o MQL, pero se configura una sola vez.

Cómo combinar alertas en la práctica

Basadas en zonas y en indicadores. El fin de semana dibuja zonas en W1/D1 y configura alertas de precio sobre ellas. Paralelamente añade alertas de indicador (RSI < 30) a los pares seguidos. Cuando ambas se activan aproximadamente al mismo tiempo, la condición es más selectiva, aunque no necesariamente una confirmación independiente: ambos criterios se calculan a partir del mismo precio. El enfoque de zonas encaja con el análisis de soportes y resistencias y el de indicadores con estrategias de osciladores.

Reduzca repeticiones innecesarias y condiciones vencidas. El número de alertas activas depende del proceso de revisión: puede escanear todo el universo y enviar únicamente eventos nuevos deduplicados. No necesita omitir instrumentos para reducir avisos.

Deduplicación: una condición, una alerta. La condición «RSI < 30» cumplida en seis velas consecutivas equivale a seis alertas, salvo que decida expresamente lo contrario. Distinga el evento de cruce —el RSI cruza 30 hacia abajo— del estado —el RSI está por debajo de 30—. Para alertas normalmente interesa el cruce, evaluado una vez por vela cerrada («Once Per Bar Close») y rearmado solo cuando el RSI vuelve a superar el umbral. Sin esa decisión, la máquina satura de mensajes y la fatiga de alertas acaba haciendo que ignore todo.

Hora del servidor y resultados del escaneo D1. Un screener D1 en un bróker con servidor GMT+2/+3 y otro con GMT+0 calcula indicadores sobre velas delimitadas de forma distinta; la misma regla devolverá listas diferentes la misma mañana. Escanee sobre el flujo con el que opera; la mecánica de límites de velas y hora del servidor se explica en el art. 5.11 y el art. 4.1.

Rollover y cierre D1. Si la fuente termina el día a las 17:00 America/New_York, son las 23:00 en Varsovia cuando coinciden las temporadas de horario de verano, o las 22:00 durante los desfases. GMT+2/+3 del servidor no demuestra por sí solo esa convención. Registre el spread histórico y una regla separada de respuesta retrasada: aplazar el análisis hasta la mañana cambia el precio y puede invalidar la configuración. Las pausas y condiciones de rollover se describen en el artículo 4.6.
Una alerta no ejecuta una operación. Los spreads pueden cambiar durante una publicación, pero la notificación no tiene precio de ejecución. Solo una orden está sujeta a las reglas de ejecución del producto concreto. Una ventana de bloqueo de ±15 minutos es un parámetro, no una garantía de seguridad fuera de ella. Los horarios y conversiones se desarrollan en el artículo 4.5.
Información compartida, posiciones distintas. Las alertas en AUD/USD, NZD/USD, EUR/USD y GBP/USD comparten moneda cotizada, pero tienen monedas base distintas. No las sumamos como pruebas independientes ni las tratamos como una operación idéntica. La sección 9 separa exposición de correlación medida.
Tres posiciones con una pata corta USD compartida
La matriz muestra signos de exposición por moneda para tres direcciones de posición, no un mapa de correlaciones. La correlación exige rendimientos alineados, una ventana y un método; el estrés no lleva cada par a ±1. DXY tiene un peso EUR del 57.6% y no confirma EUR/USD de forma independiente.
Ejemplo: alerta de zona en EUR/USD

En el modelo hipotético, la zona W1 [1,0680; 1,0720] se definió antes de la prueba. Por separado se definió un cruce de RSI(14) bajo 30 sobre una D1 completa. La condición combinada necesita una ventana especificada, como ambos eventos el mismo día, y no cualquier «momento parecido» elegido retrospectivamente. Cuando se cumple, se revisa una H4 completa según la regla del patrón. Es un filtro más selectivo, pero ambas señales proceden del precio y no son automáticamente independientes.

9. Backtesting: qué probar y cómo interpretar los resultados

El backtesting comprueba cómo se habría comportado su estrategia sobre datos históricos[1]. No le dice cuánto ganará. Solo indica si una regla se comportó conforme a sus supuestos en la historia. Es mucho, pero no equivale a una ventaja en real. La alternativa —probar directamente en una cuenta real— simplemente cuesta más.

Qué merece probarse

Una prueba histórica exige reglas reproducibles y datos disponibles en cada momento. Incluso una desigualdad sencilla está incompleta sin fuente, marco temporal, inicialización y precio de respuesta.

  • Reglas de entrada mediante indicadores. «Comprar cuando RSI(14) baja de 30 en D1 y EMA 50 > EMA 200» es inequívoco y programable. No deja margen de interpretación.
  • Reglas de salida y SL/TP. SL fijo de 50 pips y TP de 100 pips, o stop móvil de 2× ATR. Medible y comparable.
  • Comparar variantes. ¿Funciona mejor RSI < 30 en D1 o en H4? ¿Un SL de 40 pips da mejor factor de beneficio que uno de 60? El backtest responderá, con las reservas que se explican a continuación.

Lo que se presta mal al backtesting es todo lo que requiere juicio humano:

  • Acción del precio. La geometría de las velas, una zona y la hora de confirmación pueden definirse numéricamente. Un «parece convincente» discrecional exige un protocolo de evaluación separado y registrado; no suponemos que el ojo aporte una ventaja demostrada sobre la regla.
  • Contexto estructural. Etiquetar manualmente la onda 2 requiere reglas, una versión del etiquetado y su hora de creación. Reetiquetar después no puede mejorar un resultado anterior de la prueba.
  • Decisiones discrecionales. Los descartes pueden registrarse prospectivamente. Sin ese registro, no sabemos si la discrecionalidad mejoró el resultado o solo se eligieron los casos exitosos. No hay fundamento para afirmar que el contexto invisible al algoritmo explica por sí solo la rentabilidad.

Calidad de los datos: un tema del que se habla poco

Un backtest es tan fiable como los datos utilizados. En Forex es un problema serio. El mercado está descentralizado; los datos de su bróker pueden diferir de otros, con spreads distintos y pequeñas variaciones OHLC. OHLC pierde la información del movimiento dentro de la vela: si SL y TP eran ajustados, no permite saber cuál se tocó primero.

El modo «Every tick based on real ticks» de MT5 utiliza ticks disponibles, pero no garantiza que existan en todos los tramos. MetaQuotes describe la generación de ticks donde faltan datos y el rechazo de ticks incoherentes con los datos de minutos. Compruebe el informe. El spread histórico es distinto de la demora de ejecución. Un spread «actual» fijo utilizado en otro modo es un escenario, no siempre una estimación inferior: puede ser alto o bajo respecto a la historia probada.

Bid/ask, mid y precios del proveedor. No deduzca el tipo de precio del hecho de que una API sea gratuita. Los metadatos deben indicar bid, ask, mid, transacción u otra serie. Para un largo calculado respecto a mid, el coste del spread en pips es (spread de entrada + spread de salida)/2. Si ambos son de 1 pip y hay 200 ciclos completos, la diferencia es de 200 pips antes de costes adicionales. Con entrada ask y salida bid reales, esa diferencia ya está en los precios. Dukascopy y TrueFX son ejemplos de fuentes que comprobar; el nombre del proveedor no elimina la necesidad de revisar columnas, cobertura y huecos.

Cierre de vela e intravela son reglas distintas. Un toque puede producirse y desaparecer antes de terminar la vela. Un evento que exige cierre espera a que termine y se reciban los datos. Aquí no hay datos que respalden la anterior afirmación de un resultado un 30% mejor o de que «desaparece la mitad de las señales». Probar intravela requiere datos y un modelo del orden de movimientos; no puede reconstruirse arbitrariamente solo con OHLC.

Movimiento rápido hipotético. Una orden puede alcanzar el stop aunque el posterior cierre H1 esté sobre la entrada. OHLC no indica el orden de extremos y ejecuciones. Pasar a M5 puede reducir ambigüedad, pero tampoco reconstruye todas las trayectorias de ticks. No atribuimos el movimiento a algoritmos del proveedor sin datos. Marque por separado las ventanas de publicación para comparar resultados netos y esperanza matemática.

La financiación tiene signo y unidad. El swap puede ser negativo o positivo según producto y lado de la posición; no deducimos su signo para corto USD/MXN o largo USD/TRY únicamente de las monedas. La prueba necesita especificaciones históricas y multiplicadores diarios, no solo la tabla actual. Por ejemplo, resultado de precio +80 USD, comisiones −7 USD y financiación −18 USD dan +55 USD; con financiación +18 USD, el resultado es +91 USD. El spread incluido en precios reales no vuelve a cobrarse. Las unidades y conversiones se explican en el artículo 2.8.

EUR/CHF, 15 de enero de 2015. El BNS anunció la retirada del cambio mínimo de 1,20 y una modificación del tipo al −0,75%. El FSCS confirma la entrada de Alpari (UK) en administración especial el 19 de enero. Estos documentos no confirman el número anterior de EA, sus drawdowns del 3–5%, cuánto tiempo desaparecieron todas las cotizaciones ni la magnitud de las pérdidas de clientes. La conclusión para las pruebas es más limitada: los datos de un período bajo una política concreta no incluyen automáticamente su cambio posterior, y un precio stop no está garantizado sin la cláusula contractual correspondiente.

Una vela, dos resultados posibles

El modelo largo ya está abierto a un precio de ejecución de 1,1000. La siguiente vela tiene estos OHLC de bid: O = 1,1000, H = 1,1030, L = 1,0980, C = 1,1010. TP = 1,1020, SL ordinario = 1,0990; se supone ejecución sin huecos exactamente en el nivel y sin costes adicionales. La trayectoria O→H→L→C alcanza primero TP: +20 pips. O→L→H→C alcanza primero SL: −10 pips. Ambas tienen OHLC idénticos.

Con un nominal de 10.000 EUR, los resultados son +20 o −10 USD. No son dos resultados posibles de la misma operación real: muestran dos trayectorias compatibles con datos incompletos. Los precios de entrada y salida ya incluyen el lado del mercado, por lo que no añadimos spread otra vez. Un probador que asume un orden desde OHLC elige una convención que debe revelar en el informe. Un marco menor o ticks resuelven más casos, pero los datos ausentes siguen ausentes.

Un OHLC, dos secuencias posibles
Dos trayectorias tienen OHLC bid 1.1000/1.1030/1.0980/1.1010. Ejecución larga 1.1000, nominal 10000 EUR. Se supone ejecución en el nivel sin huecos ni cargos.

Mid y ejecución: dos cálculos del mismo ciclo completo

Modelo EUR/USD: mid de entrada 1,1000, spread de entrada 2 pips y, por tanto, ask 1,1001; ejecución larga 1,1002. Mid de salida 1,1020, spread de salida 4 pips y, por tanto, bid 1,1018; ejecución de venta 1,1017. Nominal 10.000 EUR. El beneficio mid es 20 USD. Las mitades de spread cuestan 1 + 2 = 3 USD; el deslizamiento frente a ask/bid es 1 + 1 = 2 USD. El resultado por ejecuciones es (1,1017 − 1,1002) × 10.000 = 15 USD, coherente con 20 − 3 − 2.

Una comisión de ciclo completo de 2 USD y financiación con signo de −1 USD dan 12 USD netos. Con una conversión común supuesta de 4,00 PLN/USD son 48 PLN; un registro real debe usar cambios y horas de contabilización de cada importe. No recalculamos 15 − 3 − 2. El CSV separa la referencia de los precios reales.

Cómo interpretar los resultados

Principales métricas del backtesting:

MétricaQué indicaQué vigilar
Factor de beneficio (PF)Suma de resultados NETOS positivos / valor absoluto de la suma de negativosEl cero no entra en ninguna suma. Sin pérdidas, la razón es indefinida, no prueba una ventaja infinita. PF 1,5 no es un umbral universal.
Drawdown máximoMayor caída del patrimonio desde un máximo anteriorEn moneda o como porcentaje del máximo; depende de la frecuencia de muestreo. Los resultados solo de operaciones cerradas pueden omitir riesgo de posiciones abiertas.
Tasa de aciertoProporción de resultados positivos en una muestra definidaUn 30% de resultados a +3R y un 70% a −1R dan +0,2R brutos por operación. Un coste de 0,25R por ciclo completo cambia la esperanza a −0,05R. La relación beneficio/riesgo y el acierto no demuestran por sí solos rentabilidad futura.
Número de operacionesTamaño de muestra y diversidad efectiva100 operaciones en el mismo movimiento del USD ≠ 100 observaciones independientes. Examine agrupaciones, regímenes e incertidumbre; no existe un mínimo mágico.
Ratio de SharpeRentabilidad excedente media sobre una referencia / desviación típica de los rendimientosImportan frecuencia, referencia, anualización y dependencia temporal. > 1 o > 2 no es una prueba de calidad ni de sobreajuste.

Ejemplo: un backtest mal hecho y cómo corregirlo

Modelo de optimización: umbral RSI de 10 a 30 en pasos de 1, SL de 30 a 80 pips en pasos de 1 y TP de 80 a 200 pips en pasos de 1. La cuadrícula contiene 21 × 51 × 121 = 129.591 combinaciones, no unas decenas. Cuente también intentos abandonados y cambios manuales de reglas. Un mejor PF ilustrativo de 2,8 sobre datos 2020–2025 es un resultado de selección en ese conjunto, no prueba que RSI 22 / SL 43 / TP 167 tenga ventaja.

Un pico pronunciado alrededor de una combinación invita a comprobar sensibilidad. Por sí solo no demuestra sobreajuste: pueden importar los costes, una muestra pequeña y un cambio de régimen. Informe de toda la cuadrícula y la regla de selección, no solo del mejor punto.

Tras elegir parámetros sobre todo 2020–2025 no puede rebautizar 2024–2025 como muestra reservada. Necesita observaciones futuras nuevas u otro plan fijado de antemano. Entrenamiento, validación y prueba tienen funciones separadas; una vez utilizada la prueba, no vuelva a optimizar sobre ella.

Las diferencias entre prueba y funcionamiento pueden proceder del modelo de costes, datos, ejecución o cambios de condiciones. No toda prueba real más débil demuestra sobreajuste ni todo backtest es optimista por definición. Comparar exige las mismas reglas y un diario de señales, órdenes y ejecuciones reales.

Prueba hacia delante: puente entre backtest y cuenta real

Una prueba hacia delante comprueba el funcionamiento sobre observaciones nuevas. La duración no establece representatividad: unos meses pueden cubrir pocos eventos y un solo régimen. Demo permite comprobar lógica y disponibilidad, pero su ejecución no tiene por qué coincidir con una cuenta real. Descomponga un resultado peor en diferencias de datos, ejecución, costes y distribución de los eventos.

Monte Carlo: distribución de escenarios en vez de una trayectoria única

Reordenar resultados cerrados, por ejemplo 1.000 permutaciones de 150 operaciones, muestra trayectorias patrimoniales condicionadas a la misma muestra y reglas fijas de tamaño. No crea choques nuevos ni cambios de distribución y puede eliminar dependencia temporal. Con riesgo porcentual o posiciones simultáneas debe conservar su estructura. El percentil 95 de esa simulación no garantiza un límite al drawdown futuro. Para este ejercicio puede utilizar el simulador Monte Carlo.

10. Python para screening y backtesting

Python puede sostener un registro propio de datos y pruebas. Coste y dificultad dependen de la calidad de la fuente, el alcance y el mantenimiento. Un escáner propio exige gestión de errores, versiones de dependencias y supervisión; este artículo presenta un contrato lógico, no código de producción ni la promesa de un sistema barato listo para funcionar.

Qué ofrece Python que no ofrecen TradingView y MT4/MT5:

  • Cualquier fuente de datos. Puede obtener datos de API de brókeres, como OANDA e Interactive Brokers, fuentes gratuitas, como yfinance para índices y ccxt para cripto, o proveedores de pago. No está limitado a la oferta de la plataforma.
  • Análisis estadístico avanzado. Pruebas de significación, corrección de Bonferroni para comparaciones múltiples y visualización de distribuciones de rendimientos: tareas imposibles o muy incómodas en Pine Script. En Python con scipy y statsmodels bastan unas líneas.
  • Flexibilidad de backtesting. Las bibliotecas backtrader y vectorbt permiten probar estrategias de cartera con muchos pares a la vez, asignación dinámica de capital y correlaciones entre instrumentos. Pine Script y MQL tienen limitaciones en este ámbito.
  • Una cadena del screening a la ejecución. Todo el flujo —obtener datos, filtrar, generar señales, enviar alertas por correo o Telegram e incluso ejecutar órdenes mediante una API del bróker— puede funcionar en un solo script.
  • Análisis de sentimiento. Algunos operadores experimentan con análisis automatizado del sentimiento de noticias e informes económicos e incorporan esa señal a la cadena de screening. Existen herramientas, desde scripts sencillos hasta API de modelos de lenguaje, pero en la práctica minorista sigue siendo más un experimento que una solución terminada.

Una cadena en pseudocódigo: datos, escaneo y archivo. No contiene tokens de API ni funciones de ejecución de órdenes. La misma lógica puede implementarse en cualquier entorno.

PSEUDOCÓDIGO DE LA CADENA: SIN FUNCIÓN DE ENVÍO DE ÓRDENES
Cargar la configuración fijada y la lista completa de símbolos con versión.
Determinar los finales de vela esperados a partir del calendario de la fuente, no del reloj del ordenador.
Para cada símbolo, recuperar datos con component, start, end, complete,
  received_at, revision e identificador de fuente.
Conservar una instantánea inmutable de datos y su suma de comprobación.
Validar OHLC, unidad del precio, continuidad de sesiones y calentamiento de indicadores.
Ante un error, registrar NO_DATA con su causa; no crear NO_SIGNAL.
Con una instantánea válida, calcular la regla completa de criterios.
Registrar un resultado para cada símbolo, incluidos los que incumplen la condición.
Deduplicar alertas por version, feed, symbol, timeframe y end_UTC.
Ante una corrección, añadir un registro nuevo vinculado a la instantánea anterior.
Resumir: expected, evaluated, missing, candidates y duración del escaneo.
Archivar por separado la decisión manual y su hora, sin sobrescribir el resultado del filtro.
Informar de fallos del proceso y símbolos ausentes, incluso con cero candidatos.

Antes de elegir una fuente, revise licencia, cobertura de instrumentos, lado del precio, marcas temporales, integridad, revisiones y bid/ask disponible. No asignamos una etiqueta única a todos los datos Yahoo ni a las API gratuitas. Una biblioteca de lectura no mejora automáticamente la calidad ni proporciona precios de ejecución.

Reintentar una petición de datos es distinto de reintentar el envío de una orden. Un escaneo puede recrear con seguridad la misma clave y devolver su resultado anterior. La capa de ejecución necesita un identificador separado de instrucción y consultar el estado antes de repetir; queda fuera del screener mostrado.

Reintentos y estado de instrucciones. Un error de respuesta no demuestra que la orden no se aceptara. Antes de repetir, la capa de ejecución debe consultar el estado y aplicar el mecanismo de deduplicación admitido por esa API. No suponemos que cualquier bróker respete una clave arbitraria de idempotencia. Los límites de solicitudes y las esperas siguen el contrato del proveedor. El pseudocódigo del screener no envía órdenes, por lo que su reintento no debe conectarse directamente a una operación de trading.
Contrato de escaneo: registrar resultados aun sin señal
Secuencia operativa: cada paso tiene una condición y un registro separados.

11. Riesgos de la automatización

La automatización ahorra tiempo y reduce errores emocionales, pero introduce problemas propios. Este es el mapa conjunto de riesgos del backtest; los apartados siguientes desarrollan los más importantes:

RiesgoMecanismoCómo limitarlo
Modelo midCon dos ejecuciones, la diferencia es la mitad del spread de entrada más la mitad del de salidaCompruebe el tipo de precio; no vuelva a añadir spread a ejecuciones ask/bid reales
Spread fijoEscenario supuesto que puede quedar demasiado bajo o altoHistoria bid/ask e informe de datos ausentes; el modo de ticks reales no garantiza por sí solo integridad
Deslizamiento y comisión omitidosResultado neto inferior al bruto, especialmente en marcos cortosModele el deslizamiento de forma conservadora; incluya comisión en R
Anticipación de datosLa señal usa datos no disponibles al decidir: cierre de una vela en formación o giro futuroSolo velas cerradas; respuesta desde el siguiente tick/apertura
SobreajusteParámetros ajustados al ruido de una historia concretaPocos parámetros; fuera de muestra; avance por ventanas
Intentos múltiplesElegir la mejor variante aumenta el riesgo de un falso descubrimientoRegistre todos los intentos, aplique una corrección apropiada y una prueba no utilizada antes
Sesgo de supervivenciaSolo ve los sistemas que sobrevivieronEvalúe el proceso, no resultados preseleccionados
RepintadoEl indicador redibuja historia cerradaPruebe el indicador hacia delante; evite herramientas tipo ZigZag en las reglas
Swap omitidoEl coste de mantener posiciones reduce los resultados de swingIncluya puntos swap y pruebe con datos que incorporen costes

Sobreajuste: adaptación al pasado

El sobreajuste consiste en adaptar decisiones a propiedades de una muestra concreta que no persisten fuera de ella. No es sinónimo de cualquier pérdida el primer día. La sensibilidad de parámetros, el número de intentos y las nuevas observaciones ayudan a evaluar el problema.

Señales de alerta de sobreajuste:[5]

  • La estrategia tiene muchos parámetros libres respecto al número de operaciones y la historia disponible.
  • Un pequeño cambio de parámetro, RSI 14 → RSI 15, modifica drásticamente los resultados: la llamada fragilidad.
  • Un backtest obtiene resultados excelentes en un período y pérdidas en otro.
  • Un PF o Sharpe alto exige evaluar incertidumbre, número de variantes examinadas y dependencia entre resultados. Ni una muestra inferior a 100 ni superior a 500 operaciones determina por sí sola si existe ventaja. Revise también duración, grandes pérdidas raras y rendimiento sobre datos que no se usaron para elegir la regla.

La prueba fuera de muestra solo tiene sentido si esa muestra no participó en la selección de reglas. En walk-forward, al ajuste sobre una ventana anterior le sigue la evaluación sobre otra posterior; todos los umbrales, actualizaciones y la agregación de resultados se registran previamente. Exigir resultado positivo en cada ventana no es una regla estadística universal.

Modelo ilustrativo: optimización genética y el «parámetro milagroso». Supongamos una prueba EUR/USD sobre cinco años de datos con seis parámetros ajustables. Resultado hipotético: factor de beneficio 4,3, drawdown 6% y 847 operaciones; se eligieron RSI=16, SL=63,2 pips, TP=214,8 pips, filtro ATR=1,237, delta EMA=37 y ADX mínimo=23,6. En otra ventana, el PF del modelo es 0,8 y el resultado de la cuenta de la semana siguiente, −18%. Las cifras no proceden de una estrategia implementada ni establecen la causa de la caída. Ajustar ruido es una hipótesis; también deben comprobarse variabilidad, cambios de condiciones, costes y cumplimiento de la regla en ejecución. La sensibilidad visible al período justifica investigar, no diagnostica por sí sola sobreajuste. Conserve todos los intentos y la elección hecha antes de probar. Limitar parámetros reduce el espacio de búsqueda, pero no sustituye una muestra nueva. Walk-forward tiene sentido con ventanas y reglas previas; ajustar repetidamente el proceso a sus resultados puede volver a consumir datos de prueba.

Exploración sesgada de datos

Con 50 pruebas independientes de hipótesis nulas verdaderas al nivel del 5%, la probabilidad de al menos un rechazo falso es 1 − 0,95^50 = 92,3055% y el número esperado es 2,5. Es riesgo alto, no certeza. Las variantes sobre los mismos datos suelen ser dependientes, por lo que ese cálculo de independencia no puede tratarse como su probabilidad medida.

Registre la familia de intentos antes de elegir al ganador. Con 50 pruebas y nivel familiar del 5%, Bonferroni da un umbral de 0,05/50 = 0,001 para cada valor p válido. Controla el riesgo de al menos un rechazo falso sin exigir independencia. FDR responde otra pregunta; el ejemplo siguiente distingue ambas. Ninguna corrección de valores p establece la rentabilidad de una estrategia.

Bonferroni, FDR y el límite de la inferencia

Modelo de cinco pruebas válidas en una familia definida previamente: valores p ordenados 0,0004; 0,008; 0,019; 0,021; 0,070. Bonferroni con α = 0,05 da 0,01 y rechaza las dos primeras. Benjamini–Hochberg con q = 0,05 compara contra i × q / 5: 0,01; 0,02; 0,03; 0,04; 0,05. El mayor índice que cumple es 4, así que rechaza las cuatro primeras.

FWER controla la probabilidad de al menos un rechazo falso; FDR controla la proporción esperada de rechazos falsos entre todos los rechazos, con proporción cero si no los hay. BH clásico exige supuestos adecuados de dependencia, como independencia o una dependencia positiva especificada; no lo aplicamos sin comprobar a variantes FX arbitrariamente correlacionadas. q = 5% no significa que cada estrategia seleccionada tenga un 95% de probabilidad de funcionar. El artículo de los autores (1995) y la documentación del método describen el alcance de los procedimientos. Una prueba válida necesita pregunta, datos, distribución de referencia y estadístico fijados de antemano; los valores p de aquí son entradas hipotéticas.

La división de muestras incluye el tiempo de la etiqueta

En un plan hipotético fijado antes de analizar, el entrenamiento abarca 2018–2022, la validación 2023 y la prueba intacta 2024–2025. Si una etiqueta tiene horizonte de hasta cinco sesiones, una observación de entrenamiento de finales de diciembre de 2022 cuyo resultado se determina en enero de 2023 no pertenece a un entrenamiento que termina el 31 de diciembre. Quite etiquetas que crucen el límite o mueva el corte según sus finales reales. Separar solo fechas de entrada no basta.

Los precios históricos anteriores al límite pueden calentar un indicador al inicio de la prueba si ya se conocían entonces. Un escalador, los umbrales o la selección de instrumentos no deben ajustarse al segmento futuro. La validación selecciona y la prueba evalúa una sola vez; al cambiar una regla basándose en la prueba, esta queda consumida. Walk-forward requiere los mismos principios por ventana y un método de actualización registrado antes. Calibrar probabilidades también exige un segmento separado: ocho eventos entre diez pronósticos de 0,8 en un grupo pequeño no demuestran calibración universal ni rentabilidad.

Precisión, sensibilidad y costes de omisión

Modelo de 100 casos etiquetados independientemente: el patrón de referencia es positivo en 20 y negativo en 80. El screener emite 15 alertas: 12 coinciden con la referencia y 3 son falsas; omite 8 positivos. Precisión = 12/15 = 80%, sensibilidad = 12/20 = 60%, especificidad = 77/80 = 96,25%. De estas tres métricas no se deriva rendimiento financiero. Las etiquetas deben ser independientes del filtro; no etiquetamos como positivo todo beneficio posterior seleccionado manualmente.

Si la referencia usa un resultado futuro, su etiqueta solo está disponible al final del horizonte. No puede influir en una señal anterior ni entrar prematuramente en entrenamiento. Descargue los modelos recalculados; todas las cifras de este bloque son hipotéticas.

Detección de patrones: matriz de 100 casos
Matriz de 100 casos etiquetados: TP12 FP3 FN8 TN77; no es rendimiento financiero.

Sesgo de supervivencia en EA preparados

Mirar solo sistemas aún vendidos y publicados omite intentos retirados. Comparar exige una población conocida y un registro de versiones fallidas. Desconocemos cuántos «miles» de EA se retiraron o los resultados de ejemplo de influencers; no utilizamos esas cifras como prueba.

Cómo leer un historial público. Una cuenta públicamente verificada es una prueba mejor que una captura, pero debe entender qué cubre la verificación. Compruebe al menos: (1) si la cuenta aparece como Real y no Demo; (2) si están verificados el historial y los permisos, en Myfxbook «Track Record Verified» y «Trading Privileges Verified»; (3) cuándo empiezan los resultados: puede fijarse una fecha inicial personalizada que se revela, así que examine también el período completo; (4) si se ven depósitos y retiradas; (5) si incluye condiciones diversas y choques (2015, 2016, 2022). La ausencia de algo no demuestra fraude, pero devuelve al vendedor la carga de la prueba.

La ilusión de control

Automatizar exige supervisar estado del proceso, actualidad de datos y errores no gestionados. Funcionar de noche no determina por sí solo el deslizamiento ni el número de pérdidas. Las alertas deben informar de datos ausentes o escaneos detenidos, además de configuraciones cumplidas.

GBP/USD, 7 de octubre de 2016: alcance del informe y automatización. El informe del BPI describe un movimiento brusco desde aproximadamente las 00:07 BST: 23:07 UTC del 6 de octubre y 01:07 CEST en Varsovia del 7 de octubre. Muestra distintas plataformas, precios, liquidez y problemas en ciertas operaciones; no contiene ejecuciones stop de todos los brókeres minoristas.[13] Para una posición larga existente, el resultado dependería del nominal, nivel y tipo de stop, lado de activación y precios disponibles. Una vez activado, un stop de mercado puede ejecutarse por debajo del umbral, pero sin un registro concreto de cuenta no podemos calcular la pérdida ni afirmar que todos los sistemas automáticos recibieran una cascada de stops. Un filtro de spread o datos ausentes puede suspender nuevos intentos; no convierte el riesgo existente en precio de salida garantizado. Cerrar de emergencia también requiere cotización y ejecución disponibles. El evento justifica probar esos escenarios, no atribuir el mismo resultado a todos los sistemas.
Un filtro con unidad explícita. El ATR hipotético es 0,0060 EUR/USD = 60 pips. Un umbral de spread de 0,15 × ATR equivale a 0,0009 = 9 pips. Compare ambos lados en precio o ambos en pips, nunca 9 con 0,0060. Es un parámetro del modelo, no un límite recomendado. El filtro bloquea intentos nuevos, pero no garantiza el precio de cierre. Un límite de desviación depende del modo del producto y una instrucción de cierre urgente puede no ejecutarse sin cotizaciones.
Política de ejecución. Registre precio de referencia al instruir, ejecución efectiva, rechazos y demoras. Puede haber deslizamiento positivo o negativo también en D1. Desconocemos una distribución universal de asimetría para todos los brókeres y una etiqueta ECN/STP no garantiza calidad. Un modelo puede especificar demoras y rechazos, pero los parámetros necesitan datos. La mecánica de last look se describe en la sección 3.
Acuerdo de un programa prop. Un acuerdo concreto puede restringir el uso de un flujo retrasado o un fallo del simulador. No presentamos un escenario de desafío y pago cancelado como hecho verificado. Compruebe por separado el permiso para EA y las prácticas prohibidas; permitir automatización no elimina las demás condiciones.

La caja negra

La falta de documentación dificulta saber si un cambio de resultados proviene de datos, regla o ejecución. Un sistema puede dejar de rendir según lo esperado; necesita una condición de parada y un procedimiento de evaluación. «Hasta ahora ha funcionado» no basta.

Indicadores que repintan

Distinga lectura cambiante en una vela abierta, confirmación retrasada de un giro, corrección de datos y reescritura de una señal anterior. Conserve una instantánea del valor con su hora de evaluación y compárela con la historia posterior. Que se llame ZigZag no determina todo uso; el problema es usar un punto antes de confirmarse u ocultar cambios.

Firmas prop y automatización

Las reglas prop son contractuales y varían por programa y fase. No afirmamos que muchas firmas prohíban toda automatización. Por ejemplo, FTMO describe permitir algoritmos y EA sujetos a restricciones del programa. Compruebe las normas actuales, naturaleza de la cuenta —incluidas las simuladas—, límites y prácticas prohibidas; aceptar un screener no equivale a aceptar cualquier método de ejecución.

Cuatro causas de una prueba defectuosa
Cuatro problemas: datos usados prematuramente, orden SL/TP desconocido en OHLC, muestra de prueba consumida y spread contado dos veces. Cada uno exige una comprobación específica. El diagrama no diagnostica sobreajuste solo por el aspecto de la curva patrimonial.

12. Qué no automatizar al principio

Antes de automatizar ejecución, debe describir también actividades ajenas a la señal. La lista identifica tareas que requieren una regla y prueba separadas; no suponemos que ejecutar manualmente sea siempre más eficaz.

  • Gestión de posiciones. Tamaño, mover el SL, cierres parciales: son decisiones que requieren contexto y juicio. Un EA hará exactamente lo que le diga, pero «lo que le diga» y «lo que debería hacer ahora» suelen ser cosas distintas. Aprenda a gestionar manualmente antes de automatizar.
  • Calendario macro. Un screener puede tener en cuenta las NFP si recibe un horario correcto y una regla de bloqueo. No puede predecir el spread ni el contenido de un anuncio no publicado. No tener calendario es una limitación explícita, no una propiedad de todo sistema automático.
  • Selección del universo. Defina y versione la lista antes de probar. Excluir pares con malos resultados después de examinarlos es otro intento de selección. Mida características sobre datos especificados en vez de atribuirles propiedades fijas.
  • Fines de semana y pausas. Un filtro de spread puede suspender órdenes nuevas, pero no limita la pérdida por hueco de una posición existente. Reducir exposición nominal disminuye sensibilidad al precio; un stop ordinario no garantiza precio. Una cobertura con opciones requiere acuerdo y cuenta separados, no solo una etiqueta «cobertura». El riesgo de pausa se explica en el artículo 4.4.
  • Estado de la cuenta. Compruebe producto, modo cobertura/compensación, margen para una instrucción nueva y reglas de cierre por garantías insuficientes. El orden de liquidación depende del proveedor; no suponemos universal cerrar primero la mayor pérdida. Margen y protección se tratan por separado en el artículo 2.6. Poder aceptar una orden en un momento no garantiza mantener después la posición.
Cuadrículas y duplicación son reglas distintas. Seis posiciones iguales de 1 unidad suman 6 de exposición total. Seis niveles duplicados de 1, 2, 4, 8, 16, 32 suman 63; un séptimo de 64 eleva el total a 127. Una cuadrícula no crece exponencialmente solo por serlo. Ninguna suma demuestra rentabilidad con oscilaciones. Un límite nominal y una instrucción de salida no garantizan la peor pérdida por hueco; escenarios de precios y condiciones del producto necesitan descripciones separadas.

Automatice actividades claras y repetibles y conserve su rastro. Escaneo, alertas, decisiones y ejecución son etapas sucesivas con errores y límites propios. Repetir más rápido una regla no mejora su calidad; solo permite implementarla y probarla de forma constante.

13. Comparación de herramientas

HerramientaLenguajeScreeningAlertasBacktestingEjecución automáticaCoste orientativo
TradingView: plan básicoPine ScriptFiltros de plataformaSegún el plan actualEmulador de estrategiasEl script de estrategia no envía por sí mismo órdenes nativas al brókerCompruebe plan y datos
TradingView: planes de pagoPine ScriptEl alcance depende de la herramientaSegún el plan actualEmulador de estrategiasUn webhook necesita capa de ejecución separada; integrar el bróker no convierte automáticamente un script en EAPrecios actuales
MT4MQL4Indicadores propiosSí: ventana, notificación y correoStrategy Tester (1 símbolo)Asesores expertos0 USD, del bróker
MT5MQL5Indicadores propiosSí: ventana, notificación y correoStrategy Tester: varias monedasAsesores expertos0 USD, del bróker
cTraderC# / herramientas de plataformaSegún configuraciónSegún configuraciónPruebas de cBotcBot: lógica de ejecución separadaCondiciones de plataforma y proveedor
Entorno propioPor ejemplo, PythonRegla definida por el autorInfraestructura propiaModelo del autor / bibliotecasCapa API separadaDatos, mantenimiento e infraestructura

La tabla describe funciones, no una clasificación de calidad. Licencias, acceso a datos, VPS y costes de transacción son partidas separadas. Compruebe límites y precios en la documentación actual.

Equipo mínimo: empiece aquí
  • Marco principal: D1, donde filtra y analiza. El contexto procede de W1.
  • Lista de seguimiento: De 8 a 12 pares para filtrar, de los que entre 2 y 5 pasan a la lista activa en una semana concreta.
  • Dos filtros. Por ejemplo, EMA 200 y RSI 14 como transformaciones de precio definidas expresamente. Sus umbrales son convenciones que evaluar, no una eliminación demostrada de la mayor parte del ruido.
  • 1 tipo de alerta para empezar: alertas de precio en zonas de soporte/resistencia del gráfico semanal. Las de indicador se añaden después.
  • 0 EA al principio. Primero aprenda a operar manualmente con ayuda de un screener y alertas. El robot vendrá después; probablemente no lo necesite en absoluto.
  • Práctica del proceso y prueba hacia delante. Dos o tres meses en demo pueden servir como período supuesto de práctica de funcionamiento, registro y cumplimiento; no son un mínimo suficiente de validación. El número y período de observaciones dependen de frecuencia, dependencia y variabilidad de resultados. Demo no reproduce automáticamente la ejecución real y dejar pasar un plazo elegido no garantiza representatividad ni rentabilidad.

Tamaño de posición: fuera del alcance de este artículo

Elegir una configuración sin tamaño adecuado es hacer la mitad del trabajo, pero fórmulas, tratamiento de costes dentro del presupuesto de riesgo y ejemplos numéricos corresponden a la sección 9. La calculadora de tamaño de posición interactiva y el simulador Monte Carlo están en Herramientas.

Alcance educativo. El screening no evalúa la adecuación del producto ni garantiza resultados. La protección de saldo negativo en ciertos regímenes de CFD minoristas actúa a nivel de cuenta y no garantiza un precio stop. Deben comprobarse por separado condición del cliente, entidad contratante e instrumento. El porcentaje de pérdidas de un bróker se refiere a sus cuentas y período declarado, no a todos los usuarios de Forex o EA; su alcance se explica en la sección del mercado minorista.

Preguntas frecuentes: automatización y screening en análisis técnico

¿Necesito saber programar para usar screening?

No. Los screeners integrados de TradingView y paneles MT4/MT5 siguen el principio «pulse filtros, fije umbrales y obtenga una lista». Pine Script y MQL añaden posibilidades, como condiciones propias y alertas compuestas, pero el screening básico no exige escribir código.

¿Merece la pena comprar un asesor experto (EA) preparado?

Evaluarlo exige reglas documentadas, historial completo de intentos y cambios, modelo de costes y observaciones nuevas. Ni un historial de cuenta verificado garantiza representatividad o resultados futuros. Un backtest atractivo o una reseña no sustituyen estas comprobaciones.

¿Cuántas alertas debería tener a la vez?

No hay un número universal. Registre capacidad de revisión y vencimiento de condiciones y reduzca repeticiones mediante deduplicación. Puede escanear todo el universo sin avisar tras cada vela que siga cumpliendo el mismo estado.

¿Qué fiabilidad tiene un backtest en Forex?

Depende de datos, reglas y modelo de ejecución. OHLC no establece el orden de SL/TP en una misma vela. Un modo de ticks reales puede rellenar huecos con datos generados. El backtest no pronostica resultados; una prueba hacia delante examina observaciones nuevas con límites de duración y diversidad de muestra.

¿TradingView o MT4/MT5 para screening?

Compare fuente, límites de velas, filtros disponibles, funcionamiento de alertas y alcance del probador. Las alertas TradingView corren en el servidor; un indicador MT local necesita plataforma o VPS en marcha. Un script de estrategia TradingView no es por sí solo un sistema nativo de trading con bróker.

¿Es Python mejor que Pine Script para backtesting?

Un entorno propio da control sobre datos y modelo, pero traslada al autor la responsabilidad de su corrección. El probador de plataforma tiene convenciones y limitaciones definidas. La elección no elimina anticipación, errores de unidades ni costes omitidos.

¿Tengo que ejecutar el screener cada día?

Si la regla evalúa cada cierre D1, el escaneo debe cubrirlos todos. Revisar solo lunes y jueves omite condiciones nuevas de otros días, salvo que un sistema automático las siga registrando. Separe frecuencia de revisión manual y de escaneo completo.

Fuentes

Fuentes primarias

  1. Robert Pardo, The Evaluation and Optimization of Trading Strategies, 2.ª ed., Wiley, 2008: metodología de backtesting, análisis walk-forward y detección de sobreajuste; obra clave para validar estrategias automatizadas.
  2. Ernest P. Chan, Quantitative Trading: How to Build Your Own Algorithmic Trading Business, 2.ª ed., Wiley, 2021: guía práctica para construir estrategias cuantitativas, desde screening hasta ejecución algorítmica.
  3. Perry J. Kaufman, Trading Systems and Methods, 6.ª ed., Wiley, 2020: revisión enciclopédica de sistemas de trading, filtros tendenciales, screening, pruebas y optimización.
  4. Andreas F. Clenow, Following the Trend, Wiley, 2013: enfoque sistemático de seguimiento de tendencias, selección de instrumentos, pruebas de cartera, gestión de posiciones y aspectos prácticos de automatización.

Lecturas adicionales

  1. David Aronson, Evidence-Based Technical Analysis, Wiley, 2007: validación estadística de métodos de AT, sesgo de minería de datos, significación y comparaciones múltiples —data snooping—; lectura esencial para probar estrategias.
  2. Marcos Lopez de Prado, Advances in Financial Machine Learning, Wiley, 2018: lectura adicional; no se atribuyen capítulos no leídos como pruebas de las reglas.
  3. Alexander Elder, The New Trading for a Living, Wiley, 2014: lectura adicional; no se atribuyen capítulos no leídos como pruebas de las reglas.
  4. Kathy Lien, Day Trading and Swing Trading the Currency Market, 3.ª ed., Wiley, 2016: lectura adicional; no se atribuyen capítulos no leídos como pruebas de las reglas.
  5. Lukas Menkhoff, Mark P. Taylor, «The Obstinate Passion of Foreign Exchange Professionals: Technical Analysis», Journal of Economic Literature, vol. 45, n.º 4, 2007: revisión del uso del AT en Forex y contexto para discutir la automatización entre profesionales de divisas.
  6. Andrew W. Lo, Adaptive Markets: Financial Evolution at the Speed of Thought, Princeton University Press, 2017: hipótesis de mercados adaptativos, por qué pueden dejar de funcionar estrategias antes eficaces y consecuencias para automatización y backtesting.

Fuentes institucionales y documentación

  1. Banco Nacional Suizo (2015), «El Banco Nacional Suizo elimina el cambio mínimo y reduce el tipo al −0,75%», comunicado, 15 de enero de 2015.
  2. FCA (2015), «Información para clientes de Alpari (UK) Limited» : entrada de Alpari (UK) en administración especial.
  3. Comité de Mercados del BPI (2017), «El episodio súbito de la libra del 7 de octubre de 2016», enero de 2017: análisis de liquidez escasa, órdenes, respuestas algorítmicas y discrepancias entre plataformas.
  4. TradingView, Documentación de Pine Script : documentación oficial sobre comportamiento en vela actual y cerrada (barstate), alertas y strategy().
  5. MetaQuotes, Referencia MQL5 : documentación oficial de MQL5: indicadores, asesores expertos y Strategy Tester.
  6. ESMA (2018), «ESMA acuerda prohibir opciones binarias y restringir CFD para proteger a inversores minoristas», 27 de marzo de 2018: paquete de intervención de productos con límites de apalancamiento, protección de saldo negativo y advertencias; los análisis supervisores indicaban pérdidas en el 74–89% de cuentas minoristas de CFD.

Tu progreso de aprendizaje

¿Has terminado la lección? Márcala tú. Abrir o desplazar una página nunca la marca como completada.

El progreso requiere JavaScript y almacenamiento del navegador.

Se guarda solo en este navegador. Sin cuenta ni sincronización entre dispositivos. Borrar los datos del sitio puede eliminar tu progreso.

Jarosław Wasiński

Redactor jefe, ForexMechanics.com • Analista macro y FX

Analista independiente y profesional con mas de 20 anos de experiencia en los mercados financieros. Activo en Forex desde 2004, con enfoque en analisis fundamental, estructura del mercado OTC y gestion disciplinada del riesgo de capital.

  • Creador y redactor jefe de MyBank.pl, ofreciendo educacion financiera fiable desde 2004.
  • Autor de cientos de comentarios de mercado en profundidad, analisis estructurales y materiales educativos para traders e inversores.
  • Defensor de la transparencia del mercado, promoviendo una educacion basada en datos concretos e informes institucionales (BIS, ESMA, CFTC).

Todo el contenido tiene caracter exclusivamente educativo e informativo – no constituye asesoramiento de inversion ni recomendacion alguna. Recuerde: el trading con apalancamiento (Forex/CFD) conlleva un alto riesgo de perdida rapida de capital.