Strategi Perdagangan Palang Emas Purata Pergerakan Berganda dan Palang Mati


Tarikh penciptaan: 2023-10-07 16:39:01 Akhirnya diubah suai: 2023-10-07 16:39:01
Salin: 0 Bilangan klik: 678
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan dua purata bergerak untuk menentukan trend, untuk memberi isyarat membeli dan menjual. Apabila purata bergerak cepat melintasi rata-rata bergerak perlahan dari bawah, menghasilkan garpu emas, dan isyarat membeli muncul. Apabila bergerak cepat melintasi rata-rata bergerak perlahan dari atas ke bawah, menghasilkan garpu mati, dan isyarat menjual muncul.

Prinsip Strategi

Strategi ini terdiri daripada beberapa bahagian:

  1. Nilai pengayun dalam bentuk peratusan harga. Nilai pengayun adalah peratusan harga tolak satu nilai tengah. Nilai tengah dikira dengan nilai purata harga tertinggi dan terendah, misalnya, 20 hari.

  2. Hitung purata bergerak nilai pendayung, seperti purata bergerak 20 hari hull.

  3. Hitung nilai kelewatan purata bergerak, seperti kelewatan 12 hari.

  4. Untuk menentukan sama ada purata bergerak naik atau turun, penundaan rata-rata bergerak, tanda garpu emas atau garpu mati muncul.

  5. Menerbitkan isyarat beli dan jual.

Khususnya, strategi pertama mengira nilai pendorong harga, kemudian mengira purata bergerak pendorong, dan kemudian mengira nilai kelewatan purata bergerak tersebut.

Apabila penggerakkan bergerak di atas rata-rata bergerak berpanjangan, ia menghasilkan isyarat garpu emas, melakukan lebih banyak; apabila penggerakkan bergerak di bawah rata-rata bergerak berpanjangan, ia menghasilkan isyarat garpu mati, melakukan kosong.

Dengan cara ini, arah perdagangan ditentukan dengan menilai persilangan purata bergerak berganda.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Penggunaan purata bergerak berganda untuk menapis isyarat palsu dan meningkatkan kebolehpercayaan isyarat.

  2. Menggunakan gabungan garis rata-rata cepat dan perlahan untuk menangkap trend pertengahan. Garis rata-rata cepat sensitif terhadap perubahan harga, garis rata-rata perlahan mempunyai keterlambatan, penggunaan gabungan dapat menangkap pembalikan trend pertengahan sambil memadamkan bunyi jangka pendek.

  3. Penggunaan pendayung dapat menonjolkan titik terobosan dan menghasilkan isyarat dagangan yang lebih jelas.

  4. Algoritma dan parameter purata bergerak yang boleh disesuaikan untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.

  5. Strategi logiknya mudah difahami, mudah difahami dan dilaksanakan, sesuai untuk pelajar pemula.

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. Persaingan purata bergerak berganda menghasilkan kelewatan isyarat dan mungkin kehilangan tempat masuk yang terbaik.

  2. Rata-rata Bergerak Ganda mudah menyebabkan isyarat yang salah dalam pasaran.

  3. Tidak dapat menentukan apakah trend itu kuat atau lemah, dan mungkin akan meninggalkan pasaran lembu lebih awal daripada jangkaan.

  4. PARAMETERS terlalu banyak parameter yang boleh disesuaikan, tidak mudah untuk mengoptimumkan untuk mencari kombinasi parameter terbaik.

  5. Tidak ada mekanisme hentikan kerugian, tidak boleh mengawal kerugian tunggal.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan jenis dan parameter purata bergerak untuk menguji kestabilan gabungan yang berbeza dalam pasaran yang berbeza.

  2. Tambah indikator trend seperti ADX untuk mengelakkan perdagangan yang tidak perlu kerana isyarat yang salah.

  3. Tambah strategi hentian kerugian, seperti hentian bergerak atau peratusan hentian, untuk mengawal kerugian tunggal.

  4. Gabungan dengan penunjuk lain, seperti tenaga jumlah perdagangan, RSI, dan lain-lain, meningkatkan kualiti isyarat perdagangan.

  5. Menggunakan kaedah pembelajaran mesin untuk mengoptimumkan parameter secara automatik untuk mendapatkan tetapan parameter yang lebih stabil.

  6. Pertimbangkan untuk melonggarkan syarat kemasukan dengan sewajarnya untuk mengurangkan kemungkinan kehilangan tiket.

