В процессе загрузки ресурсов... загрузка...

Стратегия выхода Bollinger Bands от Turtle-ATR

Автор:Чао Чжан, Дата: 2024-06-03 10:48:09
Тэги:ATR

img

Обзор

Это стратегия, основанная на правилах торговли черепахой. Стратегия использует ATR (средний истинный диапазон) для определения направления тренда и размера торговой позиции. Когда цена выходит из самой высокой или самой низкой цены за определенный период, стратегия откроет длинную или короткую позицию. Позиция будет удерживаться до тех пор, пока цена не выйдет из самой низкой или самой высокой цены за определенный период, и тогда стратегия закрыт позицию. Цель этой стратегии - захватить сильные трендовые рынки при строгом контроле риска.

Принцип стратегии

Основным элементом этой стратегии является использование индикатора ATR для определения направления тренда и размера торговой позиции.

  1. Расчет значения индикатора ATR.
  2. Определить уровни цены прорыва для длинных и коротких позиций.
  3. Если цена превышает длинную цену выхода, открыть длинную позицию; если цена превышает короткую цену выхода, открыть короткую позицию.
  4. Рассчитывать размер позиции для каждой сделки на основе значения индикатора ATR и сальдо счета.
  5. Удерживать позицию до тех пор, пока цена не выйдет за пределы самой низкой (для длинных позиций) или самой высокой цены (для коротких позиций) за определенный период, а затем закрыть позицию.

Использование индикатора ATR помогает нам динамически корректировать размеры позиций, чтобы лучше адаптироваться к волатильности рынка.

Преимущества стратегии

  1. Следование тенденциям: Стратегия направлена на захват сильных рынков с тенденциями, тем самым генерируя значительную прибыль.
  2. Контроль рисков: используя индикатор ATR для определения размеров позиций и уровней стоп-лосса, стратегия может эффективно контролировать риск.
  3. Приспособляемость: индикатор ATR может быть динамически настроен, что позволяет стратегии адаптироваться к различным рыночным условиям.
  4. Простота: логика стратегии ясна и легко понятна и реализована.

Стратегические риски

  1. Обратная тенденция: когда рыночные тенденции внезапно меняются, стратегия может понести значительные потери.
  2. Нерегулярные рынки: на нерегулярных рынках стратегия может часто открывать и закрывать позиции, что приводит к высоким затратам на торговлю.
  3. Чувствительность параметров: производительность стратегии может быть чувствительна к параметрам, а ненадлежащие параметры могут привести к плохой производительности.

Для устранения этих рисков можно рассмотреть следующие решения:

  1. Ввести механизм подтверждения тренда, чтобы избежать преждевременного открытия позиций при изменении тренда.
  2. Уменьшить размер позиций или приостановить торговлю на нестабильных рынках.
  3. Оптимизируйте параметры, чтобы найти лучшую комбинацию.

Направления оптимизации стратегии

  1. Внедрить больше показателей: помимо индикатора ATR следует рассмотреть возможность введения других индикаторов подтверждения тренда, таких как скользящие средние, для повышения точности определения тренда.
  2. Динамическая корректировка параметров: динамическая корректировка параметров стратегии на основе различных рыночных условий, таких как период ATR и период цены выхода, для адаптации к изменениям рынка.
  3. Используйте механизм получения прибыли: после получения определенной прибыли, подумайте о частичном закрытии позиций, чтобы закрепить прибыль и снизить риск.
  4. Управление длинными/короткими позициями: для повышения гибкости стратегии следует рассмотреть возможность управления длинными и короткими позициями отдельно, например, использовать различные стандарты стоп-лосса и теч-профита.

С помощью вышеуказанных оптимизаций можно еще больше улучшить стабильность и рентабельность стратегии.

Резюме

Стратегия 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)



Связанные

Больше