
Strategi ini menggunakan indikator bergerak rata-rata, indikator relatif kuat (RSI) dan bentuk penetrasi untuk melakukan operasi dua arah dalam perdagangan emas. Dalam hal ini, crossover dari garis 21, 50 dan 200 digunakan sebagai sinyal perdagangan utama. Indikator RSI dan bentuk penetrasi membantu memfilter sinyal untuk lebih mengoptimalkan titik masuk ke pasar.
Strategi ini didasarkan pada beberapa aspek:
Menggunakan 21 dan 200 hari garis Gold/Dead Forks sebagai indikator utama untuk menentukan trend reversal. Ketika 21 hari garis melewati 200 hari garis adalah sinyal bullish, ketika 21 hari garis bawah melewati 200 hari garis adalah sinyal bearish. Selain itu, digabungkan dengan 50 hari garis filter sinyal melompat.
Tetapkan garis overbought dan oversold untuk indikator RSI, jika RSI lebih tinggi dari 70 berarti overbought, dan jika RSI lebih rendah dari 30 berarti oversold. RSI harus berada di zona non-overbought saat sinyal bullish, dan RSI harus berada di zona non-oversold saat sinyal bearish, untuk menghindari membeli di titik tinggi dan menjual di titik rendah.
Ketika sinyal bullish keluar, candle harus muncul untuk mengkonfirmasi perubahan tren.
Ketika ketiga kondisi tersebut terpenuhi secara bersamaan, sinyal transaksi dan pesanan dihasilkan, sehingga membentuk Filters yang lebih ketat.
Keuntungan terbesar dari strategi ini adalah penggunaan berbagai parameter dan indikator untuk penilaian komprehensif, memfilter sinyal yang salah dengan lebih baik, yang dapat mengurangi stop loss yang tidak perlu. Keuntungan spesifiknya terwujud dalam beberapa aspek berikut:
Strategi Moving Average sendiri memiliki beberapa stabilitas.
Pengaturan indikator RSI menghindari pembelian di titik tinggi dan penjualan di titik rendah.
Penambahan bentuk penelan dapat lebih mengkonfirmasi keandalan pembalikan tren.
Stop loss lebih kecil, sehingga dapat mengontrol risiko secara efektif.
Meskipun strategi ini bagus dalam penyaringan sinyal dan pengendalian risiko, strategi apa pun memiliki kelemahan dan risiko tertentu.
Pengaturan parameter lebih rumit dan mungkin memerlukan banyak pengujian untuk menemukan kombinasi parameter yang optimal.
Di sini, Anda bisa melihat beberapa peluang bagus yang bisa Anda lewatkan.
Dalam situasi yang ekstrem, ada tingkat keterlambatan.
Masih harus dipastikan apakah sistem ini stabil dalam jangka panjang.
Untuk mengatasi risiko tersebut, kita dapat memperbaiki dan mengoptimalkannya dengan menyesuaikan parameter, mengoptimalkan logika kode, dan menggabungkannya dengan indikator lainnya.
Strategi ini bekerja dengan baik pada penilaian komprehensif dari berbagai indikator, tetapi masih ada ruang untuk optimasi.
Menyesuaikan parameter untuk mencari kombinasi yang optimal. Anda dapat menemukan set parameter yang lebih baik dengan melakukan retrospeksi lebih banyak data historis, membandingkan pengaruh parameter yang berbeda terhadap hasil.
Dalam kombinasi dengan indikator lain untuk membantu. Indikator seperti MACD, KD dan lain-lain juga dapat membantu menentukan waktu perubahan tren. Pengenalan yang tepat dari indikator lain dapat membentuk sistem indikator yang lebih kuat.
Mengoptimalkan dan menyempurnakan mekanisme stop loss. Stop loss yang ada sekarang lebih kecil dan dapat diuji lebih lanjut apakah stop loss dengan amplitudo yang berbeda dapat mengurangi pergeseran posisi yang tidak perlu.
Uji data untuk periode waktu yang lebih lama untuk memverifikasi efektivitas jangka panjang dari strategi. Uji stabilitas strategi melalui pengembalian periode yang lebih lama dan kondisi pasar.
Strategi ini menggunakan berbagai alat analisis teknis seperti moving average, indikator RSI, dan corong corong untuk melakukan operasi dua arah dalam perdagangan emas. Dengan pengaturan parameter dan pemfilteran sinyal, sebuah sistem strategi yang lebih ketat dibentuk, yang mengendalikan risiko sampai batas tertentu. Namun, tidak ada strategi yang 100% sempurna, dan strategi ini masih memiliki banyak ruang dan arah yang dapat dioptimalkan.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Gold Trading with Simons Strategy", overlay=true)
// Parameters
length21 = input(21, minval=1, title="Length for 21 MA")
length50 = input(50, minval=1, title="Length for 50 MA")
length200 = input(200, minval=1, title="Length for 200 MA")
rsiLength = input(14, minval=1, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
takeProfitPercent = input(4, title="Take Profit %")
stopLossPercent = input(1, title="Stop Loss %")
// Moving Averages
ma21 = sma(close, length21)
ma50 = sma(close, length50)
ma200 = sma(close, length200)
// RSI
rsi = rsi(close, rsiLength)
// Engulfing Pattern
isBullishCandle(c) => close[c] > open[c]
isBearishCandle(c) => close[c] < open[c]
bearishEngulfing = isBullishCandle(1) and isBearishCandle(0) and close < open[1] and open > close[1]
bullishEngulfing = isBearishCandle(1) and isBullishCandle(0) and close > open[1] and open < close[1]
// Calculate Take Profit and Stop Loss Levels
takeProfitLevel(entryPrice) => entryPrice * (1 + takeProfitPercent / 100)
stopLossLevel(entryPrice) => entryPrice * (1 - stopLossPercent / 100)
// Entry Conditions
longCondition = crossover(ma21, ma200) and close > ma21 and close > ma50 and rsi < rsiOverbought and bullishEngulfing
shortCondition = crossunder(ma21, ma200) and close < ma21 and close < ma50 and rsi > rsiOversold and bearishEngulfing
// Entry
if (longCondition)
entryPrice = close
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=takeProfitLevel(entryPrice))
strategy.exit("Stop Loss", "Long", stop=stopLossLevel(entryPrice))
if (shortCondition)
entryPrice = close
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", limit=takeProfitLevel(entryPrice))
strategy.exit("Stop Loss", "Short", stop=stopLossLevel(entryPrice))
// Plotting
plot(ma21, color=color.blue, title="21 MA")
plot(ma50, color=color.orange, title="50 MA")
plot(ma200, color=color.red, title="200 MA")
hline(rsiOverbought, "RSI Overbought", color=color.green)
hline(rsiOversold, "RSI Oversold", color=color.red)
plot(rsi, "RSI", color=color.purple)