
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada eksposur pasar terbuka (OME) untuk menilai tren pasar dengan menghitung nilai OME kumulatif dan membuat keputusan perdagangan dalam kombinasi dengan indikator kontrol risiko seperti rasio Sharpe. Strategi ini menggunakan mekanisme stop-loss yang dinamis untuk mengontrol risiko secara efektif sambil menjamin keuntungan. Strategi ini berfokus pada dampak perubahan harga setelah pasar dibuka pada keseluruhan tren, menilai perubahan sentimen dan tren pasar dengan metode ilmiah.
Inti dari strategi ini adalah mengukur pergerakan pasar dengan menghitung eksposur pasar terbuka (OME). OME dihitung dengan perbandingan antara harga penutupan saat ini dengan harga pembukaan hari perdagangan sebelumnya terhadap harga pembukaan sebelumnya. Strategi ini menetapkan ambang batas OME yang terakumulasi sebagai sinyal perdagangan, yang masuk lebih banyak ketika OME terakumulasi melebihi ambang batas yang ditetapkan, dan lebih rendah dari posisi terendah ketika ambang batas negatif.
Strategi eksposur pasar terbuka adalah sistem perdagangan yang lengkap yang menggabungkan analisis teknis dan manajemen risiko. Strategi ini dirancang secara rasional, memiliki kepraktisan dan skalabilitas yang kuat. Dengan terus-menerus mengoptimalkan dan memperbaiki, strategi ini diharapkan dapat berkinerja lebih baik dalam perdagangan nyata.
/*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)