
Strategi ini menggunakan dua garis rata-rata bergerak untuk membentuk sinyal perdagangan, menghasilkan sinyal beli ketika garis rata-rata bergerak jangka pendek melintasi garis rata-rata bergerak jangka panjang; menghasilkan sinyal jual ketika garis rata-rata bergerak jangka pendek melintasi garis rata-rata bergerak jangka panjang. Strategi ini dikombinasikan dengan fitur pelacakan tren dari garis rata-rata bergerak, dapat secara efektif menangkap tren harga, untuk mencapai perdagangan tren.
Strategi ini menggunakan dua periode yang berbeda dari indeks moving averages ((EMA) ≫ EMA1 adalah jangka pendek moving averages, periode yang ditetapkan adalah 9; EMA2 adalah jangka panjang moving averages, periode yang ditetapkan adalah 21 ≫ Ketika jangka pendek moving averages melewati EMA1 di atas jangka panjang moving averages EMA2, menghasilkan sinyal beli; Ketika EMA1 melewati EMA2 di bawahnya, menghasilkan sinyal jual ≫
Dengan cara ini, Anda dapat memanfaatkan fitur pelacakan tren dari moving averages untuk menangkap sinyal tepat waktu ketika harga memulai arah tren baru, dan mengikuti tren untuk melakukan perdagangan. Misalnya, ketika harga beralih dari penurunan ke kenaikan, moving averages jangka pendek akan naik sebelum moving averages jangka panjang, dan moving averages jangka pendek yang melintasi moving averages jangka panjang adalah sinyal awal harga mulai naik.
Keuntungan terbesar dari strategi ini adalah kemampuan untuk mengidentifikasi tren harga secara efektif, terutama untuk pasar yang cenderung kuat. Garis rata-rata bergerak sendiri memiliki fungsi pelacakan tren yang baik, dan strategi garis rata-rata bergerak ganda meningkatkan keuntungan ini. Selain itu, dibandingkan dengan strategi garis rata-rata bergerak tunggal, strategi garis rata-rata bergerak ganda dapat menyaring sinyal palsu lebih lanjut, dan sinyalnya lebih dapat diandalkan.
Risiko terbesar dari strategi ini adalah bahwa ketika harga mengalami fluktuasi besar, moving averages akan mengalami lag, dan kemungkinan kehilangan waktu masuk atau keluar yang optimal. Selain itu, ketika pasar berada di zona getaran, strategi ini akan menghasilkan lebih banyak sinyal yang tidak efektif dan mengurangi stabilitas strategi.
Untuk mengurangi risiko, Anda dapat menyesuaikan parameter siklus rata-rata bergerak atau menambahkan indikator lain untuk memfilter. Misalnya, dengan mengkombinasikan indikator volatilitas pasar, Anda dapat mengatur threshold untuk menghindari perdagangan saat pasar bergejolak.
Strategi ini memiliki ruang untuk pengoptimalan dalam beberapa hal:
Strategi ini menggunakan metode biner bergerak rata-rata untuk membentuk sinyal perdagangan, keuntungan terbesar adalah kemampuan untuk melacak tren harga yang kuat, dapat secara efektif mengidentifikasi perubahan tren harga. Namun, ada juga masalah seperti keterlambatan bergerak rata-rata. Langkah selanjutnya dapat dioptimalkan dari meningkatkan kualitas sinyal, menentukan waktu masuk tertentu dan menghentikan kerugian.
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © technicalTruff99446
//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ
emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)
//input DEĞİŞKEN DEĞER ATAMA
ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)
//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title İSİM VERME
//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder KESİŞİM KODU
//Barları BOYAMA
barbuy = ema1 >= ema2
barsell = ema2 < ema1
//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)
fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")
//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU
if (buy)
strategy.entry("AL AŞK", strategy.long)
if (sell)
strategy.entry("SAT AŞK", strategy.short)