
La estrategia es una estrategia de comercio de swing que utiliza el punto de deslizamiento de la línea parabólica y la línea K para operar de forma cruzada, para lograr el seguimiento de la dinámica y el cierre de pérdidas. La estrategia establece posiciones de venta y venta libre en situaciones de alza y bajada, y compensa estas posiciones de pérdidas cuando el precio se invierte.
La estrategia se basa principalmente en el indicador de la línea parabólica para determinar si el precio está en una tendencia alcista o bajista. Cuando el indicador de la SAR parabólica está por debajo de la línea K, lo que significa que el precio está actualmente en una tendencia alcista, la estrategia comprueba si el valor de la SAR parabólica se cierra en cada línea K para ver si el precio cruza la línea K. Si no se cierra, la estrategia establece una posición más alta. Si el precio cruza la línea K, lo que significa que la tendencia alcista se invierte a la baja, la estrategia se paraliza.
Mediante este principio de funcionamiento, la estrategia puede establecer posiciones de orden en una tendencia de precios confirmada y detenerse en el primer momento, lo que bloquea la ganancia. Al mismo tiempo, la línea de parálisis, como un indicador de dinámica, puede determinar con mayor precisión si la tendencia se invierte, lo que también hace que el detenerse sea más preciso.
Los métodos para mejorar la solidez de la estrategia incluyen: optimizar la configuración de los puntos de parada para que sean lo suficientemente estrictos; combinar otros criterios de indicadores como confirmación; ajustar los parámetros del indicador a los cambios en el entorno del mercado; seleccionar la combinación óptima de parámetros según las diferentes variedades, etc.
La estrategia de parallax Swing es una estrategia de operación de línea corta que tiene un mejor efecto en general. Utiliza los indicadores de parallax para determinar la dirección de la tendencia y los cambios en la dinámica de los precios, en combinación con el método de negociación de swing, para establecer posiciones de venta y cancelación repetidas en las etapas de subida y bajada de la variedad.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
if barstate.isconfirmed and time_cond
if uptrend
strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
strategy.cancel("ParLE")
else
strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)