Berdasarkan strategi persilangan rata-rata pergerakan cepat dan lambat


Tanggal Pembuatan: 2024-02-27 16:06:30 Akhirnya memodifikasi: 2024-02-27 16:06:30
menyalin: 1 Jumlah klik: 780
1
fokus pada
1617
Pengikut

Berdasarkan strategi persilangan rata-rata pergerakan cepat dan lambat

Ringkasan

Strategi lintas rata-rata cepat adalah strategi rata-rata bergerak sederhana. Ini menggunakan dua rata-rata bergerak, cepat dan lambat, yang berarti harga mungkin naik ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat dari bawah; dan yang berarti harga mungkin turun ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat dari atas.

Prinsip Strategi

Strategi ini menggunakan dua rata-rata bergerak, cepat dan lambat. Secara khusus, panjang rata-rata bergerak cepat adalah 25 siklus secara default, dan panjang rata-rata bergerak lambat adalah 62 siklus secara default. Strategi ini memungkinkan untuk memilih berbagai jenis rata-rata bergerak, termasuk SMA, EMA, WMA, RMA, dan VWMA.

Ketika rata-rata bergerak cepat dari atas melintasi rata-rata bergerak lambat dari bawah, menunjukkan harga jangka pendek mulai menembus harga jangka panjang, termasuk sinyal crossing emas yang khas, menunjukkan bahwa harga mungkin memasuki saluran naik, ketika strategi melakukan banyak; ketika rata-rata bergerak cepat dari atas ke bawah melintasi rata-rata bergerak lambat dari atas, menunjukkan bahwa harga jangka pendek mulai menembus harga jangka panjang, termasuk sinyal crossing mati, menunjukkan bahwa harga mungkin memasuki saluran turun, ketika strategi melangsungkan posisi.

Dengan cara ini, trend dan arah harga dapat diukur melalui persilangan garis rata-rata yang cepat dan lambat, dan dengan demikian melakukan over atau under position, sehingga menghasilkan keuntungan.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Pemikiran yang Sederhana, Mudah Dimengerti dan Dilakukan
  2. Pengaturan parameter yang fleksibel, dapat disesuaikan dengan kecepatan rata-rata dan jenis siklus
  3. Indikator yang dapat diandalkan, cepat dan rata-rata menyeberang untuk menilai tren harga secara akurat
  4. Menciptakan otomatisasi, tanpa penilaian manusia, mengurangi dampak faktor psikologis
  5. Adaptasi untuk berbagai varietas, dapat digunakan secara luas untuk varietas seperti indeks saham, forex, cryptocurrency
  6. Mudah dioptimalkan, kombinasi parameter yang dapat disesuaikan untuk mencari konfigurasi yang lebih baik
  7. Skala yang kuat, dapat digunakan dengan indikator atau kombinasi strategi lainnya

Secara keseluruhan, strategi ini memiliki kemampuan yang kuat untuk menilai tren harga di masa depan dengan menggunakan persilangan rata-rata cepat dan lambat sebagai sinyal perdagangan inti, dan berdasarkan keuntungan dari pelacakan tren, keuntungan yang baik dapat diperoleh, layak untuk diterapkan di lapangan.

Analisis risiko

Strategi ini juga memiliki beberapa potensi risiko:

  1. Sinyal persimpangan rata-rata yang lambat dapat menimbulkan kesalahan, harga hanya mengalami penyesuaian jangka pendek dan bukan pembalikan tren jangka panjang
  2. Pemilihan yang tidak tepat dari garis rata-rata panjang dan pendek dapat menyebabkan perdagangan yang sering atau kehilangan peluang
  3. Pada saat harga berfluktuasi tajam, sinyal persimpangan rata-rata mungkin tidak terlihat.
  4. Varietas dengan biaya transaksi yang tinggi, terlalu sering melakukan transaksi sinyal silang yang mengakibatkan kerugian
  5. Skalabilitas yang kuat juga membawa risiko over-optimisasi

Risiko-risiko ini dapat dikontrol dan ditingkatkan dengan:

  1. Filter dalam kombinasi dengan indikator lain untuk menghindari misreporting, seperti deviasi harga dari indikator
  2. Menyesuaikan parameter garis rata-rata untuk menemukan kombinasi optimal dan mengurangi probabilitas transaksi yang salah
  3. Berhenti melakukan strategi dalam situasi yang ekstrem, hindari fluktuasi besar
  4. Memperkecil stop loss dengan tepat untuk mengurangi kerugian yang tidak perlu
  5. Pemantauan multi-varietas, penilaian risiko, dan pencegahan overoptimisasi

Arah optimasi

