Tiga Strategi Persilangan Purata Pergerakan


Tarikh penciptaan: 2023-11-06 09:48:33 Akhirnya diubah suai: 2023-11-06 09:48:33
Salin: 0 Bilangan klik: 661
1
fokus pada
1617
Pengikut

Tiga Strategi Persilangan Purata Pergerakan

Gambaran keseluruhan

Strategi silang tiga hala menggunakan silang rata-rata bergerak dari tempoh masa yang berbeza sebagai isyarat membeli dan menjual, termasuk strategi mengikuti trend. Strategi ini menggunakan tiga rata-rata bergerak, termasuk rata-rata bergerak jangka pendek, rata-rata bergerak jangka menengah dan rata-rata bergerak jangka panjang, berdasarkan silang mereka membentuk isyarat perdagangan.

Prinsip Strategi

Strategi ini mulakan dengan mengira purata bergerak jangka pendek (default 7 hari), purata bergerak jangka pertengahan (default 25 hari) dan purata bergerak jangka panjang (default 99 hari), dan kemudian menghasilkan isyarat dagangan mengikut peraturan berikut:

  1. Apabila purata bergerak jangka pendek melintasi purata bergerak jangka menengah, ia menghasilkan isyarat beli.

  2. Sinyal jual dihasilkan apabila rata-rata bergerak jangka pendek di bawah rata-rata bergerak jangka menengah.

  3. Apabila rata-rata bergerak jangka pendek diletakkan di atas rata-rata bergerak jangka panjang, ia menghasilkan isyarat beli cepat.

  4. Apabila purata bergerak jangka pendek di bawah purata bergerak jangka panjang, ia menghasilkan isyarat jual cepat.

Strategi ini berpendapat bahawa di atas rata-rata bergerak jangka pendek yang melintasi rata-rata bergerak jangka menengah menunjukkan trend pasaran berubah menjadi naik, dan oleh itu menghasilkan isyarat membeli; dan di bawah rata-rata bergerak jangka pendek yang melintasi rata-rata bergerak jangka menengah menunjukkan trend pasaran berubah menjadi turun, dan oleh itu menghasilkan isyarat menjual. Begitu juga, persilangan rata-rata bergerak jangka pendek dengan rata-rata bergerak jangka panjang juga menghasilkan isyarat perdagangan yang cepat untuk menangkap perubahan trend garis panjang.

Analisis kelebihan

  • Logik strategi mudah difahami dan dilaksanakan.
  • Dengan menggunakan analisis kitaran masa yang pelbagai, ia dapat menangkap perubahan trend pasaran dengan berkesan.
  • Parameter strategi boleh dioptimumkan dengan menyesuaikan kitaran purata bergerak.
  • Isyarat silang yang dapat dilihat, mencerminkan perubahan trend secara intuitif.

Analisis risiko

  • Rata-rata bergerak mempunyai ketinggalan dan mungkin terlepas titik perubahan trend.
  • Dalam pasaran yang ramai, mungkin terdapat terlalu banyak isyarat palsu di talian pendek yang menggunakan talian panjang.
  • Dalam pasaran kosong, mungkin terdapat terlalu banyak isyarat palsu di bawah garis pendek.
  • Isyarat beli dan jual pantas mungkin terlalu sensitif, meningkatkan jumlah transaksi dan bayaran.

Anda boleh mengoptimumkan dan mengurangkan isyarat palsu dengan menyesuaikan kitaran purata bergerak atau menambah syarat penapisan. Anda juga boleh mengurangkan kitaran dagangan pantas dan mengurangkan kekerapan dagangan.

Arah pengoptimuman

  • Menambah syarat penapisan, contohnya, memberi isyarat apabila lebih besar daripada jumlah dagangan atau peratusan perubahan harga.
  • Ia boleh digunakan dengan penapis indikator lain seperti MACD, KDJ dan lain-lain untuk mengelakkan perdagangan yang salah apabila tiada trend yang jelas.
  • Mengoptimumkan kombinasi kitaran purata bergerak untuk mengurangkan isyarat palsu.
  • Membezakan antara pasaran bertopeng dan kosong, mengoptimumkan parameter pembelian dan penjualan.
  • Mempertimbangkan kos urus niaga, menyesuaikan parameter untuk urus niaga cepat, mengawal kekerapan urus niaga.

ringkaskan

Strategi silang tiga garis rata secara keseluruhan lebih mudah dan langsung, menentukan arah trend melalui persilangan garis rata yang berbeza untuk menghasilkan isyarat perdagangan. Strategi ini mudah dilaksanakan, parameter disesuaikan dengan fleksibel, dan dapat menangkap perubahan trend. Tetapi ada juga masalah keterlambatan rata-rata bergerak, dan risiko terlalu banyak isyarat palsu.

Kod sumber strategi
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © dadashkadir

//@version=4
strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true)

kisa = input(title = "Kısa Vade - Gün", defval = 7,  minval = 1)
orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1)
uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1)

sma7  = sma(close, kisa)
sma25 = sma(close, orta)
sma99  = sma(close, uzun)

alTrend  = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0)
satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0)
ort99    = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0)

zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")

al  = crossover (sma7, sma25) and zamanaralik <= year
sat = crossover (sma25, sma7) and zamanaralik <= year

hizlial = crossover (sma7, sma99) and zamanaralik <= year
hizlisat = crossover (sma99, sma7) and zamanaralik <= year

alkosul  = sma7 >= sma25
satkosul = sma25 >= sma7

hizlialkosul  = sma7 >= sma99
hizlisatkosul = sma99 >= sma7

plotshape(al,  title = "Buy",  text = 'Al',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

plotshape(hizlial,  title = "Hızlı Al",  text = 'Hızlı Al',  style = shape.labelup,   location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny)

fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı")
//fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı")

if (al)
    strategy.entry("LONG", strategy.long)
if (sat)
    strategy.entry("SHORT", strategy.short)
//if (hizlial)
//    strategy.entry("My Short Entry Id", strategy.long)
//if (hizlisat)
//    strategy.entry("My Short Entry Id", strategy.short)