Strategi ini menggabungkan beberapa EMA dengan tetapan parameter yang berbeza dan penunjuk jumlah EOM untuk menentukan trend di pelbagai bingkai masa dan membina strategi perdagangan dengan penilaian jangka panjang dan jangka pendek.
Strategi ini menggunakan 4 kumpulan EMA dengan parameter tempoh yang berbeza - 13, 21, 50 dan 180.
Strategi ini menggunakan penunjuk jumlah EOM untuk mengesahkan trend. EOM menggabungkan jumlah dagangan dan julat turun naik harga untuk mengukur tekanan membeli dan menjual dengan berkesan. Strategi menentukan syarat panjang apabila EOM di atas 0 dan syarat pendek apabila EOM di bawah 0.
Strategi ini mempunyai dua pilihan. Pilihan 1 pergi lama apabila EMA yang lebih pendek melintasi di atas EMA yang lebih lama dan menutup lama apabila EMA yang lebih pendek melintasi di bawah EMA yang lebih lama. Pilihan 2 pergi lama apabila EMA yang lebih pendek melintasi di atas EMA pertengahan dan menutup lama apabila EMA yang lebih pendek melintasi di bawah EMA pertengahan. Kedua-dua pilihan membolehkan pengesahan trend yang lebih komprehensif.
Strategi ini mengintegrasikan penentuan trend EMA pelbagai jangka masa dan penapisan penunjuk jumlah untuk mencapai trend berikut dan penghapusan bunyi bising. Masih ada ruang yang besar untuk pengoptimuman dengan menguji kombinasi parameter yang berbeza dan menambah lebih banyak penunjuk untuk meningkatkan ketahanan. Sementara itu, kehilangan berhenti dinamik dan ukuran kedudukan juga dapat mengoptimumkan prestasi dengan ketara.
/*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)