Strategi ayunan harga berasaskan EMA berganda


Tarikh penciptaan: 2024-02-26 13:52:41 Akhirnya diubah suai: 2024-02-26 13:52:41
Salin: 2 Bilangan klik: 600
1
fokus pada
1617
Pengikut

Strategi ayunan harga berasaskan EMA berganda

Gambaran keseluruhan

Strategi pergerakan harga dua EMA untuk menilai keadaan dan kekuatan pasaran dengan mengira perbezaan antara dua EMA dengan tempoh yang berbeza. Apabila perbezaan antara garis cepat dan garis perlahan melintasi 0 sebagai isyarat bullish. Apabila perbezaan antara garis cepat dan garis perlahan melintasi 0 sebagai isyarat bearish.

Strategi ini mudah digunakan untuk menilai kekuatan dan arah pasaran melalui perbezaan EMA. Tetapi terdapat juga keterlambatan tertentu yang tidak dapat menangkap titik perubahan tepat pada masanya.

Prinsip Strategi

Indikator utama strategi pergerakan harga dua EMA adalah APO, iaitu Absolute Price Oscillator, yang menunjukkan perbezaan antara dua EMA. Rumus pengiraan adalah seperti berikut:

APO = EMA(短期) - EMA(长期)

Secara khusus, APO dalam strategi ini dikira sebagai:

xShortEMA = ema(收盘价, LengthShortEMA) 

xLongEMA = ema(收盘价, LengthLongEMA)

xAPO = xShortEMA - xLongEMA

Di mana LengthShortEMA dan LengthLongEMA masing-masing mewakili panjang kitaran EMA jangka pendek dan jangka panjang.

Beberapa peraturan utama APO:

  1. Apabila APO memakai 0 untuk melihat isyarat
  2. Apabila APO turun ke bawah 0 sebagai isyarat penurunan
  3. APO menyatakan positif dan kini berada dalam keadaan positif
  4. APO adalah negatif yang menunjukkan bahawa ia kini berada dalam keadaan penurunan

Berdasarkan nilai masa nyata APO untuk menilai keadaan kosong pasaran dan masa masuk.

Analisis kelebihan

Strategi pergerakan harga dua EMA mempunyai beberapa kelebihan utama:

  1. Menggunakan purata bergerak indeks, dapat menghaluskan data harga dengan berkesan, mengurangkan kesan kebisingan
  2. Indeks APO menggabungkan dua EMA untuk menilai trend harga dan kekuatan pasaran pada masa yang sama
  3. Isyarat strategi mudah difahami, mudah difahami dan dilaksanakan
  4. Siklus EMA yang boleh disesuaikan untuk pelbagai jenis dan gaya perdagangan
  5. Isyarat reverse, digunakan untuk perdagangan reverse dan shorting

Analisis risiko

Strategi pergerakan harga EMA berganda juga mempunyai beberapa risiko, terutamanya yang ditunjukkan oleh:

  1. EMA sendiri ketinggalan zaman dan tidak dapat menangkap titik perubahan harga dalam masa yang tepat
  2. Parameter lalai mungkin tidak sesuai untuk semua varieti, parameter yang perlu dioptimumkan
  3. Isyarat kerap, mudah untuk menghasilkan isyarat palsu
  4. Tidak dapat menentukan kedudukan hentian dan hentian selepas kemasukan
  5. Terdapat beberapa kelewatan, mungkin kehilangan peluang terbaik untuk masuk.

Risiko ini dapat ditangani dan dikurangkan dengan menghentikan kerugian yang munasabah, mengurangkan kerugian tunggal, mengoptimumkan parameter, menyesuaikan diri dengan kitaran yang berbeza, dan memfilterkan isyarat dengan penunjuk lain, meningkatkan kestabilan strategi.

Arah pengoptimuman

Strategi pergerakan harga dua EMA boleh dioptimumkan dari beberapa arah:

  1. Mengoptimumkan parameter kitaran EMA, masing-masing menguji kombinasi EMA dengan panjang 5 hingga 60 untuk mencari parameter optimum

  2. Tambah MA, KDJ, MACD dan lain-lain untuk menetapkan syarat penapisan dan mengelakkan isyarat palsu

  3. Menggunakan Brin Belt, KD dan lain-lain penunjuk untuk menentukan kedudukan hentian hentian yang wajar

  4. Menggabungkan petunjuk seperti indeks trend, menilai trend harga, mengelakkan dagangan berlawanan

  5. Menambah Indeks Jumlah Dagangan untuk memastikan jumlah dagangan disokong

  6. Menetapkan syarat kemasukan semula, mengelakkan perdagangan yang kerap dan mengurangkan jumlah transaksi

ringkaskan

Secara keseluruhannya, strategi pergerakan harga dua EMA menilai keadaan pasaran yang kosong dengan mengira perbezaan APO dua EMA, isyarat strategi mudah dan jelas, praktikal, dan ada kelemahan tertentu. Kita boleh mengoptimumkan dan meningkatkan kestabilan strategi dengan cara mengoptimumkan parameter, menambah syarat penapis, dan menetapkan stop loss. Strategi ini mudah digunakan, dan mempunyai ruang pengembangan yang besar, sesuai untuk pembelajaran dan aplikasi pemula perdagangan kuantitatif.

Kod sumber strategi
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/05/2017
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
       iff(xAPO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xAPO, color=blue, title="APO")