
Strategi perdagangan reverse spread menghasilkan sinyal perdagangan ketika rasio tersebut berbalik. Strategi ini menggabungkan aturan manajemen dana yang sederhana untuk menghasilkan keuntungan. Ini berlaku untuk siklus 30 menit NDX dan SPX.
Indikator utama dari strategi ini adalah rata-rata rasio opsi bullish/bullish dan selisih standarnya. Pertama menghitung rata-rata rasio opsi bullish/bullish dalam 20 hari terakhir, lalu menghitung selisih standar dalam 30 hari terakhir.
Setelah melakukan over, jika rasio kembali ke atas nilai rata-rata, tutup posisi kosong. Stop loss line disetel menjadi 1% dari harga buka posisi. Stop loss line disetel menjadi 3 kali jarak stop loss dari harga buka posisi.
Keuntungan terbesar dari strategi ini adalah menangkap titik balik dari sentimen pasar. Ketika pasar terlalu pesimistis atau terlalu optimis, rasio opsi bullish-bullish akan menjadi tidak normal, dan operasi terbalik dapat menangkap peluang untuk terbalik secara lokal.
Risiko utama dari strategi ini adalah masalah pengaturan parameter. Jika pengaturan parameter tidak tepat, dapat menyebabkan sinyal perdagangan terlalu sering, sehingga tidak dapat menangkap peluang reversal yang lebih besar. Selain itu, sinyal reversal dapat dipalsukan, menyebabkan kerugian.
Anda dapat mempertimbangkan untuk menggabungkan indikator lain untuk memverifikasi sinyal reversal, untuk mencegah tertipu oleh terobosan palsu. Misalnya, Anda dapat menambahkan indikator volume transaksi, hanya mempertimbangkan sinyal reversal ketika volume transaksi meningkat. Anda juga dapat menambahkan beberapa indikator tren, untuk menghindari operasi berlawanan. Anda dapat menguji pengaturan parameter di berbagai pasar dengan periode waktu yang berbeda.
Strategi ini mencoba untuk menangkap titik balik pasar dengan menghitung rasio opsi bullish-bullish dan menggabungkan prinsip-prinsip manajemen uang yang sederhana. Kelebihannya terletak pada peluang untuk menangkap pembalikan lokal, tetapi ada juga risiko tertipu oleh false breakout. Dengan pengaturan parameter yang dioptimalkan, menambahkan lebih banyak indikator verifikasi, dan lain-lain, strategi dapat meningkatkan stabilitas dan profitabilitas. Secara keseluruhan, strategi ini memberikan cara berpikir untuk menilai titik balik dengan memanfaatkan sentimen pasar, tetapi perlu pengujian dan pengoptimalan lebih lanjut untuk diterapkan di pasar.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L
//@version=5
strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash)
SL = input.float(0.01,step=0.01)
CRV = input.float(3)
TP = SL * CRV
len = input.int(30,"Lookback period in Days",step=10)
ratio_sma_lookback_len = input.int(20,step=10)
mult = input.float(1.5,"Standard Deviation Multiple")
ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len)
median = ta.sma(ratio_sma,len)
standartDeviation = ta.stdev(ratio_sma,len)
upperDeviation = median + mult*standartDeviation
lowerDeviation = median - mult*standartDeviation
isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone
isCloseShort = (ratio_sma > median and strategy.position_size < 0)
isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0)
isSell = ta.crossover(ratio_sma,lowerDeviation)
isTP = strategy.position_avg_price * (1 + TP) < high
if(isBuy)
strategy.entry("Long", strategy.long)
if(isCloseShort)
strategy.exit("Close Short",limit=close)
if(isSL)
strategy.exit("SL",limit=close)
if(isTP)
strategy.exit("TP",limit=close)
plot(ratio_sma,color=color.white)
plot(median,color=color.gray)
plot(upperDeviation,color=color.rgb(0,255,0,0))
plot(lowerDeviation,color=color.rgb(255,0,0,0))
bgcolor(isBuy?color.rgb(0,255,0,90):na)
bgcolor(isSell?color.rgb(255,0,0,90):na)