Стратегия пересечения схождения/расхождения трехвременной сглаженной скользящей средней


Дата создания: 2023-09-18 21:50:05 Последнее изменение: 2023-09-18 21:50:05
Копировать: 0 Количество просмотров: 1152
1
Подписаться
1617
Подписчики

Обзор

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

Принципы

Сглаженная асимметричная средняя (Heiken Ashi) отличается от обычной K-линии, ее способ расчета позволяет сгладить ценовую кривую, идентифицировать тенденции более точно.

В этой стратегии используются гладкие инородные средние показатели трех временных периодов: солнечная линия, круговая линия и лунная линия. Сигнал покупки возникает, когда три из них совпадают, то есть, когда все временные периоды являются зелеными; сигнал продажи возникает, когда три из них совпадают, то есть, когда все они являются красными.

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

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

  1. Проверка многократных временных рамок снижает количество ложных сигналов и повышает стабильность.

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

  3. Правила просты, понятны и легко применяются.

  4. Гибкий выбор комбинации временных циклов для различных сортов.

  5. Оптимизация без параметров, очень простой в использовании.

Риски и решения

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

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

  3. Не установлены остановки, риск не контролируется. Можно включить мобильную стратегию остановки

  4. Фиксированная доля прибыли и убытков, отсутствие гибкости.

  5. На основе только показателей, легко создать ложные сигналы.

Оптимизация

  1. Добавьте дополнительные временные рамки, например, 15 или 60 минут.

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

  3. Присоединяйтесь к мобильной стратегии Stop Loss, чтобы контролировать риски.

  4. Исследование включает в себя индикаторы структуры рынка, чтобы избежать колебаний.

  5. Новые условия для повторного входа, продление срока хранения.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_5",true]]
*/

//@version=4
strategy("Heiken Ashi MTF Strategy")
ha_t = heikinashi(syminfo.tickerid)

res = input('D', title="TM 1")
ha_open = security(ha_t, res, open)
ha_close = security(ha_t, res, close)
ha_dif = ha_open-ha_close
ha_diff=iff(ha_dif > 0, 1, iff(ha_dif<0, 2, 3))

res2 = input('W', title="TM 2")
ha_open2 = security(ha_t, res2, open)
ha_close2 = security(ha_t, res2, close)
ha_dif2 = ha_open2-ha_close2
ha_diff2=iff(ha_dif2 > 0, 1, iff(ha_dif2<0, 2, 3))

res3 = input('M', title="TM 3")
ha_open3 = security(ha_t, res3, open)
ha_close3 = security(ha_t, res3, close)
ha_dif3 = ha_open3-ha_close3
ha_diff3=iff(ha_dif3 > 0, 1, iff(ha_dif3<0, 2, 3))

plot(15, title="TF1", color=iff(ha_diff==1, color.red, iff(ha_diff==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(14, title="TF2", color=iff(ha_diff2==1, color.red, iff(ha_diff2==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)
plot(13, title="TF3", color=iff(ha_diff3==1, color.red, iff(ha_diff3==2, color.green, color.white)), style=plot.style_circles, linewidth=5, join=true)


short = ha_diff ==1 and ha_diff2==1 and ha_diff3 ==1
long = ha_diff ==2 and ha_diff2==2 and ha_diff3 ==2

exitlong = ha_diff ==1 or ha_diff2==1 or ha_diff3 ==1
exitshort = ha_diff ==2 or ha_diff2==2 or ha_diff3 ==2

longA = input(true)
shortA = input(false)

if(longA)
    strategy.entry("long",1,when=long)
    strategy.close("long",when=exitlong)
if(shortA)
    strategy.entry("short",0,when=short)
    strategy.close("short",when=exitshort)