Inti strategi ini adalah untuk melaksanakan perdagangan pecah dengan menggunakan purata bergerak adaptif dan penunjuk momentum. Pertama, strategi membina purata bergerak adaptif dengan harga purata tertimbang Heiken Ashi dan kelancaran eksponensial tiga kali ganda; kemudian, digabungkan dengan penunjuk momentum, ia menilai isyarat pecah dan membuat keputusan perdagangan.
Strategi ini terdiri daripada tiga bahagian utama:
Pembinaan purata bergerak adaptif. Strategi ini membina tiga purata bergerak adaptif menggunakan harga Heiken Ashi dan kelancaran eksponensial tiga kali ganda. Purata bergerak ini dapat bertindak balas dengan cepat terhadap perubahan harga.
Pengiraan penunjuk momentum. Strategi ini menggunakan perbezaan antara penyelarasan eksponen tiga kali ganda harga sebagai penunjuk momentum. Penunjuk ini boleh menyerlahkan perubahan dalam trend harga.
Apabila purata bergerak pantas melintasi yang perlahan, isyarat beli dihasilkan. Apabila purata bergerak pantas melintasi di bawah yang perlahan, isyarat jual dihasilkan.
Dengan menggabungkan purata bergerak adaptif dan penunjuk momentum, strategi ini dapat dengan cepat menangkap perubahan trend harga dan menjana isyarat perdagangan.
Strategi ini mengintegrasikan purata bergerak adaptif dan penunjuk momentum untuk menjana isyarat perdagangan yang cekap dengan cepat bertindak balas terhadap perubahan harga.
/*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)