
Ini adalah strategi shorting berdasarkan Internal Bar Strength, IBS, yang digunakan untuk mengidentifikasi peluang perdagangan dengan memantau posisi harga close out di dalam kisaran harga harian. Ketika indikator IBS menunjukkan keadaan overbought, strategi ini akan membuka posisi shorting jika kondisi tertentu terpenuhi, dan keluar dari posisi kosong ketika IBS mencapai tingkat oversold. Strategi ini dirancang khusus untuk perdagangan di level garis harian di pasar saham dan ETF.
Inti dari strategi ini adalah dengan menggunakan indikator IBS untuk mengukur posisi harga penutupan dalam kisaran tinggi dan rendah hari itu. Rumus perhitungan IBS adalah: ((harga penutupan - harga terendah) / ((harga tertinggi - harga terendah)). Ketika nilai IBS lebih besar dari sama dengan 0,9, menunjukkan bahwa harga penutupan mendekati titik tertinggi hari itu, dianggap sebagai overbought; ketika nilai IBS lebih kecil dari 0,3, menunjukkan bahwa harga penutupan mendekati titik terendah hari itu, dianggap sebagai oversold.
Ini adalah strategi shorting yang didasarkan pada ide kemunduran nilai rata-rata dan menangkap peluang untuk kembali setelah harga overbought melalui indikator IBS. Strategi ini dirancang sederhana dan jelas dalam pengoperasiannya, tetapi masih perlu dioptimalkan sesuai dengan varietas perdagangan dan lingkungan pasar tertentu.
/*backtest
start: 2024-06-01 00:00:00
end: 2025-02-18 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Botnet101
//@version=6
strategy('[SHORT ONLY] Internal Bar Strength (IBS) Mean Reversion Strategy', overlay = false, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, margin_long = 5, margin_short = 5, process_orders_on_close = true, precision = 4)
//#region INPUTS SECTION
// ============================================
//#region IBS Thresholds
upperThresholdInput = input.float(defval = 0.9, title = 'Upper Threshold', step = 0.1, maxval=1, group = 'IBS Settings')
lowerThresholdInput = input.float(defval = 0.3, title = 'Lower Threshold', step = 0.1, minval=0, group = 'IBS Settings')
//#endregion
//#endregion
//#region IBS CALCULATION
// ============================================
// IBS Value Calculation
// ============================================
internalBarStrength = (close - low) / (high - low)
//#endregion
//#region TRADING CONDITIONS
// ============================================
// Entry/Exit Logic
// ============================================
shortCondition = internalBarStrength >= upperThresholdInput and close>high[1]
exitCondition = internalBarStrength <= lowerThresholdInput
//#endregion
//#region STRATEGY EXECUTION
// ============================================
// Order Management
// ============================================
if shortCondition
strategy.entry('short', strategy.short)
if exitCondition
strategy.close_all()
//#endregion
//#region PLOTTING
// ============================================
// Visual Components
// ============================================
plot(internalBarStrength, color = color.white, title = "IBS Value")
plot(upperThresholdInput, color = color.yellow, title = "Upper Threshold")
plot(lowerThresholdInput, color = color.yellow, title = "Lower Threshold")
//#endregion