Strategi Persilangan Purata Pergerakan Klasik


Tarikh penciptaan: 2023-11-07 15:48:41 Akhirnya diubah suai: 2023-11-07 15:48:41
Salin: 0 Bilangan klik: 720
1
fokus pada
1617
Pengikut

Strategi Persilangan Purata Pergerakan Klasik

Gambaran keseluruhan

Strategi persilangan purata bergerak adalah strategi analisis teknikal yang sangat klasik. Ia menilai trend pasaran dengan mengira purata bergerak dari pelbagai kitaran dan melihat persimpangan mereka untuk mencapai tujuan membeli dan menjual.

Prinsip

Strategi ini adalah untuk mengira 10 hari sederhana bergerak rata-rata SMA dan 10 hari bergerak rata-rata segitiga TRIMA. Apabila SMA di atas menembusi TRIMA menghasilkan isyarat beli, menunjukkan bahawa pasaran berubah dari turun ke atas, dan boleh dibeli. Apabila SMA di bawah menembusi TRIMA menghasilkan isyarat jual, menunjukkan bahawa pasaran berubah dari naik ke turun, dan boleh dijual.

Khususnya, strategi mula memasukkan harga penutupan dan menentukan panjang kitaran untuk mengira SMA dan TRIMA. Formula untuk mengira SMA adalah:

SMA = (P1 + P2 + … + Pn) / n

Di mana Pn adalah harga penutupan n hari yang lalu.

Rumus TRIMA ialah:

TRIMA = (SMA1 + SMA2 + SMA3) / 3

SMA1, SMA2, dan SMA3 adalah harga penutupan n hari lalu.

Dengan cara ini, TRIMA setara dengan SMA sekali lagi, dengan kesan yang lebih halus. Apabila SMA dengan kitaran pendek di atas TRIMA dengan kitaran panjang, yang menunjukkan penembusan pada garis purata kitaran pendek, boleh dibeli. Sebaliknya, apabila SMA di bawah TRIMA, yang menunjukkan penembusan di bawah garis purata kitaran pendek, boleh dijual.

Kelebihan

Kelebihan terbesar strategi ini adalah menggunakan keupayaan menilai trend rata-rata bergerak, yang dapat mengenal pasti trend pasaran dengan berkesan, membuang kebisingan pasaran jangka pendek, dan mencapai harga rendah dan tinggi. Berbanding dengan rata-rata bergerak tunggal, penggunaan gabungan SMA dan TRIMA dapat meningkatkan kebolehpercayaan penembusan dan mengurangkan kebarangkalian penembusan palsu.

Risiko

Risiko utama strategi ini adalah bahawa rata-rata bergerak itu sendiri ketinggalan perubahan harga, dan mungkin terlepas awal trend, menyebabkan masuk lewat. Selain itu, strategi ini akan menghasilkan lebih banyak pecah palsu apabila pasaran tidak mempunyai trend yang jelas.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter kitaran purata bergerak, menggunakan kaedah yang lebih saintifik untuk mencari kombinasi kitaran yang terbaik.

  2. Meningkatkan penapisan penunjuk untuk mengelakkan isyarat yang salah jika penapisan tidak baik.

  3. Menggabungkan indikator trend seperti MACD untuk menilai trend tempatan, mengelakkan perdagangan berulang dalam pasaran penyenaraian.

  4. Menggunakan purata bergerak yang beradaptasi, parameter kitaran penyesuaian dinamik apabila pasaran memasuki tahap tertentu.

  5. Pengesahan menggunakan pelbagai kerangka masa, contohnya, kemasukan hanya akan dipertimbangkan apabila garis hari dan garis 4 jam telah ditembusi.

ringkaskan

Strategi silang garis purata bergerak adalah strategi analisis teknikal yang mudah dan praktikal, sangat sesuai untuk perdagangan memegang posisi panjang dan sederhana, yang dapat mengenal pasti arah trend secara berkesan. Tetapi strategi ini juga mempunyai keterlambatan tertentu, yang memerlukan penapisan yang dioptimumkan dalam kombinasi dengan indikator penghakiman trend, untuk mengurangkan kebarangkalian isyarat palsu. Jika parameter dioptimumkan dengan betul, ia dapat melindungi modal rodeo dan juga dapat menangkap peluang trend yang lebih besar.

Kod sumber strategi
/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//TMA strategy I came across, uses sma to display entry/exit points for both margin and non margin trading. The buy/sell signals as well as syntax are hidden behind comments if you scroll down.
//Change the commented fields for margin or spot trading!
//@version=3
strategy("MP Rollercoaster Strat", overlay=true)

bgcolor ( color=black, transp=0, title='Blackground', editable=true)

x = input(close, "Red")
n = input(10, "periods")
trima = sma(sma(x,n), n)

kisa=input(5, "Green")
sma = sma(close, kisa)

bull = (sma>trima)
fill(plot(sma, color = green), plot(trima, color=red), bull ? green : red)

//Conditions
buy_signal = crossover(sma,trima)
sell_signal = crossunder(sma,trima)

plotshape(sell_signal, style=shape.triangleup, color = red, text="Short")
plotshape(buy_signal, style=shape.triangledown, color = green, text="Long")
//plotshape(sell_signal, style=shape.triangleup, color = red, text="Sell")
//plotshape(buy_signal, style=shape.triangledown, color = green, text="Buy")

alertcondition(sell_signal, title = 'Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01')
alertcondition(buy_signal, title = 'Long', message =  'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01')

//alertcondition(sell_signal, title = 'Sell', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency')
//alertcondition(buy_signal, title = 'Buy', message =  'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency')

testStartYear = input(2018, "From Year") 
testStartMonth = input(4, "From Month")
testStartDay = input(1, "From Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "To Year")
testStopMonth = input(1, "To Month")
testStopDay = input(1, "To Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

if testPeriod()
    if buy_signal
        strategy.entry("Long", true)
    

    if sell_signal
        strategy.close("Long")