Strategi ini menggabungkan beberapa EMA dengan pengaturan parameter yang berbeda dan indikator volume EOM untuk menentukan tren di beberapa kerangka waktu dan membangun strategi perdagangan dengan penilaian jangka panjang dan jangka pendek.
Strategi ini menggunakan 4 kelompok EMA dengan parameter periode yang berbeda - 13, 21, 50 dan 180.
Strategi ini menggunakan indikator volume EOM untuk mengkonfirmasi tren. EOM menggabungkan volume perdagangan dan rentang volatilitas harga untuk secara efektif mengukur tekanan pembelian dan penjualan. Strategi menentukan kondisi panjang ketika EOM berada di atas 0 dan kondisi pendek ketika EOM berada di bawah 0.
Strategi ini memiliki dua pilihan. Opsi 1 pergi panjang ketika EMA yang lebih pendek melintasi di atas EMA yang lebih panjang dan menutup panjang ketika EMA yang lebih pendek melintasi di bawah EMA yang lebih panjang. Opsi 2 pergi panjang ketika EMA yang lebih pendek melintasi di atas EMA menengah dan menutup panjang ketika EMA yang lebih pendek melintasi di bawah EMA menengah. Kedua opsi memungkinkan konfirmasi tren yang lebih komprehensif.
Strategi ini mengintegrasikan penentuan tren EMA multi-timeframe dan penyaringan indikator volume untuk mencapai trend berikut dan penghapusan kebisingan. Masih ada ruang besar untuk optimasi dengan menguji kombinasi parameter yang berbeda dan menambahkan lebih banyak indikator untuk meningkatkan ketahanan. Sementara itu, stop loss dinamis dan ukuran posisi juga dapat secara signifikan mengoptimalkan kinerja.
/*backtest start: 2022-10-02 00:00:00 end: 2023-10-08 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SoftKill21 //@version=4 strategy("4x ema + volume", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 ) //ema x 4 ema1l=input(13) ema2l=input(21) ema3l=input(50) ema4l=input(180) ema1=ema(close,ema1l) ema2=ema(close,ema2l) ema3=ema(close,ema3l) ema4=ema(close,ema4l) long1 = close > ema1 and ema1 > ema2 and ema2> ema3 and ema3 > ema4 long2 = crossover(ema1,ema2) and crossover(ema1,ema3) short1 = close < ema1 and ema1 < ema2 and ema2< ema3 and ema3 < ema4 short2= crossunder(ema1,ema2) and crossunder(ema1,ema3) //eom length = input(14, minval=1) div = input(10000, title="Divisor", minval=1) eom = sma(div * change(hl2) * (high - low) / volume, length) option1=input(true) option2=input(false) if(option1) strategy.entry("long",1,when=long1 and eom>0) strategy.close("long",when=short1 and eom<0) if(option2) strategy.entry("long",1,when=long2 and eom>0) strategy.close("long",when=short2 and eom<0)