Berdasarkan strategi persilangan purata bergerak pantas dan perlahan


Tarikh penciptaan: 2024-02-27 16:06:30 Akhirnya diubah suai: 2024-02-27 16:06:30
Salin: 1 Bilangan klik: 780
1
fokus pada
1617
Pengikut

Berdasarkan strategi persilangan purata bergerak pantas dan perlahan

Gambaran keseluruhan

Strategi persilangan rata-rata laju adalah strategi rata-rata bergerak yang mudah. Ia menggunakan dua rata-rata bergerak, cepat dan perlahan, yang menunjukkan harga mungkin naik apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari bawah; dan rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari atas ke bawah, yang menunjukkan harga mungkin turun.

Prinsip Strategi

Strategi ini menggunakan dua rata-rata bergerak, cepat dan perlahan. Secara khusus, panjang rata-rata bergerak cepat adalah 25 kitaran secara default, dan panjang rata-rata bergerak perlahan adalah 62 kitaran secara default. Strategi ini membolehkan anda memilih pelbagai jenis rata-rata bergerak, termasuk SMA, EMA, WMA, RMA, dan VWMA.

Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari bawah, menunjukkan harga jangka pendek mula menembusi harga jangka panjang, merupakan isyarat silang emas yang tipikal, menunjukkan harga mungkin memasuki saluran naik, ketika ini strategi melakukan banyak; apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan dari atas ke bawah, menunjukkan harga jangka pendek mula menembusi harga jangka panjang, adalah isyarat silang mati, menunjukkan harga mungkin memasuki saluran turun, ketika ini strategi melonggarkan.

Dengan cara ini, trend dan arah harga dapat ditentukan melalui persimpangan garis rata-rata yang cepat dan perlahan, dan dengan itu, anda boleh mengambil posisi yang lebih tinggi atau lebih rendah, dan dengan itu anda boleh memperoleh keuntungan.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Pemikiran yang mudah, mudah difahami dan boleh dilaksanakan
  2. Tetapan parameter fleksibel, boleh disesuaikan dengan jangka dan jenis garis rata-rata
  3. Indikator yang boleh dipercayai, laju dan purata untuk menilai trend harga
  4. Mencapai automasi, tanpa penilaian manusia, mengurangkan kesan faktor psikologi
  5. Sesuai untuk pelbagai jenis, boleh digunakan secara meluas dalam jenis seperti indeks saham, mata wang asing, mata wang kripto
  6. Mudah dioptimumkan, anda boleh menyesuaikan set parameter untuk mencari konfigurasi yang lebih baik
  7. Berskala tinggi, boleh digunakan bersama-sama dengan petunjuk atau strategi lain

Secara keseluruhannya, strategi ini menggunakan persimpangan rata-rata yang perlahan sebagai isyarat perdagangan teras, dan mempunyai keupayaan yang kuat untuk menilai trend harga masa depan, dan berdasarkan kelebihan trend, ia boleh menghasilkan keuntungan yang baik, yang layak untuk digunakan dalam pertempuran.

Analisis risiko

Strategi ini juga mempunyai risiko yang berpotensi:

  1. Isyarat persilangan garis rata-rata yang perlahan mungkin berlaku, harga hanya mengalami penyesuaian jangka pendek dan bukan pembalikan trend jangka panjang
  2. Pemilihan yang tidak tepat untuk garis rata-rata panjang dan pendek boleh menyebabkan perdagangan yang kerap atau kehilangan peluang.
  3. Isyarat persilangan garis rata-rata mungkin tidak jelas apabila harga bergelombang
  4. Varieti dengan kos dagangan yang tinggi, terlalu kerap berdagang dengan isyarat silang dan kehilangan keuntungan
  5. Skala yang lebih tinggi juga membawa risiko pengoptimuman berlebihan

Risiko ini boleh dikawal dan diperbaiki dengan:

  1. Penapisan dalam kombinasi dengan petunjuk lain untuk mengelakkan salah maklumat, seperti harga yang tidak sesuai dengan petunjuk
  2. Menyesuaikan parameter garis rata-rata untuk mencari kombinasi terbaik dan mengurangkan kemungkinan perdagangan yang salah
  3. Menunda strategi dalam keadaan yang teruk dan mengelakkan turun naik besar
  4. Melepaskan Margin Stop Loss yang Sesuai untuk Mengurangkan Kerosakan yang Tidak Perlu
  5. Ujian semula pelbagai varieti, menilai risiko, dan mengelakkan pengoptimuman berlebihan

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Pengambilan kitaran untuk garis rata-rata cepat dan garis rata-rata lambat: parameter lalai semasa mungkin tidak optimum, anda boleh mencuba parameter kitaran yang berbeza untuk mencari konfigurasi terbaik

  2. Pilihan jenis purata bergerak: Pelbagai jenis purata bergerak tersedia untuk menguji jenis mana yang paling berkesan untuk varieti tertentu

  3. Gabungan dengan petunjuk atau strategi lain: boleh cuba dengan indikator kadar turun naik, indikator harga atau strategi trend untuk meningkatkan keberkesanan

  4. Optimasi penyesuaian parameter: membolehkan parameter kitaran purata disesuaikan secara automatik dengan turun naik pasaran dan kecairan, meningkatkan kestabilan

  5. Pembantu model AI: Menggunakan algoritma pembelajaran mesin untuk menganalisis banyak data dan secara automatik mencari peraturan perdagangan yang optimum

Melalui kaedah pengoptimuman ini, prestasi pendapatan dan kestabilan strategi dijangka akan meningkat.

ringkaskan

Strategi persilangan garis rata-rata yang cepat dan perlahan secara keseluruhan adalah strategi pengesanan trend yang sangat praktikal. Ia memahami peraturan perubahan harga pada skala masa yang berbeza. Dengan melangkaui garis rata-rata yang cepat dan perlahan, ia menilai kemungkinan trend dan arah harga di masa depan.

Kod 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)