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

Количественная стратегия торговли, основанная на измененной скользящей средней и Ichimoku Kinko Hyo

Автор:Чао Чжан, Дата: 2024-04-28 13:39:00
Тэги:HMAIKHSWMA

img

Обзор

Эта стратегия сочетает в себе два технических индикатора: модифицированный Hull Moving Average (HMA) и Ichimoku Kinko Hyo (IKHS), целью которых является определение средне- и долгосрочных рыночных тенденций.

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

  1. Вычислить измененную скользящую среднюю величину корпуса (HMA)
    • Вычислить взвешенную скользящую среднюю величину (WMA) и применить двойную сглаживание для получения измененной HMA
  2. Вычислите различные показатели Ичимоку Кинко Хё.
    • Вычислить Тенкан Сен (линия преобразования), Киджун Сен (базовая линия), Сенкоу Спан А (лидерский спан А) и Сенкоу Спан В (лидерский спан В)
  3. Создание торговых сигналов
    • Когда HMA пересекается над Kijun Sen и цена закрытия выше Kumo, генерируйте длинный сигнал
    • Когда HMA пересекается ниже Kijun Sen и цена закрытия ниже Kumo, генерируйте короткий сигнал
  4. Исполнение сделок
    • Выполнять соответствующие торговые операции на основе длинных или коротких сигналов
  5. Выходные сделки
    • Когда HMA пересекает Kijun Sen в противоположном направлении, выйти из текущей позиции

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

  1. Сочетает в себе два эффективных индикатора тенденций, HMA и IKHS, чтобы лучше отслеживать тенденции рынка
  2. Использует Kumo от IKHS в качестве фильтрующего условия для эффективного снижения ложных сигналов и улучшения показателя выигрыша сделок
  3. Модифицированный HMA имеет более быструю скорость ответа и меньшее отставание по сравнению с традиционными скользящими средними, что позволяет своевременно отражать изменения рынка
  4. Логика стратегии ясна, легко понятна и реализована, подходит для различных рынков и временных рамок

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

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

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

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

Резюме

Сочетая модифицированный Hull Moving Average и Ichimoku Kinko Hyo, эта стратегия создает относительно стабильную торговую систему, следующую за трендом. Логика стратегии ясна и проста в реализации, но также имеет определенные преимущества. Однако на производительность стратегии все еще влияют рыночные условия и параметры, требующие дальнейшей оптимизации и улучшения. В практических приложениях необходимо сделать соответствующие корректировки и управление на основе конкретных характеристик рынка и предпочтений риска для получения лучших торговых результатов.


/*backtest
start: 2024-04-20 00:00:00
end: 2024-04-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull MA_X + Ichimoku Kinko Hyo Strategy", shorttitle="HMX+IKHS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)

// Hull Moving Average Parameters
keh = input(12, title="Double HullMA")
n2ma = 2 * wma(close, round(keh/2)) - wma(close, keh)
sqn = round(sqrt(keh))
hullMA = wma(n2ma, sqn)

// Ichimoku Kinko Hyo Parameters
tenkanSenPeriods = input(9, title="Tenkan Sen Periods")
kijunSenPeriods = input(26, title="Kijun Sen Periods")
senkouSpanBPeriods = input(52, title="Senkou Span B Periods")
displacement = input(26, title="Displacement")

// Ichimoku Calculations
highestHigh = highest(high, max(tenkanSenPeriods, kijunSenPeriods))
lowestLow = lowest(low, max(tenkanSenPeriods, kijunSenPeriods))
tenkanSen = (highest(high, tenkanSenPeriods) + lowest(low, tenkanSenPeriods)) / 2
kijunSen = (highestHigh + lowestLow) / 2
senkouSpanA = ((tenkanSen + kijunSen) / 2)
senkouSpanB = (highest(high, senkouSpanBPeriods) + lowest(low, senkouSpanBPeriods)) / 2

// Plot Ichimoku
p1 = plot(tenkanSen, color=color.blue, title="Tenkan Sen")
p2 = plot(kijunSen, color=color.red, title="Kijun Sen")
p3 = plot(senkouSpanA, color=color.green, title="Senkou Span A", offset=displacement)
p4 = plot(senkouSpanB, color=color.orange, title="Senkou Span B", offset=displacement)
fill(p3, p4, color=color.gray, title="Kumo Shadow")

// Trading Logic
longCondition = crossover(hullMA, kijunSen) and close > senkouSpanA[displacement] and close > senkouSpanB[displacement]
shortCondition = crossunder(hullMA, kijunSen) and close < senkouSpanA[displacement] and close < senkouSpanB[displacement]

// Strategy Execution
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Logic - Exit if HullMA crosses KijunSen in the opposite direction
exitLongCondition = crossunder(hullMA, kijunSen)
exitShortCondition = crossover(hullMA, kijunSen)

if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")


Связанные

Больше