Strategi crossover purata bergerak eksponensial adalah strategi perdagangan kuantitatif yang mudah yang mengesan trend harga. Ia menggunakan persilangan dua purata bergerak eksponensial dengan tetapan parameter yang berbeza sebagai isyarat beli dan jual. Apabila EMA jangka pendek melintasi di atas EMA jangka panjang, isyarat beli dihasilkan. Apabila EMA jangka pendek melintasi di bawah EMA jangka panjang, isyarat jual dihasilkan.
Logik teras strategi ini adalah berdasarkan teori EMA. purata bergerak eksponen boleh secara berkesan merata turun naik harga dan menentukan arah trend harga. EMA pantas bertindak balas dengan cepat terhadap perubahan harga manakala EMA perlahan menyediakan rujukan untuk arah trend harga. Apabila EMA pantas melintasi di atas EMA perlahan, ia menunjukkan bahawa harga telah mula meningkat dan isyarat beli dihasilkan. Apabila EMA pantas melintasi di bawah EMA perlahan, ia menunjukkan bahawa harga telah mula jatuh dan isyarat jual dihasilkan.
Secara khusus, strategi ini mula-mula menentukan dua purata bergerak eksponensial: fib_level dan fib_price. fib_level ditetapkan oleh input pengguna, dan fib_price dikira berdasarkan harga tertinggi dan terendah dari 100 bar yang paling baru. Apabila harga penutupan melintasi di atas atau di bawah fib_price, isyarat beli dan jual dihasilkan, masing-masing. Pada masa yang sama, stop loss ditetapkan pada harga tertinggi dan terendah dari 10 bar yang paling baru.
Risiko boleh dikurangkan dengan mengoptimumkan parameter EMA, menggunakan sistem EMA berganda, atau menggabungkan dengan penunjuk lain untuk pengesahan isyarat.
Strategi ini boleh dioptimumkan dari aspek berikut:
Mengoptimumkan parameter tempoh EMA. Uji kombinasi tempoh yang berbeza untuk mencari parameter terbaik.
Tambah Volume dan penapis lain. Menghasilkan isyarat beli apabila Volume meningkat dan isyarat jual apabila Volume jatuh untuk mengelakkan isyarat yang salah semasa lonjakan harga yang tajam.
Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik berdasarkan data sejarah.
Tambahkan mekanisme hentian untuk meletakkan hentian kerugian. Pindah ke barisan hentian kerugian dengan peningkatan keuntungan untuk mengelakkan hentian awal.
Strategi crossover purata bergerak eksponen adalah strategi perdagangan kuantitatif yang mudah digunakan secara keseluruhan. Ia memanfaatkan kekuatan EMA untuk menentukan trend harga dan menetapkan berhenti untuk mengawal risiko. Strategi ini mudah difahami, fleksibel dalam parameter, dan boleh digunakan untuk perdagangan kuantitatif di seluruh produk yang berbeza. Pengoptimuman lanjut dalam penyesuaian parameter, penapis tambahan, dan berhenti menyusul boleh membawa kepada prestasi strategi yang lebih baik.
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci Strategy", overlay=true) // Define Fibonacci 0.5 level fib_level = input(0.5, title="Fibonacci Level") // Calculate Fibonacci 0.5 level price fib_price = ta.lowest(low, 100) + (ta.highest(high, 100) - ta.lowest(low, 100)) * fib_level // Define entry and exit conditions long_condition = ta.crossover(close, fib_price) short_condition = ta.crossunder(close, fib_price) // Set exit points (using previous high or low) long_exit = ta.highest(high, 10) short_exit = ta.lowest(low, 10) // Plot Fibonacci 0.5 level plot(fib_price, "Fib 0.5", color=color.blue, linewidth=1, style=plot.style_circles) // Initialize variables var inLong = false var inShort = false // Set trading signals if (long_condition) if not inLong strategy.entry("Buy", strategy.long) inLong := true strategy.exit("Exit", "Buy", limit=long_exit) if (short_condition) if not inShort strategy.entry("Sell", strategy.short) inShort := true strategy.exit("Exit", "Sell", limit=short_exit) if (ta.crossover(close, long_exit) or ta.crossunder(close, short_exit)) inLong := false inShort := false