
Esta estrategia permite determinar la tendencia de los precios mediante el cálculo de las medias móviles rápidas, las medias móviles lentas y el indicador MACD, la construcción de señales de negociación de forks y forks de oro, y la combinación de paradas y paradas de seguimiento de pérdidas para bloquear las ganancias y permitir el seguimiento continuo de la tendencia.
La estrategia se basa en tres indicadores principales:
En primer lugar, se calcula el promedio de movimiento rápido y dos promedios de movimiento lento. Se genera una señal de compra cuando se cruzan dos promedios de movimiento lento por encima del promedio de movimiento rápido y una señal de venta cuando se cruzan dos promedios de movimiento lento por debajo del promedio de movimiento rápido.
En segundo lugar, se calculan los indicadores MACD, que incluyen líneas MACD, líneas de señal y gráficos rectangulares. Cuando el gráfico MACD es >0 es el indicador de múltiples cabezas; cuando el gráfico MACD es es el indicador de cabezas vacías. Esto ayuda a determinar la confiabilidad de la señal de la horquilla dorada.
Por último, en combinación con el Stop Loss Tracking Stop Loss Mechanism. El uso de Stop Loss y Stop Loss Points para bloquear ganancias y controlar el riesgo; el uso de Stop Loss Tracking para seguir ganancias.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Resolvemos el riesgo:
La estrategia también puede ser optimizada en los siguientes aspectos:
La estrategia en su conjunto es una estrategia simple y eficaz para determinar la tendencia utilizando el indicador MACD y el indicador MACD para lograr el seguimiento de los puntos de parada. La ventaja es que se realiza el seguimiento de la tendencia y el bloqueo de ganancias, es altamente personalizable y se aplica a varias variedades. Es una estrategia de optimización de parámetros de tipo universal. Existe un cierto riesgo y espacio para optimización, pero en general es una estrategia de negociación práctica y confiable.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy('The Puria Method', shorttitle = 'Puria',overlay = true)
//=== GENERAL INPUTS ===
// short ma
maFastSource = input(defval = close, title = "Fast MA Source")
maFastLength = input(defval = 5, title = "Fast MA Period", minval = 1)
// long ma 1
maSlow1Source = input(defval = low, title = "Slow MA1 Source")
maSlow1Length = input(defval = 85, title = "Slow MA Period", minval = 1)
// long ma 2
maSlow2Source = input(defval = low, title = "Slow MA2 Source")
maSlow2Length = input(defval = 75, title = "Slow MA Period", minval = 1)
//macd
macdFastLength = input(defval = 12, title = "Fast MACD Period", minval = 1)
macdSlowLength = input(defval = 26, title = "Slow MACD Period", minval = 1)
macdSmaLength = input(defval = 9, title = "SMA MACD Period", minval = 1)
// the risk management inputs
inpTakeProfit = input(defval = 30, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 10, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 5, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
// === SERIES SETUP ===
maFast = ema(maFastSource, maFastLength)
maSlow1 = wma(maSlow1Source, maSlow1Length)
maSlow2 = wma(maSlow2Source, maSlow2Length)
[_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength)
// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50)
slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50)
// === LOGIC ===
signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0
signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0
// ===STRATEGY===
strategy.entry(id = "Long", long = true, when = signalUp)
strategy.entry(id = "Short", long = false, when = signalDown)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)