Адаптивная система пересечения скользящих средних Momentum Breakout


Дата создания: 2024-02-20 15:43:46 Последнее изменение: 2024-02-20 15:43:46
Копировать: 1 Количество просмотров: 598
1
Подписаться
1617
Подписчики

Адаптивная система пересечения скользящих средних Momentum Breakout

Обзор

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

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

Стратегия состоит из трех основных частей:

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

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

  3. Скрещивание равновесной линии служит в качестве торгового сигнала. При пересечении медленной средней линии на быстрой равновесной линии генерируется сигнал покупки; при пересечении медленной средней линии под быстрой средней линии генерируется сигнал продажи.

Третье: стратегические преимущества.

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

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

Риски и противодействие

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

Пятое: оптимизировать мысли.

  1. Можно тестировать больше типов скользящих средних, чтобы найти лучшие параметры.
  2. Дополнительные условия фильтрации могут быть добавлены, чтобы избежать ошибочных сигналов. Например, фильтр для увеличения объема транзакций.
  3. Можно оптимизировать параметры, чтобы адаптироваться к различным рынкам.

6. Заключение

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

Исходный код стратегии
/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("YASIN Crossover Strategy", overlay=true)

EMAlength = input(55, 'EMA LENGTH?')

src = ohlc4
var float haOpen = na
haOpen := na(haOpen[1]) ? src : (src + haOpen[1]) / 2
haC = (ohlc4 + haOpen + ta.highest(high, 1) + ta.lowest(low, 1)) / 4
EMA1 = ta.ema(haC, EMAlength)
EMA2 = ta.ema(EMA1, EMAlength)
EMA3 = ta.ema(EMA2, EMAlength)
TMA1 = 3 * EMA1 - 3 * EMA2 + EMA3
EMA4 = ta.ema(TMA1, EMAlength)
EMA5 = ta.ema(EMA4, EMAlength)
EMA6 = ta.ema(EMA5, EMAlength)
TMA2 = 3 * EMA4 - 3 * EMA5 + EMA6
IPEK = TMA1 - TMA2
YASIN = TMA1 + IPEK
EMA7 = ta.ema(hlc3, EMAlength)
EMA8 = ta.ema(EMA7, EMAlength)
EMA9 = ta.ema(EMA8, EMAlength)
TMA3 = 3 * EMA7 - 3 * EMA8 + EMA9
EMA10 = ta.ema(TMA3, EMAlength)
EMA11 = ta.ema(EMA10, EMAlength)
EMA12 = ta.ema(EMA11, EMAlength)
TMA4 = 3 * EMA10 - 3 * EMA11 + EMA12
IPEK1 = TMA3 - TMA4
YASIN1 = TMA3 + IPEK1
t1 = time(timeframe.period, "0020-0030")


// بررسی شرایط سیگنال خرید و فروش
buyCondition = YASIN1 > YASIN and YASIN1[1] <= YASIN[1]
sellCondition = YASIN1 < YASIN and YASIN1[1] >= YASIN[1]

// اعمال سیگنال خرید و فروش
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)