Стратегия определения местных тенденций облака Ичимоку

Автор:Чао Чжан, Дата: 2024-03-19 15:10:59
Тэги:

img

Обзор

Эта стратегия - это стратегия определения тренда и торговли, основанная на индикаторе Ichimoku Cloud в сочетании с коэффициентами Фибоначчи. Она использует линию конверсии, базовую линию, облако Кумо и отставание от индикатора Ichimoku Cloud для определения текущей тенденции рынка и включает коэффициенты 1.618 и 0.618 Фибоначчи для установки уровней стоп-лосса и идентификации боковых рынков. Кроме того, стратегия вводит две дополнительные средние линии для фильтрации ложных сигналов.

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

Индикатор облака Ичимоку состоит из четырех компонентов: линии конверсии, базовой линии, облака Кумо и задержки. Линия конверсии и базовая линия рассчитываются с использованием среднего значения самого высокого и самого низкого минимума за разные периоды времени.

Долгие условия вступления в эту стратегию следующие:

  1. "Задержка" над облаком.
  2. Линия преобразования больше, чем Базовая
  3. Цена закрытия выше уровня стоп-лосса 1,618
  4. Линия 0.618 находится выше уровня остановки потери 1.618
  5. Цена закрытия выше облака.

Краткие условия входа противоположны длинным условиям входа.

Уровни стоп-лосса устанавливаются с использованием соотношений Фибоначчи 1.618 и 0.618. Для длинных позиций стоп-лосс - это верхний край облака минус 1.618 раз расстояние между верхним и нижним краями. Для коротких позиций - наоборот. Линия 0.618 используется для идентификации боковых рынков. Когда облако зеленое, а линия 0.618 находится ниже уровня стоп-лосса 1.618, рынок считается в боковом состоянии.

В дополнение к индикатору Ichimoku Cloud, стратегия вводит две средние линии для дальнейшей фильтрации ложных сигналов.

Анализ преимуществ

  1. Используя как ценовые, так и тенденционные показатели, стратегия может лучше определить текущую тенденцию рынка.
  2. Введение коэффициентов Фибоначчи для динамического установления уровней стоп-лосса делает риск контролируемым.
  3. Линия 0,618 может эффективно идентифицировать боковые рынки и избегать частых входов на рыночные диапазоны.
  4. Две дополнительные средние линии могут дополнительно фильтровать ложные сигналы и улучшать качество сигнала.
  5. Параметры регулируемы, что делает стратегию подходящей для разных рынков и временных рамок.

Анализ рисков

  1. При экстремальных рыночных условиях, таких как сильные восходящие или нисходящие тенденции, индикаторы тренда могут не работать, что приводит к искажению сигналов.
  2. Уровень стоп-лосса основан на расстоянии от облака. Когда облако очень тонкое, это может привести к тому, что стоп-лосс будет слишком близко к цене входа.
  3. Метод использования коэффициентов Фибоначчи для стоп-лосса и линии 0,618 для оценки боковых рынков не имеет теоретической поддержки и может быть не применим ко всем рынкам.
  4. Оптимизация параметров может привести к чрезмерному приспособлению и плохой производительности на реальных рынках.

Руководство по оптимизации

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

Заключение

Эта стратегия инновационно сочетает индикатор Ichimoku Cloud с коэффициентами Фибоначчи для формирования полной системы идентификации тренда и торговли. Внедрение дополнительных средних линий для фильтрации может в определенной степени улучшить качество сигнала. Преимущество стратегии заключается в ее способности хорошо адаптироваться как к трендовым, так и к колеблющимся рыночным условиям, а также контролировать риск с помощью динамических стоп-лосов. Однако стратегия также имеет некоторые недостатки, такие как отсутствие теоретической поддержки и потенциальная переподготовка в оптимизации параметров. В будущем стратегия может быть улучшена путем внедрения большего количества индикаторов, оптимизации стоп-лосов и размещения и использования машинного обучения для оптимизации параметров. В целом, эта стратегия имеет инновационный подход и заслуживает упоминания, но для практического применения необходимы дальнейшие испытания и оптимизация.


/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 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/
// © manoharbauskar

//@version=5
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © manoharbauskar

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Больше