В основе этой стратегии лежит реализация торговли прорывом с использованием адаптивных скользящих средних и индикаторов импульса. Во-первых, стратегия строит адаптивные скользящие средние с взвешенной средней ценой Хайкена Аши и тройным экспоненциальным сглаживанием; затем в сочетании с индикаторами импульса она оценивает сигналы прорыва и принимает торговые решения.
Стратегия состоит из трех основных частей:
Строительство адаптивных скользящих средних. Стратегия строит три адаптивных скользящих средних с использованием цены Хайкена Аши и тройного экспоненциального сглаживания. Эти скользящие средние могут быстро реагировать на изменения цен.
Расчет индикаторов импульса. Стратегия использует разницу между тройным экспоненциальным сглаживанием цен в качестве индикатора импульса. Этот индикатор может выделить изменения в ценовых тенденциях.
Пересечение скользящей средней в качестве торговых сигналов. Когда быстрая скользящая средняя пересекает медленную, генерируется сигнал покупки. Когда быстрая пересекается ниже медленной, генерируется сигнал продажи.
Комбинируя адаптивные скользящие средние и индикаторы импульса, эта стратегия может быстро улавливать изменения тренда в ценах и генерировать торговые сигналы.
Эта стратегия объединяет адаптивные скользящие средние и индикаторы импульса для генерации эффективных торговых сигналов путем быстрого реагирования на изменения цен.
/*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)