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