
Это стратегия отслеживания трендов, основанная на законе торгового шелка. Эта стратегия использует ATR (средняя реальная волновая amplitude) для определения направления тренда и размера торговой позиции.
В основе этой стратегии лежит использование ATR-индикатора для определения направления тренда и размеров торговых позиций. ATR-индикатор позволяет измерить волатильность рынка, что помогает нам определить подходящие точки остановки и размеров позиций. Основные шаги стратегии следующие:
Таким образом, стратегия может улавливать сильные тенденции, но при этом строго контролировать риски. Использование ATR-индикатора может помочь нам динамично изменять размер позиции, чтобы лучше адаптироваться к рыночным колебаниям.
Для борьбы с этими рисками следует рассмотреть следующие варианты:
Благодаря этим оптимизациям можно еще больше повысить стабильность и прибыльность стратегии.
TURTLE-ATR Брин-Брейн стратегия - это стратегия отслеживания тенденций, основанная на законе торгового шелка. Эта стратегия использует показатели ATR, чтобы определить направление тенденции и размер торговой позиции, чтобы открыть позицию и удержать позицию до того, как тенденция перевернется. Преимущество этой стратегии заключается в том, что она может улавливать сильные тенденции, строго контролируя риск.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © luisfeijoo22
//@version=5
strategy("Estrategia de las tortugas_ES", overlay=true, pyramiding=3)
// Parámetros
atrLength = input.int(20, "Longitud del ATR")
atrFactor = input.float(2, "Factor del ATR")
entryBreakout = input.int(20, "Breakout de entrada")
exitBreakout = input.int(10, "Breakout de salida")
longOnly = input.bool(false, "Solo largos")
shortOnly = input.bool(false, "Solo cortos")
// Cálculo del ATR
atr = ta.atr(atrLength)
// Cálculo de los niveles de breakout
longEntry = ta.highest(high, exitBreakout)[1]
longExit = ta.lowest(low, exitBreakout)[1]
shortEntry = ta.lowest(low, exitBreakout)[1]
shortExit = ta.highest(high, exitBreakout)[1]
// Cálculo del tamaño de la posición
nContracts = math.floor((strategy.equity * 0.01) / (atrFactor * atr))
// Filtra las fechas según el rango deseado
// in_range = time >= timestamp(year(start_date), month(start_date), dayofmonth(start_date))
// Condiciones de entrada y salida
longCondition = not longOnly and close > longEntry and time >= timestamp("2023-03-15")
if longCondition
strategy.entry("Long", strategy.long, qty = nContracts)
shortCondition = not shortOnly and close < shortEntry and time >= timestamp("2023-03-15")
if shortCondition
strategy.entry("Short", strategy.short, qty = nContracts)
strategy.exit("Exit Long", "Long", stop = longExit)
strategy.exit("Exit Short", "Short", stop = shortExit)
// Visualización de los niveles de breakout
plot(longEntry, "Entrada larga", color.green, style = plot.style_line)
plot(longExit, "Salida larga", color.red, style = plot.style_line)
plot(shortEntry, "Entrada corta", color.green, style = plot.style_line)
plot(shortExit, "Salida corta", color.red, style = plot.style_line)