Menggunakan Strategi Perdagangan Purata Pergerakan Ganda


Tarikh penciptaan: 2024-02-18 15:11:04 Akhirnya diubah suai: 2024-02-18 15:11:04
Salin: 0 Bilangan klik: 580
1
fokus pada
1617
Pengikut

Menggunakan Strategi Perdagangan Purata Pergerakan Ganda

Gambaran keseluruhan

Strategi ini menggunakan cara pembentukan isyarat dagangan dengan dua garis rata-rata bergerak, menghasilkan isyarat beli apabila bergerak pendek melintasi garis rata-rata bergerak jangka panjang; menghasilkan isyarat jual apabila bergerak pendek melintasi garis rata-rata bergerak jangka panjang. Strategi ini digabungkan dengan fungsi pengesanan trend garis rata-rata bergerak, dapat menangkap trend harga dengan berkesan, mewujudkan perdagangan trend.

Prinsip Strategi

Strategi ini menggunakan dua purata bergerak indeks dari dua tempoh yang berbeza ((EMA) ❚ EMA1 adalah purata bergerak jangka pendek, tempohnya ditetapkan sebagai 9; EMA2 adalah purata bergerak jangka panjang, tempohnya ditetapkan sebagai 21 ❚ Apabila purata bergerak jangka pendek melintasi EMA1 melintasi purata bergerak jangka panjang EMA2 menghasilkan isyarat beli; Apabila EMA1 melintasi EMA2 melintasi EMA2 menghasilkan isyarat jual

Dengan cara ini, anda boleh menggunakan fungsi pengesanan trend rata-rata bergerak untuk menangkap isyarat tepat pada masanya apabila harga memulakan arah trend baru, dan mengikuti trend untuk berdagang. Sebagai contoh, apabila harga beralih dari penurunan ke kenaikan, rata-rata bergerak jangka pendek akan naik sebelum rata-rata bergerak jangka panjang, dan rata-rata bergerak jangka pendek melalui rata-rata bergerak jangka panjang adalah isyarat awal harga mula naik.

Analisis kelebihan

Kelebihan terbesar strategi ini ialah dapat mengenal pasti trend harga dengan berkesan, terutama untuk pasaran yang mempunyai kecenderungan yang kuat. Garis purata bergerak sendiri mempunyai ciri trend yang baik, strategi Garis purata bergerak ganda meningkatkan kelebihan ini. Selain itu, berbanding dengan strategi Garis purata bergerak tunggal, strategi Garis purata bergerak ganda dapat menyaring lebih jauh isyarat palsu, dan kebolehpercayaan isyarat lebih tinggi.

Analisis risiko

Risiko terbesar strategi ini adalah bahawa apabila harga bergelombang dengan kuat, garis purata bergerak akan mengalami keterlambatan, dan kemungkinan kehilangan peluang masuk atau keluar yang terbaik. Selain itu, strategi ini akan menghasilkan lebih banyak isyarat yang tidak berkesan dan mengurangkan kestabilan strategi ketika pasaran berada di kawasan yang bergolak.

Untuk mengurangkan risiko, anda boleh menyesuaikan parameter kitaran rata-rata bergerak dengan betul, atau menambah indikator lain untuk memfilterkan gelombang. Sebagai contoh, menetapkan nilai rendah dalam kombinasi dengan indikator kadar turun naik pasaran, untuk mengelakkan perdagangan ketika pasaran bergolak secara besar-besaran.

Arah pengoptimuman

Strategi ini mempunyai ruang untuk pengoptimuman, terutamanya dalam aspek-aspek berikut:

  1. Optimumkan parameter kitaran purata bergerak untuk mencari kombinasi parameter yang optimum
  2. Menambah petunjuk lain yang dikombinasikan untuk operasi penyaringan, meningkatkan kebolehpercayaan isyarat
  3. Tetapkan parameter yang sesuai untuk pelbagai jenis dan keadaan pasaran
  4. Indeks kuantiti gabungan dan lain-lain untuk menentukan titik masuk tertentu
  5. Optimumkan mekanisme penangguhan

ringkaskan

Strategi ini menggunakan kaedah pembentukan isyarat perdagangan garisan purata bergerak dua indeks. Kelebihan terbesarnya adalah kemampuan untuk mengesan trend harga yang kuat, yang dapat mengenal pasti perubahan trend harga dengan berkesan. Tetapi ada juga masalah seperti kelewatan garisan purata bergerak. Langkah seterusnya dapat dioptimumkan dari segi meningkatkan kualiti isyarat, menentukan masa masuk tertentu dan menghentikan kerugian.

Kod sumber strategi
/*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)