Strategi ini disebut dengan strategi perdagangan kuantitatif berdasarkan SMA, EMA, dan ide utamanya adalah menggabungkan parameter yang berbeda dari rata-rata SMA dan rata-rata EMA untuk membangun sinyal perdagangan.
Perhitungan harga close pada SMA9, SMA50, SMA180 dan EMA20
Berdasarkan hubungan harga penutupan dekat dengan titik support sup dan titik resistance res, menentukan sinyal beli dan sinyal jual. Ketika dekat menerobos sup menghasilkan sinyal beli BuySignal, ketika dekat menembus res menghasilkan sinyal jual SellSignal
Melakukan strategi membuka posisi multipel saat membeli pemicu sinyal; meratakan posisi multipel saat menjual pemicu sinyal.
Saat menjual sinyal trigger, lakukan strategi buka posisi kosong; saat membeli sinyal trigger, hapus posisi kosong.
Kombinasi dari beberapa garis rata-rata untuk membentuk sinyal perdagangan, meningkatkan akurasi dan stabilitas sinyal.
Perhitungan resistansi dukungan yang dinamis, membuat sinyal perdagangan lebih kuat.
Garis rata-rata berfluktuasi tinggi dan rendah digunakan, yang berfokus pada penilaian tren jangka panjang dan mempertimbangkan terobosan jangka pendek untuk meningkatkan peluang strategi untuk mendapatkan tingkat keuntungan.
Dukungan untuk melakukan lebih banyak perdagangan dua arah dalam kondisi tren dan goncangan.
SMA rata-rata memiliki keterlambatan, yang dapat menyebabkan sinyal beli dan jual tertunda, sehingga mempengaruhi efektivitas strategi.
Jika tidak ada mekanisme stop loss, maka kerugian yang didapatkan bisa bertambah.
Data retrospektif tidak memadai, parameter dalam hard disk perlu disesuaikan dengan pasar.
Ini adalah indikator teknis yang digunakan untuk membentuk sinyal perdagangan, yang tidak dapat menanggapi dampak dari peristiwa Black Swan yang signifikan.
Solusi untuk menghadapi risiko:
Meningkatkan mekanisme stop loss berdasarkan volatilitas untuk mengendalikan kerugian tunggal.
Menambahkan model pembelajaran mesin untuk menilai tren pasar, membantu membentuk sinyal perdagangan.
Menambahkan modul analisis titik harga kunci untuk meningkatkan akurasi penilaian dukungan resistensi.
Uji kombinasi parameter indikator rata-rata yang berbeda untuk mencari parameter yang lebih baik.
Strategi ini menggunakan indikator teknis SMA rata-rata dan EMA rata-rata untuk membangun sinyal perdagangan, dan juga menghitung resistance level dukungan yang dinamis, membentuk logika strategi jual beli yang lebih lengkap. Strategi logis memiliki parameter indikator yang fleksibel, perdagangan dua arah, dan beradaptasi dengan berbagai situasi, tetapi juga menghadapi masalah seperti keterlambatan rata-rata, stop loss yang tidak sempurna.
]
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-11 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//SMA and EMA code
smaInput1 = input(9, title="SMA1")
smaInput2 = input(50, title="SMA2")
smaInput3 = input(180, title="SMA3")
emaInput1 = input(20, title="EMA1")
sma1 = sma(close, smaInput1)
sma2 = sma(close, smaInput2)
sma3 = sma(close, smaInput3)
EMA1 = ema(close, emaInput1)
plot(sma1, color= color.red , title="SMA1")
plot(sma2, color = color.blue, title="SMA2")
plot(sma3, color= color.white, title="SMA3")
plot(EMA1, color = color.yellow, title="EMA1")
no=input(3,title="BUY/SELL Swing")
Barcolor=input(false,title="BUY/SELL Bar Color")
Bgcolor=input(false,title="BUY/SELL Background Color")
res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)
// Buy/sell signals
BuySignal = crossover(close, tsl)
SellSignal = crossunder(close, tsl)
// Enter long position
strategy.entry("Buy", strategy.long, when=BuySignal)
// Exit long position
strategy.exit("Sell", "Buy", when=SellSignal)
// Enter short position
strategy.entry("Sell", strategy.short, when=SellSignal)
// Exit short position
strategy.exit("Buy", "Sell", when=BuySignal)
colr = close>=tsl ? color.green : close<=tsl ? color.red : na
plot(tsl, color=colr)