Strategi Dagangan Quant Pergerakan Purata Eksponensial Ganda

Penulis:ChaoZhang, Tarikh: 2024-02-02 11:41:34
Tag:

img

Ringkasan

Strategi ini menghasilkan isyarat perdagangan dengan mengira persilangan antara purata bergerak eksponensial 5 hari (EMA) dan purata bergerak mudah 20 hari (SMA). Ia menjadi panjang apabila EMA 5 hari melintasi di atas SMA 20 hari dan menutup kedudukan apabila perubahan harga mencapai 5% atau -5%.

Prinsip Strategi

Rata-rata bergerak eksponensial berganda adalah penunjuk teknikal yang digunakan secara meluas. EMA 5 hari mewakili trend harga baru-baru ini manakala SMA 20 hari menunjukkan pergerakan harga jangka sederhana. Apabila MA jangka pendek melintasi di atas MA jangka panjang, ia menandakan kemerosotan ke atas dan trend harga ke atas, menunjukkan masa yang baik untuk pergi panjang. Sebaliknya, persilangan ke bawah menyiratkan pembalikan harga yang berpotensi dan harus mempertimbangkan keluar dari kedudukan.

Strategi ini menetapkan EMA 5 hari dan SMA 20 hari sebagai isyarat perdagangan. Ia menjadi panjang apabila EMA 5 hari melintasi SMA 20 hari dan menutup kedudukan apabila perubahan harga mencapai 5% atau -5%. Ia juga memeriksa sama ada TII positif dan meningkat untuk mengesahkan kebolehpercayaan isyarat.

Langkah terperinci adalah:

  1. Mengira EMA 5 hari, SMA 20 hari dan TII
  2. Menghasilkan isyarat beli apabila EMA 5 hari melintasi SMA 20 hari manakala TII positif dan meningkat
  3. Masukkan kedudukan panjang
  4. Posisi ditutup apabila perubahan harga mencapai 5% atau -5%

Kelebihan

Strategi ini menggunakan persilangan emas antara dua MA dan mempunyai kelebihan berikut:

  1. Isyarat perdagangan yang jelas dan mudah, mudah dilaksanakan.
  2. MAs adalah petunjuk teknikal arus perdana dan biasa, isyarat salib emas adalah klasik dan boleh dipercayai.
  3. Menggabungkan TII boleh menapis beberapa isyarat yang tidak pasti dan meningkatkan kadar kemenangan.
  4. Standar stop loss/take profit yang telah ditetapkan secara berkesan mengawal risiko setiap perdagangan.

Secara umum, strategi ini mempunyai peraturan yang mudah, menggunakan penunjuk teknikal yang matang seperti persilangan MA, dan mempunyai pengukuran kawalan risiko yang agak komprehensif.

Risiko

Masih ada beberapa risiko dalam strategi ini:

  1. Isyarat silang MA mungkin terlambat.
  2. Penunjuk TII tidak berfungsi dengan baik di pasaran terikat julat.
  3. Standar stop loss/take profit tetap boleh menjadi sewenang-wenang.

Penambahbaikan yang dicadangkan ialah:

  1. Mengoptimumkan parameter MA untuk mengurangkan lag.
  2. Tambah penunjuk tambahan lain untuk meningkatkan kebolehpercayaan isyarat.
  3. Tetapkan piawaian stop loss/take profit yang dinamik.

Jadi ada ruang untuk pengoptimuman lanjut.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dari aspek berikut:

  1. Mengoptimumkan parameter MA dengan menguji gabungan EMA dan SMA yang lebih pendek/panjang untuk mencari pasangan yang optimum.

  2. Tambah penunjuk lain seperti MACD, KDJ untuk menapis isyarat palsu.

  3. Menggunakan algoritma pembelajaran mesin untuk mencari parameter yang lebih baik melalui pemodelan data sejarah dan statistik.

  4. Tetapkan stop loss / mengambil keuntungan dinamik berdasarkan turun naik pasaran dan ciri instrumen untuk mengawal risiko dengan lebih baik.

  5. Luaskan strategi ini kepada produk lain seperti forex, cryptocurrency.

Melalui penambahbaikan di atas, kestabilan dan keuntungan strategi ini dapat ditingkatkan dengan ketara.

Kesimpulan

Kesimpulannya, ini adalah strategi silang MA berganda yang mudah difahami dan dilaksanakan. Ia memanfaatkan isyarat MA dan menggunakan TII untuk menapis ralat. Ia mengawal risiko dengan menghentikan kerugian / mengambil keuntungan. Strategi ini sesuai untuk pemula untuk belajar dan juga mempunyai ruang yang besar untuk pengoptimuman. Penambahbaikan lanjut pada penyesuaian parameter, penapisan isyarat dan kehilangan berhenti dinamik dapat mengubahnya menjadi strategi perdagangan yang praktikal dan berkuasa.


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA-SMA Crossover Strategy", shorttitle="EMA-SMA Cross", overlay=true)

// Define the moving averages
ema5 = ta.ema(close, 5)
sma20 = ta.sma(close, 20)
smaVolume10 = ta.sma(volume, 50)

majorLength = input(60, title="Major Length")
minorLength = input(30, title="Minor Length")
src = input(close, title="Source")

smaValue = ta.sma(src, majorLength)

positiveSum = 0.0
negativeSum = 0.0

for i = 0 to minorLength - 1
    price = na(src[i]) ? 0 : src[i]
    avg = na(smaValue[i]) ? 0 : smaValue[i]
    positiveSum := positiveSum + (price > avg ? price - avg : 0)
    negativeSum := negativeSum + (price > avg ? 0 : avg - price)

tii = 100 * positiveSum / (positiveSum + negativeSum)

// Buy condition: 5 EMA crosses above 20 SMA
buyCondition = ta.crossover(ema5, sma20) and tii > 0 and tii >= tii[1]

//and volume > smaVolume10 //

// Track entry price
var entryPrice = 0.0
if (buyCondition)
    entryPrice := close

// Calculate percentage change from entry price
priceChange = close / entryPrice - 1

// Plotting the moving averages on the chart
plot(ema5, color=color.blue, title="5 EMA")
plot(sma20, color=color.red, title="20 SMA")

// Highlighting buy signals and exit signals on the chart
// plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, size=size.small, style=shape.labelup, text="Buy")

// Strategy entry and exit
if (buyCondition)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.opentrades > 0)
    if (priceChange >= 0.05 or priceChange <= -0.05)
        strategy.close("Buy")


Lebih lanjut