El precio tiene que situarse en el lado correcto de cuatro medias móviles mientras el ADX, el Momentum, el Williams %R y el Stochastic coinciden en la dirección. La entrada real se dispara en el bar en el que el ADX(10) cruza uno de un conjunto de niveles fijos. Esta versión todavía no tiene backtest, así que no se publican resultados.
| positionSize Contratos por operación | 1 |
| fastPeriod EMA rápida, el precio debe estar en el lado correcto de ella | 8 |
| midPeriod MA ponderada, el precio debe estar en el lado correcto de ella | 34 |
| slopePeriod MA ponderada cuya pendiente fija la dirección de la tendencia | 150 |
| temaPeriod TEMA utilizada para la posición del precio y la pendiente | 15 |
| trendPeriod Filtro de tendencia EMA de largo plazo | 200 |
| momentumPeriod El Momentum debe estar subiendo (long) o bajando (short) | 6 |
| fastAdxPeriod ADX corto que no debe estar cayendo | 6 |
| diPeriod Longitud de DI+ / DI- | 10 |
| adxPeriod Longitud del ADX principal | 10 |
| adxThreshold El ADX principal debe estar por encima de esto | 18 |
| williamsPeriod Longitud del Williams %R | 40 |
| williamsMidLevel Lado del Williams %R que separa a los toros de los osos | -50 |
| stochPeriod Longitud %K del Stochastic | 8 |
| stochSmooth Suavizado del Stochastic | 3 |
| stochLookback Stochastic comparado con su valor hace este número de bars | 3 |
| closesAbovePeriod Últimos cierres que deben situarse por encima de la EMA rápida (long) | 2 |
| adxLevelA Niveles de cruce de ADX que pueden disparar una entrada | 17 |
| adxLevelB Niveles de cruce de ADX que pueden disparar una entrada | 20 |
| adxLevelC Niveles de cruce de ADX que pueden disparar una entrada | 22 |
| adxLevelD Niveles de cruce de ADX que pueden disparar una entrada | 24 |
| adxLevelE Niveles de cruce de ADX que pueden disparar una entrada | 26 |
| adxLevelF Niveles de cruce de ADX que pueden disparar una entrada | 28 |
| adxLevelG Niveles de cruce de ADX que pueden disparar una entrada | 30 |
| stopLossPoints Stop de protección | 30 |
| takeProfitPoints Objetivo de beneficio | 120 |
| ladderRungs Número de escalones de la escalera de breakeven | 25 |
| firstTriggerPips Beneficio que activa el primer escalón de la escalera | 10 |
| firstLockPips Beneficio asegurado por el primer escalón | 5 |
| secondTriggerPips Beneficio que activa el segundo escalón | 15 |
| ladderStepPips Separación de cada escalón posterior | 10 |
El código
// ============================================================ // ADX Momentum EMA // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: Not yet tested // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 50000 // --- Parameters --- positionSize = 1 // contracts per trade fastPeriod = 8 // fast EMA, price must be on the right side of it midPeriod = 34 // weighted MA, price must be on the right side of it slopePeriod = 150 // weighted MA whose slope sets the trend direction temaPeriod = 15 // TEMA used for price position and slope trendPeriod = 200 // long-term EMA trend filter momentumPeriod = 6 // momentum must be rising (long) or falling (short) fastAdxPeriod = 6 // short ADX that must not be falling diPeriod = 10 // DI+ / DI- length adxPeriod = 10 // main ADX length adxThreshold = 18 // main ADX must be above this williamsPeriod = 40 // Williams %R length williamsMidLevel = -50 // Williams %R side that separates bulls from bears stochPeriod = 8 // Stochastic %K length stochSmooth = 3 // Stochastic smoothing stochLookback = 3 // Stochastic compared with its value this many bars ago closesAbovePeriod = 2 // last closes that must sit above the fast EMA (long) adxLevelA = 17 // ADX cross levels that can trigger an entry adxLevelB = 20 adxLevelC = 22 adxLevelD = 24 adxLevelE = 26 adxLevelF = 28 adxLevelG = 30 stopLossPoints = 30 // protective stop takeProfitPoints = 120 // profit target ladderRungs = 25 // number of breakeven ladder steps firstTriggerPips = 10 // profit that arms the first ladder step firstLockPips = 5 // profit locked by the first step secondTriggerPips = 15 // profit that arms the second step ladderStepPips = 10 // spacing of every later step // --- Indicators --- fastMA = ExponentialAverage[fastPeriod](close) midMA = WeightedAverage[midPeriod](close) slopeMA = WeightedAverage[slopePeriod](close) temaValue = TEMA[temaPeriod](close) trendMA = ExponentialAverage[trendPeriod](close) momentumValue = Momentum[momentumPeriod](close) fastAdx = ADX[fastAdxPeriod] plusDI = DIplus[diPeriod](close) minusDI = DIminus[diPeriod](close) adxValue = ADX[adxPeriod] williamsValue = Williams[williamsPeriod](close) stochK = Stochastic[stochPeriod, stochSmooth](close) aboveFast = fastMA < close belowFast = fastMA > close aboveMid = midMA < close belowMid = midMA > close aboveTrend = trendMA < close belowTrend = trendMA > close aboveTema = temaValue < close belowTema = temaValue > close slopeUp = slopeMA > slopeMA[1] slopeDown = slopeMA < slopeMA[1] temaUp = temaValue > temaValue[1] temaDown = temaValue < temaValue[1] williamsBull = williamsValue > williamsMidLevel williamsBear = williamsValue < williamsMidLevel stochRising = stochK > stochK[stochLookback] stochFalling = stochK < stochK[stochLookback]
50 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
El código está escrito para el trading automático de ProOrder, pero aún no se ha comprobado su compilación ni se le ha hecho backtest. Ejecútalo en ProBacktest en tu propio mercado antes de pasar a real.
Ninguno hasta ahora. La página mostrará resultados por instrumento una vez se hayan hecho los backtests.
El tamaño por defecto es 1 contrato con un stop de 30 puntos, pero sin un backtest no hay cifra de drawdown con la que dimensionar el capital. Considera cualquier uso en real como no probado.
Los demás filtros solo describen el estado de la tendencia. El cruce del ADX(10) por encima de 17, 20, 22, 24, 26, 28 o 30 (longs) da un único bar en el que la fuerza de la tendencia está aumentando, así que la operación tiene un disparador claro.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.