Una lectura positiva del MACD no constituye por sí sola un evento nuevo. Esta estrategia registra primero un cruce nuevo entre la línea principal y la señal al otro lado de cero, y concede solo dos velas cerradas posteriores para un cruce nuevo de cero. El contexto EMA y el apoyo frente a la señal deben mantenerse. Una señal apta todavía necesita una primera cotización válida, suficiente objetivo neto y protección fija verificada.
1. Fije el modelo completo de dos etapas
Utilice EURUSD · M5 · Bid OHLC · Close y una cuenta en USD. EMA20/50 aporta un contexto de ubicación del precio; MACD aporta dos eventos de cruce distintos. Por M=E12−E26, un M positivo equivale a EMA12 por encima de EMA26 con entradas idénticas. Exigir ambos duplica la confirmación. EMA20/50 usa otros períodos, pero reutiliza los mismos cierres; ni su coincidencia ni la espera demuestran una ventaja económica.
Permita una sola posición propia o solicitud sin resolver por símbolo. Sin promediar, acumular, cubrir, cerrar parcialmente, seguir el precio ni ajustar a punto de equilibrio. Ignore orígenes mientras haya una solicitud pendiente o exposición; tras verificar el cierre, espere otro origen independiente. La falta de velas necesarias cancela la observación: reconstruya el historial continuo antes de otro evento. El marco UTC y de ejecución coincide con las dos estrategias anteriores para comparar sin cambiar los controles de cuenta.
2. Calcule EMA, principal, señal SMA y OsMA por separado
Para n=12/20/26/50, inicialice E_n(n−1)=mean(C[0...n−1]) y aplique E_n(k)=(2*C(k)+(n−1)*E_n(k−1))/(n+1). Los primeros valores aparecen en k11/k19/k25/k49. Defina M=E12−E26; S=mean(M[k−8...k]); D=M−S. M comienza en k25, S y D en k33; los cruces nuevos de señal pueden evaluarse desde k34. La señal es SMA9, no EMA9. Las barras del MACD estándar de MT4 representan M; D es la diferencia entre principal y señal, OsMA.
Lea los valores de velas cerradas con shift=1 y sus predecesores con shift=2; el desplazamiento gráfico es cero. La referencia usa semillas, recurrencias y comparaciones racionales exactas; los decimales CSV son aproximaciones. Un M ligeramente negativo sigue siendo negativo aunque su presentación redondeada parezca cero. Otro historial, inicialización o método de señal puede cambiar los valores. No se afirma igualdad con los búferes de historial completo del terminal del bróker.
| Componente | Referencia declarada | Función / supuesto |
|---|---|---|
| Precio y entradas | EURUSD · Bid · M5 · Close | EMA20/50 · MACD12/26/9 |
| Contexto EMA20/50 | EMA20 / EMA50 · Close | E20>E50 · C>E50 / E20<E50 · C<E50 |
| Principal MACD / señal SMA | M=E12−E26 · S=SMA9(M) | D=M−S · X→Z · P+1 / P+2 |
| Contrato y cuadrícula | pip=0.0001 · point=tick=0.00001 | 100000 EUR · 10 USD/pip/lot |
| Límites de cuenta | 0.25% · 1% · 2 | Presupuesto por entrada · suelo diario · solicitudes/día |
3. BUY: active bajo cero y confirme en dos velas
Desde k49 exija T_buy=[E20>E50 AND C>E50]. Un origen P necesita ese contexto y un cruce nuevo X_buy=[D_prev≤0 AND D>0], mientras M(P)<0. Registre P, sin ordenar todavía. Un D positivo persistente no es otro X; un cruce rechazado por contexto no puede adoptarse cuando este mejore. Un M ya no negativo no cumple este origen bajo cero.
En cada cierre posterior, cancele primero si T_buy=0 OR D≤0, haga expirar después si k>P+2 y solo entonces confirme con un Z_buy=[M_prev≤0 AND M>0] nuevo. Son elegibles únicamente P+1 y P+2; contexto y apoyo D deben seguir válidos en cada vela intermedia. La confirmación consume P aunque después falle la ejecución. Una vela procesada como pendiente no puede iniciar además otro episodio.
4. SELL: refleje los eventos y use el lado correcto
Exija T_sell=[E20<E50 AND C<E50], un X_sell=[D_prev≥0 AND D<0] nuevo y M(P)>0. En cierres posteriores, cancele primero por T_sell=0 OR D≥0, haga expirar después de P+2 y finalmente exija un Z_sell=[M_prev≥0 AND M<0] nuevo. Un principal igual a cero no confirma. Un X y Z simultáneos sin P activo no aportan el origen SELL anterior con principal positivo.
Tras confirmar, cancelar o expirar, el P antiguo permanece cerrado. Solo un X independiente futuro que satisfaga todas las condiciones puede iniciar otra observación; no se reutiliza la misma vela ni se amplía el plazo retrospectivamente. BUY entra por Ask y sale por Bid; SELL entra por Bid y sale por Ask. El umbral numérico del stop Ask de SELL se deriva de máximos Bid cerrados, no de un máximo Ask observado. Las velas Bid no reconstruyen el recorrido Ask ni el primer contacto intravela con dos barreras.
5. Controla horario, cuenta y exposición diaria
Solo admite horas de habilitación 07:00≤q UTC<09:30; cierra a 10:00 UTC. Son horas UTC fijas del modelo, no una sesión londinense ajustada al horario de verano. Registra la conversión del reloj del bróker. Detecta la vela en 1s como máximo; la cotización debe tener marca temporal igual o posterior a q y edad máxima 250ms al enviar. Los milisegundos requieren registros adecuados y reloj monótono, no precisión inventada desde segundos del servidor.
Límite 2 transmitted entry requests/day, incluidos rechazos y timeouts. Un rechazo previo consume q sin contar un envío. Con patrimonio inicial verificado Eday, bloquea entradas y cierra exposición propia a la primera cotización válida al alcanzar 0.99*Eday. Base desconocida, flujos de caja o cuenta sin conciliar pausan el modelo. Reinicia el día solo sin posición y con conciliación. No se incluye filtro automático de noticias.
| Fase | Plazo / ventana | Acción |
|---|---|---|
| q | 07:00 ≤ UTC < 09:30 | Horas de habilitación |
| q+1s | ≤1000 ms | Detección más tardía |
| q+2s | ≤2000 ms · age≤250 ms | Una solicitud como máximo |
| q+4×M5 / 10:00 | min(q+20min, 10:00 UTC) | Salir a la primera cotización |
6. Fije el stop y un objetivo bruto de dos distancias
Use E0=Ask_ref en BUY y E0=Bid_ref en SELL. El stop BUY es S_bid=floor_tick(min BidLow[P..q]−1pip) y el SELL es S_ask=ceil_tick(max BidHigh[P..q]+1pip). Exija d=abs(E0−S)/pip; 3≤d≤12. El objetivo es T_bid=floor_tick(E0+2*d*pip) o T_ask=ceil_tick(E0−2*d*pip). Congele los niveles desde el episodio y la primera cotización, nunca desde un fill posterior o una actualización del indicador. Si incumplen las reglas del bróker, omita la entrada; no amplíe el stop.
La peor entrada planificada es Fmax=Ask_ref+0.2pip o Fmin=Bid_ref−0.2pip. Sume una sola vez comisión completa de 0.6 pip y reserva de salida de 0.4 pip a la pérdida prevista, y réstelas del objetivo. Exija reward_pips/loss_pips≥1.30. Un objetivo bruto de dos veces d no garantiza esa relación neta. La tolerancia de entrada ya está en F; la reserva no es una comisión real ni garantiza un límite de ejecución.
| Entrada de referencia | Stop fijo | Objetivo fijo | |
|---|---|---|---|
| BUY | E0=Ask_ref | S_bid=floor_tick(min BidLow[P..q]−1pip) | T_bid=floor_tick(E0+2*(E0−S_bid)) |
| SELL | E0=Bid_ref | S_ask=ceil_tick(max BidHigh[P..q]+1pip) | T_ask=ceil_tick(E0−2*(S_ask−E0)) |
7. Consume la primera cotización y envía una sola vez
Al detectar q, captura el primer Bid/Ask. Exige spread ≤1.0pip y desviación absoluta del Bid respecto al cierre Bid de q ≤1.0pip. Completa controles y envía como máximo en q+2s, inclusive. Antes del envío verifica precio actual, edad, costes, riesgo, permisos, margen y protección; fallar consume q. Un precio cambiado debe quedar dentro de la tolerancia original y pasar controles; referencia y niveles permanecen fijos.
Una solicitud con stop y objetivo adjuntos; omite si el entorno no admite entrada protegida. Sin reintentos tras rechazo, dato viejo, spread excesivo, plazo o timeout. En bad_quote, spread inicial 1.5 pip y posterior 0.8 no permiten envío. En late_request, los controles acaban en q+2.5s: el plazo falla antes de transmitir. Mejoras posteriores no reviven q.
8. Siga el BUY oportuno desde el origen hasta la cotización ejecutable
El origen construido P=k75 / 08:00 UTC cierra en 1.10000. En unidades de pip, M≈−0.3316; S≈−0.3520; D≈+0.0204, después de D negativo en k74. El contexto es válido y el cruce de señal bajo cero activa P. En k76 M sigue negativo. En q=k77 / 08:10 UTC, el cierre 1.10020 tiene M≈+0.1778; S≈−0.4285; D≈+0.6063. El contexto y apoyo D continuos, junto con el nuevo cruce de cero, confirman en P+2.
La primera cotización Bid/Ask a +250 ms es 1.10021 / 1.10029. Stop 1.09977, objetivo fijo 1.10133 y peor entrada 1.10031 dan d=5.2; loss=6.4; net target=9.2; ratio=1.4375. Un patrimonio de 10000 USD permite presupuesto de 25 USD y 0.39 lots / 24.96 USD de riesgo previsto. Solicitud a +400 ms, fill verificado 1.10030 a +550 ms y objetivo Bid a las 08:15:20: 10.3 pips brutos menos comisión 0.6 dan 9.7 pips / 37.83 USD. El cierre horario de una vela no era por sí mismo un fill ejecutable.
| Lado | Bid / Ask | S / T | Pérdida (pip) | Objetivo neto (pip) | Ratio | Lotes | Riesgo USD |
|---|---|---|---|---|---|---|---|
| BUY | 1.10021 / 1.10029 | 1.09977 / 1.10133 | 6.4 | 9.2 | 1.4375 | 0.39 | 24.96 |
| SELL | 1.09971 / 1.09979 | 1.10023 / 1.09867 | 6.4 | 9.2 | 1.4375 | 0.39 | 24.96 |
9. Siga el SELL reflejado hasta su salida Ask
El prefijo Bid SELL independiente refleja BUY respecto de 2.20000. En su origen, el principal es positivo y D cruza hacia abajo; el principal solo cruza bajo cero en q. La primera cotización es 1.09971 / 1.09979, el stop S_ask=1.10023 y el objetivo T_ask=1.09867. La peor entrada es 1.09969. Todos los indicadores siguen basados en Bid aunque el gráfico de ejecución muestre velas Ask.
Los mismos 6.4 pips de pérdida prevista, 9.2 de objetivo neto y relación 1.4375 permiten 0.39 lotes y 24.96 USD de riesgo previsto. El fill ficticio 1.09970 sale cuando Ask llega a 1.09867 a las 08:15:20: 9.7 pips netos y 37.83 USD. Las cotizaciones reflejadas posteriores a q intercambian Bid y Ask para respetar los lados ejecutables. Esta simetría diseñada verifica cálculos, no una rentabilidad BUY/SELL igual.
10. Separe cruces tardíos, cancelados y sin origen
En late_zero, el principal de k77 es aproximadamente −0.0035 pips: D y contexto cumplen, pero no hay cruce estricto de cero. En k78=P+3 / 08:15 UTC M se vuelve positivo; prevalece la expiración y Q=0. En signal_lost, D≈−0.0073 pips en k76 cancela P. El doble cruce de k77 ya tiene principal positivo, no revive P y no cumple el origen negativo. Un gráfico posterior más alineado no recupera un momento de entrada anterior.
En context_late, k72 tiene X pero E20≈1.09791351<E50≈1.09792680, por lo que no se abre P. El contexto pasa en k74, cuando X ya no es nuevo; el cruce de cero en k75 sigue sin origen activo. El caso plano tiene M=D=0, sin contexto ni evento estricto. Conserve cada motivo y su prioridad, en lugar de presentar todo principal positivo como una operación válida.
11. Use barreras fijas y una salida tras cuatro intervalos
Tras un fill verificado, cambios posteriores de EMA, M, S o D no mueven la protección ni cierran la operación. BUY se activa con Bid≤S_bid OR Bid≥T_bid; SELL con Ask≥S_ask OR Ask≤T_ask. Use cotizaciones ejecutables cronológicas y fills reales del ejemplo. Si una vela incluye ambas barreras sin orden de ticks, se desconoce la primera salida; no elija el resultado favorable.
La salida temporal usa la primera cotización válida después de min(q+4×M5, 10:00 UTC): cuatro intervalos son 20 minutos programados desde q. time_exit usa 08:30:00.200, Bid 1.10023, neto −1.3 pips / −5.07 USD. buy_gap sale a 1.09962, 1.5 pips peor que su stop fijo, neto −7.4 pips / −28.86 USD. Supera el presupuesto de 25 USD. Stops, reservas y horarios no limitan la pérdida ni garantizan disponibilidad ante saltos y cortes.
12. Concilia resultados desconocidos y protección fallida
La confirmación debe coincidir con símbolo, lado, volumen, stop y objetivo propios. Registra identificador único y concilia libro de órdenes e historial de ejecuciones. Un timeout significa unresolved≠rejected≠flat: pausa entradas, no reenvíes ni inventes ejecución o PnL. unknown_request deja estos campos vacíos por falta de resultado de cuenta.
Si aparece ejecución fuera del límite adverso o protección ausente/incorrecta, intenta cierre de emergencia del ticket propio verificado y bloquea entradas. Verifica el cierre; si es incierto, continúa conciliando riesgo. Nunca amplíes el stop para reparar. Emergencias no son nuevas entradas sujetas al límite de intentos. No intervengas posiciones ajenas al modelo.
13. Calcula riesgo monetario y separa reserva de comisión
Usa B=min(0.0025*equity, equity−0.99*Eday) con margen diario positivo. Con valor supuesto 10 USD/pip/lote y paso 0.01, lots=floor_step(B/(planned loss pips*10)). Omite si queda bajo mínimo o fallan volumen máximo, margen o contrato. Recalcula conversión a moneda de cuenta cuando corresponda; EURUSD y cuenta USD hacen directo este valor ficticio.
Pérdida BUY (Fmax−S_bid)/pip+1.0 y recompensa neta (T_bid−Fmax)/pip−1.0; SELL refleja distancias desde Fmin. El spread ya está en los lados ejecutables: no lo sumes otra vez. PnL real usa ejecuciones y comisiones reales; reserva 0.4 no es comisión. Beneficio ficticio 37.83 USD y recompensa prevista son medidas distintas.
14. Reconstruya velas, cotizaciones y resultados desconocidos
Los tres CSV públicos reúnen doce casos independientes de 100 velas cada uno, en total 12×100=1200 filas, eventos cronológicos de ejecución y el registro por caso. Los cierres UTC programados comienzan en 2026-02-03 01:45 UTC. Hasta q, cuatro prefijos BUY trasladan los cierres EURGBP del artículo mediante +0.24765 a entradas EURUSD expresamente ficticias. Conservan la secuencia de las series de diferencias, sin afirmar que otro instrumento siga la misma trayectoria de mercado. SELL refleja el prefijo aceptado; flat es constante.
Antes de q, OHLC Ask es explícitamente Bid+0.8 pip. Después de q, OHLC Bid y Ask agregan la cinta de cotizaciones listada. La cotización de salida a q+20min+200 ms pertenece a la vela abierta k82, no a k81 ya cerrada. El registro separa referencias iniciales, planes diagnósticos, fills y comisiones; el PnL ausente o desconocido queda vacío. Cotizaciones posteriores no implican otra operación. Recalcule las EMA ponderadas, señal SMA, eventos, protección, volumen y salidas por el lado correcto.
Descargar velas M5 e indicadores ficticios (CSV)
15. Pruebe geometría bruta, ejecución e incertidumbre
cost_reject tiene la misma confirmación oportuna, pero primera cotización 1.10010 / 1.10012: desviación Bid exacta de 1 pip y spread de solo 0.2 pip. El stop 1.09977 da d=3.5; T=1.10082. La peor entrada 1.10014 produce loss=4.7; net target=5.8; ratio≈1.2340<1.30. No se envía solicitud; el tamaño diagnóstico 0.53 lots / 24.91 USD no repara la relación fallida. Incluso un spread menor y geometría bruta 2:1 necesitan el filtro neto explícito.
Los casos independientes suman Q=8; request_count=5; closed=4; unresolved=1. No son una cartera de un día ni una muestra de tasa de acierto. Antes de estudiar rendimiento, fije todas las variantes y utilice Bid/Ask no examinados, costes variables, saltos, órdenes rechazadas o desconocidas, fallos de protección, cortes y conversión horaria verificada. Compare esperanza neta, drawdown, rotación, incertidumbre y sensibilidad a costes; menos señales no demuestran por sí solas una mejora.
| Caso independiente | Solicitudes | Resultado |
|---|---|---|
| buy_target | 1 | Objetivo fijo; fill conocido |
| sell_target | 1 | Objetivo Ask; fill conocido |
| buy_gap | 1 | Stop con salto; −28.86 USD |
| time_exit | 1 | Salida temporal; −5.07 USD |
| bad_quote | 0 | Primer spread rechazado |
| late_request | 0 | Plazo de envío vencido |
| unknown_request | 1 | Desconocido; conciliar |
| cost_reject | 0 | Relación neta rechazada |
| late_zero | 0 | Cruce tras expirar |
| signal_lost | 0 | Apoyo de señal perdido |
| context_late | 0 | Contexto inicial rechazado |
| flat | 0 | Sin contexto ni evento estricto |
16. Implemente el episodio exacto y complete el grupo
Mantenga la secuencia explícita: historial completo, contexto EMA, cruce nuevo de señal al otro lado de cero, P pendiente, apoyo continuo, cruce de cero oportuno, decisión inicial consumida, una solicitud, protección fija verificada, salida cronológica y estado plano conciliado. La cancelación precede a la expiración y esta a la confirmación. Un contexto recuperado, principal positivo o mejor cotización posterior no aporta al origen antiguo el evento o precio que le faltó.
Esta es la tercera estrategia completa del grupo de combinaciones para scalping, tras EMA–RSI y Bollinger–Stochastic. Los tres artículos explican sus fundamentos; cada estrategia aporta sus propias reglas completas de entrada y salida. Compárelas como candidatos fijados por separado con evidencia de ejecución común, no como votos ni diversificación automática. Publique y audite el grupo terminado antes de elegir otro tema; los resultados ficticios no justifican promesas de rentabilidad.
Preguntas frecuentes
¿Un MACD positivo confirma de forma independiente EMA12 sobre EMA26?
No. Con precios, semillas y alineación iguales, M=EMA12−EMA26 hace idénticas esas condiciones. EMA20/50 es otro par de contexto, pero reutiliza entradas y tampoco garantiza información independiente.
¿Puede un cruce de cero en P+3 confirmar el origen?
No. Solo P+1 y P+2 pueden confirmar, con contexto y apoyo D válidos continuamente. En P+3 prevalece la expiración. Un origen independiente futuro debe cumplir de nuevo todas las condiciones.
¿Las barras estándar de MACD en MT4 son principal menos señal?
El MACD estándar de MT4 representa la principal con barras. Aquí M es principal, S es señal SMA9 y D es su diferencia, equivalente a OsMA. Usar señal EMA9 cambia el modelo y su calendario de eventos.
¿Un objetivo bruto dos a uno garantiza la relación neta exigida?
No. Tolerancia de entrada, comisión y reserva reducen el objetivo neto y aumentan la pérdida prevista. cost_reject tiene geometría 2:1 pero relación neta cercana a 1.2340, inferior a 1.30, y no envía solicitud.
¿Un timeout o una cotización mejor permiten otra solicitud?
No. La primera cotización candidata consume q; una solicitud sin resolver no es rechazo ni prueba de ausencia de posición. Pause, concilie órdenes y fills propios, sin reenviar ni inventar un resultado.
¿Demuestran estos ejemplos un scalping rentable?
No. Los doce casos ficticios independientes prueban mecánica, no frecuencias, esperanza ni preparación para operar en real. El salto también supera el presupuesto previsto. El valor económico exige datos de ejecución no examinados y análisis de incertidumbre.
Fuentes y notas de investigación
MetaQuotes documenta iMA e iMACD, la señal SMA del MACD estándar de MT4, OsMA como principal menos señal y los parámetros de las órdenes. Las semillas SMA finitas, el plazo de dos velas, los objetivos, los tiempos y el riesgo son decisiones de investigación declaradas. Trasladamos los prefijos EURGBP del artículo por un importe fijo a casos EURUSD construidos; no afirmamos equivalencia con un terminal ni rendimiento de mercado medido.
- MQL4 Reference: iMA
- MQL4 Reference: iMACD
- MetaTrader 4: MACD calculation
- MQL4 Reference: iOsMA
- MQL4 Reference: OrderSend
Modelo educativo. Precios, cotizaciones y resultados ficticios. Forex implica riesgo. Stops, ajustes de deslizamiento y reservas no garantizan precios, beneficios ni pérdida máxima real.