Strategi yang dapat dioptimalkan meliputi:

  1. Periode pemilihan rata-rata cepat dan rata-rata lambat: parameter default saat ini mungkin tidak optimal, Anda dapat mencoba parameter periode yang berbeda untuk mencari konfigurasi optimal

  2. Pilihan jenis rata-rata bergerak: berbagai jenis rata-rata bergerak tersedia saat ini untuk menguji jenis mana yang paling efektif untuk varietas tertentu

  3. Kombinasi dengan indikator atau strategi lain: Anda dapat mencoba kombinasi dengan indikator volatilitas, indikator harga atau strategi pelacakan tren untuk meningkatkan efektivitas

  4. Optimalisasi penyesuaian parameter: memungkinkan parameter siklus rata-rata untuk menyesuaikan secara otomatis dengan volatilitas dan likuiditas pasar, meningkatkan stabilitas

  5. AI Model Assist: Menggunakan algoritma pembelajaran mesin untuk menganalisis sejumlah besar data dan secara otomatis menemukan aturan perdagangan yang optimal

Dengan cara-cara optimasi ini, diharapkan dapat meningkatkan kinerja dan stabilitas pendapatan strategi.

Meringkaskan

Secara keseluruhan, strategi persimpangan rata-rata cepat adalah strategi pelacakan tren yang sangat praktis. Strategi ini menangkap aturan perubahan harga pada skala waktu yang berbeda, dan menilai kemungkinan tren dan arah harga di masa depan dengan menerobos rata-rata cepat dan rata-rata lambat. Ide strategi sederhana dan jelas, mudah dimengerti dan diimplementasikan, parameter dapat disesuaikan dengan fleksibilitas, serta reliabilitas yang tinggi, tingkat otomatisasi yang tinggi, aplikasi yang luas, dan skalabilitas yang kuat.

Kode Sumber Strategi
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

initial_balance = 100
strategy(title='Fast v Slow Moving Averages Strategy', shorttitle = 'Fast v Slow', overlay=true, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=initial_balance)

//Input for number of bars for moving average, Switch to choose moving average type, Display Options and Time Frame of trading----------------------------------------------------------------

fastBars = input.int(25, "Fast moving average length", minval=1)
slowBars = input.int(62, "Slow moving average length", minval=1)
strategy = input.string("EMA", "MA type", options = ["EMA", "VWMA", "SMA", "RMA", "WMA"])

redOn = input.string("On", "Red Background Color On/Off", options = ["On", "Off"], group='Display')
greenOn = input.string("On", "Green Background Color On/Off", options = ["On", "Off"], group='Display')
maOn = input.string("On", "Moving Average Plot On/Off", options = ["On", "Off"], group='Display')

startMonth = input.int(title='Start Month 1-12 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=12, group='Beginning of Strategy')
startDate = input.int(title='Start Date 1-31 (set any start time to 0 for furthest date)', defval=1, minval=0, maxval=31, group='Beginning of Strategy')
startYear = input.int(title='Start Year 2000-2100 (set any start time to 0 for furthest date)', defval=2011, minval=2000, maxval=2100, group='Beginning of Strategy')

endMonth = input.int(title='End Month 1-12 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=12, group='End of Strategy')
endDate = input.int(title='End Date 1-31 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=31, group='End of Strategy')
endYear = input.int(title='End Year 2000-2100 (set any end time to 0 for today\'s date)', defval=0, minval=0, maxval=2100, group='End of Strategy')

//Strategy Calculations-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

inDateRange = true

maMomentum = switch strategy
    "EMA" => (ta.ema(close, fastBars) >= ta.ema(close, slowBars)) ? 1 : -1
    "SMA" => (ta.sma(close, fastBars) >= ta.sma(close, slowBars)) ? 1 : -1
    "RMA" => (ta.rma(close, fastBars) >= ta.rma(close, slowBars)) ? 1 : -1
    "WMA" => (ta.wma(close, fastBars) >= ta.wma(close, slowBars)) ? 1 : -1
    "VWMA" => (ta.vwma(close, fastBars) >= ta.vwma(close, slowBars)) ? 1 : -1
    =>
        runtime.error("No matching MA type found.")
        float(na)

fastMA = switch strategy
    "EMA" => ta.ema(close, fastBars)
    "SMA" => ta.sma(close, fastBars)
    "RMA" => ta.rma(close, fastBars)
    "WMA" => ta.wma(close, fastBars)
    "VWMA" => ta.vwma(close, fastBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)
        
slowMA = switch strategy
    "EMA" => ta.ema(close, slowBars)
    "SMA" => ta.sma(close, slowBars)
    "RMA" => ta.rma(close, slowBars)
    "WMA" => ta.wma(close, slowBars)
    "VWMA" => ta.vwma(close, slowBars)
    =>
        runtime.error("No matching MA type found.")
        float(na)

//Enter or Exit Positions--------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(maMomentum, 0)
    if inDateRange
        strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(maMomentum, 0)
    if inDateRange
        strategy.close('long')

//Plot Strategy Behavior---------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(series = maOn == "On" ? fastMA : na, title = "Fast Moving Average", color = color.new(color.white,0), linewidth=2, offset=1)
plot(series = maOn == "On" ? slowMA : na, title = "Slow Moving Average", color = color.new(color.purple,0), linewidth=3, offset=1)
bgcolor(color = inDateRange and (greenOn == "On") and maMomentum > 0 ? color.new(color.green,75) : inDateRange and (redOn == "On") and maMomentum <= 0 ? color.new(color.red,75) : na, offset=1)