Это стратегия, основанная на правилах торговли черепахой. Стратегия использует ATR (средний истинный диапазон) для определения направления тренда и размера торговой позиции. Когда цена выходит из самой высокой или самой низкой цены за определенный период, стратегия откроет длинную или короткую позицию. Позиция будет удерживаться до тех пор, пока цена не выйдет из самой низкой или самой высокой цены за определенный период, и тогда стратегия закрыт позицию. Цель этой стратегии - захватить сильные трендовые рынки при строгом контроле риска.
Основным элементом этой стратегии является использование индикатора ATR для определения направления тренда и размера торговой позиции.
Использование индикатора ATR помогает нам динамически корректировать размеры позиций, чтобы лучше адаптироваться к волатильности рынка.
Для устранения этих рисков можно рассмотреть следующие решения:
С помощью вышеуказанных оптимизаций можно еще больше улучшить стабильность и рентабельность стратегии.
Стратегия TURTLE-ATR Bollinger Bands Breakout - это стратегия, основанная на правилах торговли черепахами. Стратегия использует индикатор 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)