Ичимоку: Ранняя тенденция облаков

Автор:Чао Чжан, Дата: 2023-12-12 16:11:09
Тэги:

img

Обзор

Стратегия Ichimoku Early Cloud Trend Following - это стратегия, основанная на популярном индикаторе Ichimoku Cloud.

Логика стратегии

Стратегия основана на следующих элементах:

  1. Создайте облако Ичимоку с помощью линии преобразования и базовой линии, и набросьте облако с перемещением в 26 периодов.

  2. Включает длинный сигнал, когда ближайший перерыв над вершиной облака; включает короткий сигнал, когда ближайший перерыв ниже дна облака.

  3. Требуется, чтобы закрыть также нарушить максимум / мин конверсии и базовых линий, чтобы отфильтровать ложные прорывы.

  4. Необязательно устанавливать стоп-лосс 5% на основе входной цены.

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

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

Стратегия имеет следующие преимущества:

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

Риски

Также следует учитывать некоторые риски:

  1. Работает лучше для трендовых рынков; может генерировать больше ложных сигналов в периоды с диапазоном.
  2. Параметры Ichimoku должны быть оптимизированы для различных продуктов.
  3. Размещение стоп-лосса требует осторожности, чтобы избежать преждевременного выхода.
  4. Относительно низкая частота сигнала, имеет тенденцию упускать краткосрочные возможности.

Риски могут быть уменьшены:

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

Усовершенствования

Стратегия может быть улучшена в следующих аспектах:

  1. Добавить размер позиции к контрольной сумме, торгуемой программируемо черезstrategy.position_size.

  2. Добавить фильтрацию безопасности вселенной для автоматического обнаружения силы тренда черезsecurity().

  3. Включить методы стоп-лосса/прибыли для управления рисками.

  4. Создать мультииндикаторную систему, объединяющую такие индикаторы, как полосы Боллинджера и RSI для улучшения качества сигналов.

  5. Применение машинного обучения для оценки надежности сигнала и динамической корректировки количества заказов.

Заключение

Стратегия Ichimoku Early Cloud Trend Following использует Ichimoku Cloud для ранней идентификации трендов, усиленной фильтрами скользящих средних, для надежного обнаружения высококачественных торговых возможностей.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © QuantCT

//@version=4
strategy("Ichimoku Cloud Strategy Idea",
         shorttitle="Ichimoku", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=99, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.1)

// ____ Inputs

conversion_period = input(9, minval=1, title="Conversion Line Period")
base_period = input(26, minval=1, title="Base Line Period")
lagging_span2_period = input(52, minval=1, title="Lagging Span 2 Period")
displacement = input(26, minval=1, title="Displacement")
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

donchian(len) => avg(lowest(len), highest(len))

conversion_line = donchian(conversion_period)
base_line = donchian(base_period)
lead_line1 = avg(conversion_line, base_line)
lead_line2 = donchian(lagging_span2_period)
chikou = close

chikou_free_long = close > high[displacement] and close > max(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_long = chikou_free_long and close > max(lead_line1[displacement], lead_line2[displacement])
exit_long = close < lead_line1[displacement] or close < lead_line2[displacement]

chikou_free_short = close < low[displacement] and  close < min(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_short = chikou_free_short and close < min(lead_line1[displacement], lead_line2[displacement])
exit_short = close > lead_line1[displacement] or close > lead_line2[displacement]

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 

// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)

// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange
 
p1 = plot(lead_line1, offset = displacement, color=colors,
	 title="Lead 1")
p2 = plot(lead_line2, offset = displacement, color=colors,
	 title="Lead 2")
fill(p1, p2, color = colors)
plot(chikou, offset = -displacement, color=color.blue)



Больше