Trend Mengikut Strategi Berdasarkan EMA Crossover

Penulis:ChaoZhang, Tarikh: 2024-02-22 13:59:07
Tag:

img

Ringkasan

Strategi ini mengenal pasti arah trend pasaran melalui persilangan garis EMA yang cepat dan perlahan, dan berdagang mengikut trend. Ia pergi lama apabila EMA cepat melintasi di atas EMA perlahan, dan menutup kedudukan apabila harga melanggar di bawah EMA cepat.

Logika Strategi

Strategi ini mengira EMA cepat (i_shortTerm) dan EMA perlahan (i_longTerm) berdasarkan parameter input. Apabila EMA jangka pendek melintasi di atas EMA jangka panjang (goLongCondition1) dan harga di atas EMA jangka pendek (goLongCondition2), ia memasuki kedudukan panjang. Apabila harga memecahkan di bawah EMA jangka pendek (exitCondition2), ia menutup kedudukan.

Strategi ini adalah berdasarkan salib emas garis EMA untuk menentukan trend pasaran utama, dan perdagangan di sepanjang trend. Apabila EMA jangka pendek melintasi di atas EMA jangka panjang, ia menandakan trend menaik; apabila harga di atas EMA jangka pendek, ia menunjukkan trend menaik sedang berlangsung, jadi pergi panjang. Apabila harga turun di bawah EMA jangka pendek, ia menandakan pembalikan trend, jadi tutup kedudukan dengan segera.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan silang EMA untuk mengenal pasti trend pasaran utama, mengelakkan turun naik jangka pendek.

  2. Sensitiviti yang boleh diselaraskan dalam pengesanan trend melalui parameter EMA cepat dan perlahan.

  3. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan, sesuai untuk pemula perdagangan kuant.

  4. Parameter tempoh EMA yang boleh disesuaikan untuk produk dan pasaran yang berbeza.

  5. Kawalan risiko yang berkesan dengan menghentikan kerugian apabila harga melanggar garis EMA.

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Isyarat silang EMA yang tertunda boleh menyebabkan kerugian semasa pembalikan trend.

  2. Penembusan palsu di atas EMA jangka pendek boleh menyebabkan entri gagal.

  3. Tetapan parameter paramedik yang tidak betul boleh menjejaskan prestasi strategi.

  4. Prestasi sangat bergantung kepada keadaan pasaran, tidak sesuai untuk semua produk dan tempoh.

Pengukuran pengurusan risiko yang sepadan:

  1. Mengoptimumkan parameter EMA untuk kepekaan yang lebih baik pada pembalikan.

  2. Tambah penunjuk teknikal lain untuk menapis isyarat masuk.

  3. Terus debug dan mengoptimumkan parameter untuk pasaran yang berbeza.

  4. Memahami sepenuhnya keadaan pasaran yang berkenaan sebelum menggunakan strategi.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam aspek berikut:

  1. Tambah penunjuk lain seperti MACD dan KD untuk menapis isyarat kemasukan.

  2. Melaksanakan stop loss untuk mengunci keuntungan dan kawalan risiko yang lebih baik.

  3. Mengoptimumkan penempatan stop loss dengan penunjuk turun naik ATR.

  4. Uji dan cari kaedah saintifik yang lebih baik untuk penyesuaian parameter EMA.

  5. Memvalidasi isyarat pada pelbagai jangka masa untuk meningkatkan ketepatan.

  6. Cuba perubahan BREAKOUT untuk menangkap pergerakan yang lebih besar semasa peringkat percepatan trend.

Kesimpulan

Strategi ini berkesan mengesan trend pasaran dengan berdagang pada isyarat silang EMA. Dengan logik yang jelas dan risiko yang boleh dikawal, ia sesuai untuk pemula perdagangan kuant untuk berlatih. Pengoptimuman lanjut pada penyesuaian parameter, penapisan kemasukan, penempatan stop loss dapat meningkatkan prestasi strategi. Tetapi semua strategi mempunyai batasan, pengguna harus menggunakan dengan berhati-hati berdasarkan keadaan pasaran semasa berdagang secara langsung.


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pradhan_abhishek

//@version=5
strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025)

// inputs
i_shortTerm = input(title='Fast EMA', defval=21)
i_longTerm = input(title='Slow EMA', defval=55)
// select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data
i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From")
i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To")
i_showBg = input(defval = true, title = "Show In-trade / Out-trade background")

// create date function "within window of time"
date() => true

// exponential moving average (EMA) variables, derived from input parameters
shortTermEMA = ta.ema(close, i_shortTerm)
longTermEMA = ta.ema(close, i_longTerm)
atr = ta.atr(14)

// ### Trade strategy: begins ###
inTrade = strategy.position_size > 0
notInTrade = strategy.position_size <= 0

goLongCondition1 = shortTermEMA > longTermEMA
goLongCondition2 = close > shortTermEMA

// exitCondition1 = shortTermEMA < midTermEMA
exitCondition2 = close < shortTermEMA

// enter if not in trade and long conditions are met
if date() and goLongCondition1 and goLongCondition2 and notInTrade
    strategy.entry('long', strategy.long)
    // exit on stop-Loss hit
    stopLoss = close - atr * 3
    strategy.exit('exit', 'long', stop=stopLoss)

// exit if already in trade and take profit conditions are met
if date() and exitCondition2 and inTrade
    strategy.close(id='long')
// ###Trade strategy: ends ###

// plot emas & background color for trade status
plot(shortTermEMA, color=color.new(color.blue, 0))
plot(longTermEMA, color=color.new(color.green, 0))
trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75)
bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))

Lebih lanjut