ringkaskan

Strategi moving average ganda ini menggunakan kombinasi yang sepadan dengan laju dan laju rata-rata untuk menangkap titik-titik perubahan dalam trend harga pertengahan sambil membasmi kebisingan pasaran jangka pendek, untuk menghasilkan isyarat perdagangan. Kelebihan strategi ini adalah mudah dilaksanakan, mudah difahami, ramah bagi pemula. Tetapi terdapat juga kelemahan seperti menghasilkan isyarat yang salah dan tidak dapat menilai kekuatan trend.

Kod sumber strategi
/*backtest
start: 2023-09-06 00:00:00
end: 2023-10-06 00:00:00
period: 4h
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/
// © EvoCrypto

//@version=4
strategy("Distance Oscillator Strategy- evo", shorttitle="Distance Oscillator Strategy")

// INPUTS {
na_1                =   input(false,    title="────────────{ Oscillator }──────────────")

// Osc_Src             =   input(close,    title="Oscillator Source                                ")

Example_Length      =   input(20,       title="Example Length", minval=1)
Osc_Src             =   (highest(Example_Length) + lowest(Example_Length)) / 2

// Strategy can not let you choose a Moving Average to connect with like the study version, so I use the MA above as example

Osc_Format          =   input("Percent",title="Oscillator Format",              options=["Percent", "Currency"]) 

na_2                =   input(false,    title="─────────────{ Average }──────────────")
Average_Type        =   input("Hull",   title="Average Type",                   options=["Hull", "Sma", "Ema", "Wma"])
Length              =   input(50,       title="Average Length", minval=1)
Lagg                =   input(12,       title="Average Lagg",   minval=1)
Display_MA          =   input(true,     title="Display Average")
// }

// SETTINGS {
Osc_Sum             =   
 Osc_Format == "Percent"  ? (close - Osc_Src) / close * 100 :
 Osc_Format == "Currency" ? (close - Osc_Src)               : na

Osc_MA              =   Display_MA == false ? na:
 Average_Type == "Hull"? hma(Osc_Sum, Length)   :
 Average_Type == "Sma" ? sma(Osc_Sum, Length)   :
 Average_Type == "Ema" ? ema(Osc_Sum, Length)   :
 Average_Type == "Wma" ? wma(Osc_Sum, Length)   : na
Osc_MA_1            =   Osc_MA[Lagg]

Cross_Up            =   crossover( Osc_MA, Osc_MA_1)
Cross_Down          =   crossunder(Osc_MA, Osc_MA_1)

Osc_Color           =   Osc_Sum > 0         ? color.new(#bbdefb, 70)  : Osc_Sum < 0          ? color.new(#000000, 70)  : na
Average_Color       =   Osc_MA  > Osc_MA_1  ? color.new(#311b92, 100) : Osc_MA  < Osc_MA_1   ? color.new(#b71c1c, 100) : na
// }

// PLOT {
plot(Osc_Sum,                           title="Oscillator", color=Osc_Color, style=plot.style_histogram, linewidth=2)

Plot_0              =   plot(Osc_MA,    title="Osc Average",color=#b71c1c, linewidth=2)
Plot_1              =   plot(Osc_MA_1,  title="Osc Average",color=#311b92, linewidth=2)
fill(Plot_0, Plot_1,                    title="Average",    color=Average_Color)

plotshape(Cross_Up   ? Osc_MA_1 : na,   title="Cross Up",   color=#bbdefb, location=location.absolute, size=size.tiny, style=shape.circle)
plotshape(Cross_Down ? Osc_MA_1 : na,   title="Cross Down", color=#000000, location=location.absolute, size=size.tiny, style=shape.circle)
// }

// STRATEGY {
if (Cross_Up)
    strategy.entry("Long", strategy.long)
if (Cross_Down)
    strategy.entry("Short", strategy.short)
// }