Strategi ini adalah sistem perdagangan kuantitatif berdasarkan Eksposur Pasar Terbuka (OME), yang membuat keputusan perdagangan dengan menghitung nilai OME kumulatif untuk menilai tren pasar, dikombinasikan dengan indikator pengendalian risiko seperti Rasio Sharpe. Strategi ini mengadopsi mekanisme take profit dan stop-loss dinamis untuk mengontrol risiko secara efektif sambil memastikan pengembalian.
Inti dari strategi ini adalah untuk mengukur tren pasar dengan menghitung Eksposur Pasar Terbuka (OME). OME dihitung sebagai rasio perbedaan antara harga penutupan saat ini dan harga pembukaan hari sebelumnya relatif terhadap harga pembukaan sebelumnya. Strategi menetapkan ambang OME kumulatif sebagai sinyal perdagangan, memasuki posisi panjang ketika OME kumulatif melebihi ambang yang ditetapkan dan menutup posisi ketika jatuh di bawah ambang negatif. Rasio Sharpe diperkenalkan sebagai indikator penilaian risiko, mengukur rasio risiko-pengembalian dengan menghitung rata-rata dan standar deviasi OME kumulatif. Strategi ini juga mencakup persentase tetap mengambil keuntungan dan mekanisme stop-loss untuk melindungi keuntungan dan pengendalian kerugian.
Open Market Exposure Dynamic Position Adjustment Strategy adalah sistem perdagangan lengkap yang menggabungkan analisis teknis dan manajemen risiko. Melalui aplikasi inovatif dari indikator OME, ia mencapai pemahaman yang efektif tentang tren pasar.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Open Market Exposure (OME) Strategy", overlay=true) // Input parameters length = input(14, title="Length for Variance") sharpe_length = input(30, title="Length for Sharpe Ratio") threshold = input(0.01, title="Cumulative OME Threshold") // Define a threshold for entry take_profit = input(0.02, title="Take Profit (%)") // Define a take profit percentage stop_loss = input(0.01, title="Stop Loss (%)") // Define a stop loss percentage // Calculate Daily Returns daily_return = (close - close[1]) / close[1] // Open Market Exposure (OME) calculation ome = (close - open[1]) / open[1] // Cumulative OME var float cum_ome = na if na(cum_ome) cum_ome := 0.0 if (dayofweek != dayofweek[1]) // Reset cumulative OME daily cum_ome := 0.0 cum_ome := cum_ome + ome // Performance Metrics Calculation (Sharpe Ratio) mean_return = ta.sma(cum_ome, sharpe_length) std_dev = ta.stdev(cum_ome, sharpe_length) sharpe_ratio = na(cum_ome) or (std_dev == 0) ? na : mean_return / std_dev // Entry Condition: Buy when Cumulative OME crosses above the threshold if (cum_ome > threshold) strategy.entry("Long", strategy.long) // Exit Condition: Sell when Cumulative OME crosses below the threshold if (cum_ome < -threshold) strategy.close("Long") // Take Profit and Stop Loss if (strategy.position_size > 0) // Calculate target and stop levels target_price = close * (1 + take_profit) stop_price = close * (1 - stop_loss) // Place limit and stop orders strategy.exit("Take Profit", "Long", limit=target_price) strategy.exit("Stop Loss", "Long", stop=stop_price)