
La estrategia de la línea de paridad binaria de tendencia es una estrategia de negociación cuantitativa basada en el indicador de tendencia y el promedio móvil simple. La estrategia utiliza el indicador de tendencia de tendencia para determinar la dirección de la tendencia del mercado, luego se filtra con el promedio móvil simple de 200 días y se abre una posición de descubierto en la dirección de la tendencia.
La estrategia utiliza dos indicadores:
Indicador de supertrend: calcula el alza y la bajada en función de la amplitud real de la ATR y un múltiplo. Cuando el precio de cierre es superior al alza es bajista, y inferior al alza es bajista.
Promedio móvil simple de 200 días: es el promedio aritmético de los precios de cierre de los últimos 200 días. Los precios de cierre por encima de la línea representan una tendencia alcista, y por debajo de la línea representan una tendencia bajista.
La lógica de la estrategia:
Cuando el indicador de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia.
Cuando el indicador de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia de la tendencia.
Cuando el indicador de tendencia superior se invierte en la señal anterior, la posición se cierra.
El Stop Loss está establecido en el 25%.
Esta estrategia, combinada con un indicador de hipertrend para determinar la tendencia a corto plazo y una línea de media de 200 días para determinar la tendencia a largo plazo, puede filtrar eficazmente las brechas falsas y reducir la frecuencia de las operaciones al mismo tiempo que aumenta la tasa de éxito. En el mercado grande, la tendencia es lo suficientemente clara, el espacio para detener la pérdida es grande, el espacio para ganar es grande.
El principal riesgo de esta estrategia es el alto margen de pérdidas, que aumenta el riesgo de liquidación forzada en caso de alto nivel de apalancamiento. Además, cuando el mercado se reorganiza, los indicadores de tendencia excesiva generan señales adicionales, lo que aumenta la frecuencia y el costo de las operaciones.
Se puede reducir el riesgo ajustando adecuadamente el ciclo ATR, los parámetros multiplicadores y el stop loss.
La estrategia puede ser optimizada en los siguientes aspectos:
Ajuste de los parámetros de ATR y multiplicador para optimizar los parámetros de los indicadores de tendencia;
Intentar sustituirlo por otros indicadores de uniformidad, como EMA, VIDYA, etc.
la adición de otros indicadores auxiliares, como el canal BOLL o el indicador KD para filtrar aún más la señal;
Optimización de las estrategias de parada de pérdidas, como el movimiento al punto de equilibrio de pérdidas y ganancias o la parada de pérdidas a gran escala.
Esta estrategia es muy práctica en su conjunto, ya que considera los juicios de tendencias a corto plazo y los juicios de tendencias a largo plazo, y la configuración de stop loss también es más razonable. Se puede obtener un mejor efecto mediante el ajuste y la optimización de los parámetros, que vale la pena comprobar y usar en el campo.
/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef
//@version=5
strategy("Smart SuperTrend Strategy ", shorttitle="ST Strategy", overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=25, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.01)
// Parametry wskaźnika SuperTrend
atrLength = input(10, title="Lenght ATR")
factor = input(3.0, title="Mult.")
// Parametry dla SMA
lengthSMA = input(200, title="Lenght SMA")
// Parametry dla Stop Loss
sl = input.float(25.0, '% Stop Loss', step=0.1)
// Obliczanie ATR
atr = ta.atr(atrLength)
// Obliczanie podstawowej wartości SuperTrend
up = hl2 - (factor * atr)
dn = hl2 + (factor * atr)
// Obliczanie 200-SMA
sma200 = ta.sma(close, lengthSMA)
// Inicjalizacja zmiennych
var float upLevel = na
var float dnLevel = na
var int trend = na
var int trendWithFilter = na
// Logika SuperTrend
upLevel := close[1] > upLevel[1] ? math.max(up, upLevel[1]) : up
dnLevel := close[1] < dnLevel[1] ? math.min(dn, dnLevel[1]) : dn
trend := close > dnLevel[1] ? 1 : close < upLevel[1] ? -1 : nz(trend[1], 1)
// Filtr SMA i aktualizacja trendWithFilter
trendWithFilter := close > sma200 ? math.max(trend, 0) : math.min(trend, 0)
// Logika wejścia
longCondition = trend == 1
shortCondition = trend == -1
// Wejście w pozycje
if (longCondition) and close > sma200
strategy.entry("Long", strategy.long)
if (shortCondition) and close < sma200
strategy.entry("Short", strategy.short)
// Warunki zamknięcia pozycji
Long_close = trend == -1 and close > sma200
Short_close = trend == 1 and close < sma200
// Zamknięcie pozycji
if (Long_close)
strategy.close("Long")
if (Short_close)
strategy.close("Short")
// Kolory superTrendu z filtrem sma200
trendColor = trendWithFilter == 1 ? color.green : trendWithFilter == -1 ? color.red : color.blue
//ploty
plot(trendWithFilter == 1 ? upLevel : trendWithFilter == -1 ? dnLevel : na, color=trendColor, title="SuperTrend")
// Stop Loss ( this code is from author RafaelZioni, modified by wielkieef )
per(procent) =>
strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------
strategy.exit('SL',loss=per(sl))
//by wielkieef