Ini adalah strategi perdagangan opsi jangka pendek berdasarkan crossover rata-rata bergerak eksponensial (EMA) dan rata-rata bergerak (MA) untuk menghasilkan sinyal perdagangan.
Strategi ini menggunakan dua EMA/MA dengan parameter yang berbeda, satu EMA cepat dan satu MA lambat. Periode EMA cepat ditetapkan menjadi 50 dan periode MA lambat ditetapkan menjadi 100. EMA merespon lebih cepat terhadap perubahan harga sementara MA bereaksi lebih lambat.
Ketika lonjakan harga jangka pendek dipercepat, EMA cepat akan menembus MA lambat dari bawah, menghasilkan sinyal beli. Ini menunjukkan meningkatnya sentimen bullish, sehingga cocok untuk mempertimbangkan membeli atau membeli opsi panggilan.
Ketika penurunan harga jangka pendek dipercepat, EMA cepat akan pecah di bawah MA lambat, menghasilkan sinyal jual. Ini menunjukkan meningkatnya sentimen bearish, menunjukkan peluang untuk menjual atau membeli opsi put.
Dengan menangkap persilangan antara EMA/MA cepat dan lambat untuk menentukan tren jangka pendek dan emosi pasar, perdagangan opsi tepat waktu dapat dilaksanakan untuk mendapatkan keuntungan dari fluktuasi harga jangka pendek.
Keuntungan utama dari strategi ini adalah:
Tanggapan cepat untuk menangkap perubahan jangka pendek. Crossover antara EMA cepat dan MA lambat dengan cepat mendeteksi pembalikan harga naik dan turun jangka pendek.
Hanya perlu memantau persilangan dari dua rata-rata bergerak tanpa perhitungan yang rumit.
Aplikasi fleksibel untuk perdagangan opsi atau saham. Dapat pergi panjang / pendek berdasarkan sinyal, atau opsi perdagangan sesuai.
Risiko yang dapat dikendalikan dengan stop loss yang jelas.
Beberapa risiko yang perlu diperhatikan:
Sinyal whipsaw potensial dan pasar berkisar dapat menyebabkan perdagangan yang berlebihan dan peningkatan biaya.
Pertimbangkan strategi jeda selama fase penurunan yang berkepanjangan untuk melestarikan modal.
Peningkatan harga akibat peristiwa berita penting dapat menghentikan posisi lebih awal atau secara substansial memperbesar kerugian.
Beberapa cara untuk meningkatkan strategi:
Stop loss dinamis berdasarkan volatilitas. Sesuaikan stop loss secara real time sesuai dengan tingkat fluktuasi harga untuk meminimalkan kemungkinan keluar paksa.
Mengintegrasikan EMA beberapa kerangka waktu. Tambahkan EMA harian dan mingguan untuk mengukur tren keseluruhan untuk menghindari perdagangan kontra-tren.
Gunakan RSI untuk mengidentifikasi tingkat overbought dan oversold untuk menyaring beberapa sinyal noise.
Prediksi volatilitas pembelajaran mesin. Menggunakan model LSTM untuk memprediksi volatilitas harga dan risiko, secara dinamis menyesuaikan ukuran posisi dan stop loss.
Strategi crossover EMA/MA jangka pendek ini menangkap perubahan tren jangka pendek dan emosi pasar untuk perdagangan tepat waktu dengan memantau EMA yang cepat dan MA yang lambat. Meskipun mudah diimplementasikan, risiko termasuk whipsaws yang berlebihan dan penarikan berkelanjutan.
/*backtest start: 2023-01-09 00:00:00 end: 2024-01-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Backtest single EMA cross", overlay=true) qty = input(100000, "Buy quantity") testStartYear = input(2019, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testStartHour = input(0, "Backtest Start Hour") testStartMin = input(0, "Backtest Start Minute") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin) testStopYear = input(2099, "Backtest Stop Year") testStopMonth = input(1, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #00FF00 : na testPeriod() => true ema1 = input(50, title="Select EMA 1") ema2 = input(100, title="Select EMA 2") expo = ema(close, ema1) ma = ema(close, ema2) avg_1 = avg(expo, ma) s2 = cross(expo, ma) ? avg_1 : na //plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0) p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0) p2 = plot(ma, color=color.orange, linewidth=2, transp=0) fill(p1, p2, color=color.white, transp=80) longCondition = crossover(expo, ma) shortCondition = crossunder(expo, ma) exitlongCondition = crossunder(expo, ma) exitshortCondition = crossover(expo, ma) if testPeriod() strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition) plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor = #FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0) plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)