Sumber dimuat naik... memuat...

Strategi Perdagangan Julat Volatiliti Berdasarkan Osilator Stochastic

Penulis:ChaoZhang, Tarikh: 2024-06-17 14:52:10
Tag:ATR

img

Ringkasan

Strategi ini menggunakan Osilator Stochastic untuk mengenal pasti keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual, mencetuskan perdagangan dengan parameter risiko dan ganjaran yang telah ditentukan untuk memanfaatkan turun naik harga dalam julat perdagangan yang tidak menentu.

Logika Strategi

  1. Apabila Stochastic Oscillator melintasi di bawah tahap oversold (20), strategi memasuki kedudukan panjang; apabila ia melintasi di atas tahap overbought (80), strategi memasuki kedudukan pendek.
  2. Tahap stop-loss dan take-profit ditetapkan berdasarkan 2x Jangkauan Benar Purata (ATR), dan setiap perdagangan berisiko 1% daripada ekuiti akaun.
  3. Untuk mengelakkan overtrading, strategi ini menguatkuasakan sekurang-kurangnya 20 bar antara setiap perdagangan, yang membolehkan tempoh penyejukan dan mengelakkan whipsaws.

Kelebihan Strategi

  1. Strategi ini boleh menangkap turun naik harga dalam julat perdagangan yang tidak menentu, membeli pada titik rendah dan menjual pada titik tinggi untuk berpotensi mendapat keuntungan.
  2. Ia menggunakan langkah-langkah pengurusan risiko yang ketat, termasuk paras stop-loss dan mengambil keuntungan berasaskan ATR dan risiko tetap 1% setiap perdagangan, yang membantu mengawal pengeluaran dan kerugian perdagangan tunggal.
  3. Dengan menetapkan selang minimum antara perdagangan (20 bar), strategi ini mengelakkan perdagangan yang kerap dan tertipu oleh bunyi pasaran.
  4. Logik strategi jelas, mudah difahami, dan dilaksanakan, menjadikannya sesuai untuk digunakan dalam pelbagai persekitaran pasaran.

Risiko Strategi

  1. Kejayaan strategi sebahagian besarnya bergantung kepada mengenal pasti julat perdagangan dengan betul; jika julat itu salah dikenal pasti, ia boleh menyebabkan perdagangan hilang.
  2. Jika pasaran keluar dari julat dagangan dan membentuk trend, strategi mungkin kehilangan peluang mengikuti trend.
  3. Walaupun langkah-langkah pengurusan risiko yang dilaksanakan, strategi masih mungkin mengalami kerugian yang melebihi jangkaan dalam keadaan pasaran yang melampau.
  4. Parameter strategi (contohnya, tahap overbought / oversold, ATR kelipatan) perlu dioptimumkan untuk keadaan pasaran yang berbeza; parameter yang tidak sesuai boleh membawa kepada prestasi yang buruk.

Arahan Pengoptimuman Strategi

  1. Pertimbangkan untuk menggabungkan penunjuk teknikal lain (contohnya, MACD, RSI) untuk mengesahkan isyarat perdagangan dan meningkatkan kebolehpercayaan isyarat.
  2. Memperkenalkan mekanisme berhenti rugi dan mengambil keuntungan yang dinamik, seperti menyesuaikan tahap berhenti rugi apabila harga bergerak ke arah yang menguntungkan, untuk berpotensi mencapai pulangan yang lebih tinggi.
  3. Untuk pengenalan julat perdagangan, meneroka menggunakan teknik yang lebih maju, seperti algoritma pembelajaran mesin, untuk meningkatkan ketepatan.
  4. Dalam pasaran trend, pertimbangkan untuk memperkenalkan penapis trend untuk mengelakkan perdagangan terhadap trend.

Ringkasan

Strategi perdagangan julat turun naik berdasarkan Osilator Stochastic cuba memanfaatkan isyarat overbought dan oversold oscillator dalam julat dagangan yang telah ditentukan. Strategi ini mengawal risiko melalui pengurusan risiko dan selang perdagangan yang ketat. Walaupun strategi ini mempunyai kelebihan tertentu, keberkesanannya sebahagian besarnya bergantung pada mengenal pasti julat dagangan dengan betul. Arahan pengoptimuman masa depan termasuk menggabungkan penunjuk teknikal lain, memperkenalkan tahap stop-loss dan mengambil keuntungan yang dinamik, menggunakan teknik pengenalan julat yang lebih maju, dan menambah penapis trend.


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

//@version=5
strategy("Range Trading with Stochastic", overlay=true)

// Input Parameters
overboughtLevel = input.int(80, title="Overbought Level", minval=1, maxval=100)
oversoldLevel = input.int(20, title="Oversold Level", minval=1, maxval=100)
stochLength = input.int(14, title="Stochastic Length", minval=1)
riskPerTrade = input.float(0.01, title="Risk per Trade (%)", minval=0.01, maxval=100, step=0.01)
barsBetweenTrades = input.int(20, title="Bars Between Trades", minval=1)

// Calculate Stochastic Oscillator
k = ta.sma(ta.stoch(close, high, low, stochLength), 3)
d = ta.sma(k, 3)

// Variables to Track Time Since Last Trade
var lastTradeBar = 0
barsSinceLastTrade = bar_index - lastTradeBar

// Risk Management
atr = ta.atr(14)
stopLoss = 2 * atr
takeProfit = 2 * atr
riskAmount = strategy.equity * riskPerTrade / 100
positionSize = 1

// Entry Conditions
longCondition = k < oversoldLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades
shortCondition = k > overboughtLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades

// Entry/Exit Orders
if longCondition
    strategy.entry("Long", strategy.long, qty=positionSize)
    strategy.exit("Long Exit", "Long", stop=close - stopLoss, limit=close + takeProfit)
    lastTradeBar := bar_index // Update last trade bar
if shortCondition
    strategy.entry("Short", strategy.short, qty=positionSize)
    strategy.exit("Short Exit", "Short", stop=close + stopLoss, limit=close - takeProfit)
    lastTradeBar := bar_index // Update last trade bar

// Plot Stochastic
plot(k, color=color.blue, title="%K")
plot(d, color=color.orange, title="%D")
hline(overboughtLevel, color=color.red, title="Overbought")
hline(oversoldLevel, color=color.green, title="Oversold")



Berkaitan

Lebih lanjut