
Se trata de una estrategia de trading cuantitativa que utiliza el indicador ATR y el precio de cierre para capturar brechas de tendencia. La estrategia determina la dirección de la tendencia mediante el cálculo dinámico de las líneas de tendencia ascendentes y descendentes, y genera una señal de negociación cuando el precio de cierre rompe la línea de tendencia. La estrategia establece al mismo tiempo un stop loss y un precio objetivo, y puede realizar un stop loss móvil según la volatilidad.
La solución:
La multiplicación de los ciclos de tiempo ayuda a filtrar el ruido y a captar las tendencias de manera más estable. La verificación de los indicadores cuantitativos antes de la ruptura elimina las señales falsas. La optimización de la administración de posiciones mejora la eficiencia de la utilización de los fondos. La optimización de los parámetros de pérdidas y pérdidas mejora el riesgo de ganancias de la estrategia.
La estrategia utiliza ATR como una medida de la volatilidad, la posición de la línea de tendencia de ajuste dinámico, para capturar la tendencia de ruptura de la situación. Establecer objetivos de parada y ganancias de manera razonable, y utilizar el movimiento de la parada de pérdidas para bloquear las ganancias. Los parámetros son ajustables, adaptables.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD")
//Developer: Trading Strategy Guides
//Creator: Trading Strategy Guides
//Date: 3/18/2024
//Description: A trend trading system strategy
atr_period = input(title="ATR Period", defval=120, type=input.integer)
atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer)
dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer)
factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float)
rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer)
trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer)
col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool)
atr_signal = atr(atr_period)
lower_trend = low - atr_mult*atr_signal
upper_trend = high + atr_mult*atr_signal
upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend
lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend
upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na
lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green
trend_line = lower_trend
plot(lower_trend, color=lower_color, title="Lower Trend Color")
plot(upper_trend, color=upper_color, title="Upper Trend Color")
is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0)
is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0)
if is_buy
strategy.entry("Enter Long", strategy.long)
else if is_sell
strategy.entry("Enter Short", strategy.short)