Стратегия перекрестного использования SMA Ichimoku

Автор:Чао Чжан, Дата: 2023-10-16 15:46:38
Тэги:

Обзор

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

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

Эта стратегия в основном оценивает покупку и продажу акций путем сравнения между линией конверсии и базовой линией в индикаторе Ichimoku и кроссоверов краткосрочных и долгосрочных скользящих средних SMA.

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

При суждении о покупке линия конверсии должна быть ниже базовой линии, а краткосрочная скользящая средняя должна быть ниже долгосрочной скользящей средней, то есть происходит золотой крест.

При суждении о продаже линия конверсии должна быть выше базовой линии, а краткосрочная скользящая средняя должна быть выше долгосрочной скользящей средней, т.е. происходит мертвый перекресток.

Кроме того, код также определяет некоторые вспомогательные условия, такие как цена закрытия выше, чем в предыдущий день, и с использованием разницы и деления скользящих средних значений для оценки наклона.

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

Эта стратегия объединяет в себе преимущества нескольких технических показателей и имеет следующие преимущества:

  1. Само облако Ichimoku содержит суждение о тренде, в сочетании с скользящими средними SMA может сформировать мощное суждение о тренде.

  2. Движущиеся средние SMA сами могут определять тенденции и импульс цен.

  3. Добавление суждения о цене закрытия позволяет избежать ненужного открытия и закрытия позиций.

  4. Расчет скользящего среднего наклона увеличивает суждение о импульсе скользящих средних перекресток и может фильтровать ложные перекрестки.

  5. В целом, эта стратегия имеет относительно точное суждение о тренде, может уменьшить ненужную торговлю и имеет некоторое пространство для оптимизации.

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

Эта стратегия также сопряжена с некоторыми рисками:

  1. И Ичимоку, и SMA могут отставать и не отражать изменения цены во времени.

  2. Сочетание нескольких условий увеличивает сложность и вероятность ошибок.

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

  4. Стратегия не устанавливает условия остановки потерь, с риском увеличения потерь.

  5. Стратегия не учитывает особые рыночные условия, такие как консолидация.

  6. Неправильные параметры также могут повлиять на эффективность стратегии.

Оптимизация

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

  1. Установите условия остановки потери, чтобы автоматически остановить потерю при увеличении потерь.

  2. Усилить оценку крупных новостных событий, чтобы избежать их влияния.

  3. Усилить суждение о особых рыночных условиях, таких как увеличение диапазона торговли или корректировка параметров.

  4. Испытывайте и оптимизируйте комбинации параметров для поиска оптимальных параметров.

  5. Внедрение алгоритмов машинного обучения для оптимизации параметров и оценки рынка.

  6. Добавьте индикаторы импульса, чтобы избежать ложных прорывов.

  7. Объедините больше фундаментальных факторов, таких как изменение объема.

Заключение

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


/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Ichimoku+SMAsmoothed", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
// 
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
SMA1=input(title="SMA LONG",defval=21)
SMA2=input(title="SMA SHORT",defval=19)
p=ohlc4[1]


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

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")

//p1 = plot(leadLine1, offset = displacement, color=green,
// title="Lead 1")
//p2 = plot(leadLine2, offset = displacement, color=red, 
// title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)

ma1=sma(p, SMA1)
ma2=sma(p, SMA2)
p_a = ma1*2
p_b = ma1
p_c = p_a - p_b
p_d = p_c/24
p_e = ma2*2
p_f = ma2
p_g = p_e - p_f
p_h = p_g/24

closelong = ohlc4<ohlc4[SMA1] and ohlc4<ohlc4[1]// and leadLine1<leadLine2 and p_h<p_d
if (closelong)
    strategy.close("Long")
closeshort = ohlc4>ohlc4[SMA1] and ohlc4>ohlc4[1]// and leadLine1>leadLine2 and p_h>p_d
if (closeshort)
    strategy.close("Short")

longCondition = ohlc4>ohlc4[1] and leadLine1>leadLine2 and p_h>p_d
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = ohlc4<ohlc4[1] and leadLine1<leadLine2 and p_h<p_d
if (shortCondition)
    strategy.entry("Short",strategy.short)

Больше