Apuntarme a la lista de espera
Estrategias / Tendencia / SuperTrend SAR MACD

SuperTrend SAR MACD

Una operación necesita que el SuperTrend(3, 5) gire tras un recorrido limitado, el Parabolic SAR en el lado correcto del precio y un movimiento del histograma del MACD por encima de un tamaño fijado. Una lectura suavizada de la presión de compra y venta debe coincidir. Esta estrategia aún no se ha sometido a backtest.

TendenciaLargos & cortosSwingTodavía sin probar
Esta estrategia aún no se ha sometido a backtest. Las reglas y el código ya están publicados, y las cifras aparecerán aquí después de las primeras ejecuciones.

Reglas de entrada, largos

  1. El Parabolic SAR está por debajo del cierre
  2. El histograma del MACD subió más de 0.045 puntos
  3. La presión de compra-venta suavizada está subiendo
  4. El rango del bar anterior está por encima de 2 pips
  5. No hay posición abierta

Reglas de entrada, cortos

  1. El Parabolic SAR está por encima del cierre
  2. El histograma del MACD cayó más de 0.186 puntos
  3. La presión de compra-venta suavizada está cayendo
  4. El rango del bar anterior está por encima de 2 pips
  5. No hay posición abierta

Reglas de salida

  1. Stop loss de 10 puntos
Parámetros (18)
positionSize
Tamaño por punto
1
stMultiplier
Multiplicador del ATR del SuperTrend
3
stPeriod
Longitud del ATR del SuperTrend
5
sarStart
Factor inicial del Parabolic SAR
0.02
sarStep
Paso del Parabolic SAR
0.02
sarMax
Factor máximo del Parabolic SAR
0.03
macdFast
Longitud rápida del MACD
12
macdSlow
Longitud lenta del MACD
26
macdLineArg
Tercer argumento de MACDline, tal y como se publicó
150
macdSignalPeriod
EMA de la línea MACD utilizada como señal
9
lookbackPeriod
Ventana para el cálculo de la presión
100
pressurePeriod
Longitud de la EMA que suaviza la presión de compra y venta
500
minTrendBars
El SuperTrend debe haber mantenido su lado más tiempo que este valor
15
longMacdSlope
Subida mínima del histograma del MACD para los longs (puntos)
0.045
shortMacdSlope
Caída mínima del histograma del MACD para los shorts (puntos)
0.186
minRangePips
El rango del bar anterior debe superar este valor (pips)
2
takeProfitPoints
Objetivo de beneficio (puntos)
10
stopLossPoints
Stop de protección (puntos)
10

El código

ProBuilder, reescrito al estándar de la casa

// ============================================================
// SuperTrend SAR MACD
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: Not yet tested
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1           // size per point
stMultiplier = 3           // SuperTrend ATR multiplier
stPeriod = 5               // SuperTrend ATR length
sarStart = 0.02            // Parabolic SAR start factor
sarStep = 0.02             // Parabolic SAR step
sarMax = 0.03              // Parabolic SAR maximum factor
macdFast = 12              // MACD fast length
macdSlow = 26              // MACD slow length
macdLineArg = 150          // third MACDline argument, as published
macdSignalPeriod = 9       // EMA of the MACD line used as signal
lookbackPeriod = 100       // window for the pressure calculation
pressurePeriod = 500       // EMA length that smooths buy and sell pressure
minTrendBars = 15          // SuperTrend must have held its side longer than this
longMacdSlope = 0.045      // minimum rise of the MACD histogram for longs (points)
shortMacdSlope = 0.186     // minimum fall of the MACD histogram for shorts (points)
minRangePips = 2           // previous bar range must exceed this (pips)
takeProfitPoints = 10      // profit target (points)
stopLossPoints = 10        // protective stop (points)
ONCE stNotRisingBars = 0   // bars in a row the SuperTrend has not risen
ONCE stNotFallingBars = 0  // bars in a row the SuperTrend has not fallen

// --- Indicators ---
stValue = SuperTrend[stMultiplier, stPeriod]
sarValue = SAR[sarStart, sarStep, sarMax]
macdMain = MACDline[macdFast, macdSlow, macdLineArg](close)
macdTrigger = ExponentialAverage[macdSignalPeriod](MACDline[macdFast, macdSlow, macdLineArg](close))
macdHistogram = macdMain - macdTrigger
barRange = Range

// Buying versus selling pressure over the lookback window, smoothed.
channelLow = Lowest[lookbackPeriod](low)
channelHigh = Highest[lookbackPeriod](high)
buyPressure = 100 * (3 * close - 2 * channelLow - open[lookbackPeriod - 1]) / CustomClose
sellPressure = 100 * (open[lookbackPeriod - 1] + 2 * channelHigh - 3 * close) / CustomClose
pressureSpread = ExponentialAverage[pressurePeriod](buyPressure) - ExponentialAverage[pressurePeriod](sellPressure)

IF stValue[2] >= stValue[1] THEN
  stNotRisingBars = stNotRisingBars + 1
ELSE
  stNotRisingBars = 0
ENDIF

IF stValue[1] >= stValue[2] THEN
  stNotFallingBars = stNotFallingBars + 1
ELSE
  stNotFallingBars = 0
ENDIF

17 líneas más: las reglas de entrada y salida.

Configuración

Cómo cargarla

  1. Copia el código con el botón de copiar del bloque de código.
  2. En ProRealTime, abre un gráfico del instrumento y el marco temporal que quieras probar y luego abre ProOrder > New trading system y elige "Create with programming".
  3. Pega el código, dale un nombre al sistema y guárdalo.
  4. Haz clic en "Backtest", ajusta tu propio spread y position size, y ejecútala antes de considerar operarla en real.

Indicadores utilizados

SuperTrendParabolic SARMACDEMA
Lee esto primeroDebilidades conocidas4 puntos
  • Sin probar. No hay resultados de backtest en esta página.
  • Seis condiciones deben alinearse para una entrada, por lo que las operaciones pueden ser poco frecuentes.
  • Los umbrales del MACD (0.045 para los longs, 0.186 para los shorts) están en puntos de precio y se comportarán de forma muy distinta de un instrumento a otro.
  • Un stop de 10 puntos y un objetivo de 10 puntos son ajustados en la mayoría de los mercados, por lo que el spread importará.

Preguntas

Sobre esta estrategia

¿Se puede ejecutar en ProOrder?

El código está escrito para ProOrder, pero aún no se ha verificado en compilación ni sometido a backtest. Tómalo como punto de partida para tus propias pruebas.

¿En qué instrumentos se ha probado?

Ninguno todavía. Los resultados se añadirán una vez que haya pasado la batería de pruebas.

¿Qué position size usa el código?

Opera con un tamaño de 1 por punto. Sin backtest todavía no hay una cifra de drawdown, así que empieza con poco en demo.

Relacionado

Estrategias como esta

Monday Dip Buy

Usa el mismo indicador.

n/a PF · 146 operaciones

Long-Term Moving Average Cross

También es una estrategia de tendencia.

12.31 PF · 61 operaciones

Slow MACD Slope

También es una estrategia de tendencia.

6.80 PF · 7,305 operaciones

¿Quieres saber cuándo se publican nuevas pruebas como esta? Apúntate a la lista de espera de ProRealAlgos.

La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.

Los resultados pasados de backtest no garantizan resultados futuros. Esto no es asesoramiento financiero. Seleccionado y mantenido por ProRealAlgos. ProRealTime™ es una marca comercial de ProRealTime SAS. prorealalgos.comEstadísticasDocumentación