Strategi ini menghasilkan isyarat perdagangan dengan menggunakan purata bergerak berganda. Ia menghantar isyarat beli apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, dan isyarat jual apabila sebaliknya berlaku. Strategi ini menggabungkan keupayaan trend berikut purata bergerak untuk menangkap trend harga dengan berkesan dan melaksanakan perdagangan trend.
Strategi ini menggunakan dua purata bergerak eksponensial (EMA) dengan tempoh yang berbeza. EMA1 adalah MA jangka pendek dengan tempoh yang ditetapkan menjadi 9, sementara EMA2 adalah MA jangka panjang dengan tempoh yang ditetapkan menjadi 21. Strategi ini menghasilkan isyarat beli apabila EMA1 melintasi di atas EMA2, dan isyarat jual apabila melintasi di bawah.
Dengan berbuat demikian, strategi ini menggunakan keupayaan penjejakan trend purata bergerak untuk menangkap isyarat apabila harga memulakan arah trend baru. Sebagai contoh, apabila harga bangkit dari penurunan, MA jangka pendek akan meningkat lebih awal daripada MA jangka panjang. Persalinan di atas menghasilkan isyarat awal bahawa trend menaik bermula.
Kemahiran terbesar strategi ini terletak pada keupayaannya untuk mengenal pasti trend harga dengan berkesan, terutama sesuai untuk pasaran dengan kecenderungan trend yang kuat. purata bergerak sendiri mempunyai ciri-ciri trend yang hebat, dan mekanisme MA berganda lebih meningkatkannya.
Risiko terbesar adalah bahawa apabila harga turun naik secara dramatik, sifat ketinggalan MA boleh menyebabkan kehilangan titik masuk atau keluar terbaik.
Untuk mengurangkan risiko, parameter seperti tempoh MA boleh diselaraskan dengan sewajarnya, atau penapis tambahan boleh ditambah.
Ruang pengoptimuman terutamanya terletak pada aspek berikut:
Strategi ini menghasilkan isyarat dengan purata bergerak eksponen dua, dengan kekuatan dalam keupayaan pengesanan trend harga untuk mengesan pembalikan trend.
/*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)