
Strategi ini adalah sistem perdagangan kuantitatif berdasarkan pendedahan pasaran terbuka (OME) untuk menilai pergerakan pasaran dengan mengira nilai OME kumulatif, dan membuat keputusan perdagangan dengan penunjuk kawalan risiko seperti nisbah Sharpe. Strategi ini menggunakan mekanisme berhenti berhenti dinamik untuk mengawal risiko dengan berkesan sambil menjamin keuntungan. Strategi ini memfokuskan kepada kesan perubahan harga selepas pasaran dibuka terhadap pergerakan keseluruhan, menilai perubahan sentimen dan trend pasaran dengan kaedah saintifik.
Strategi ini berpusat pada mengukur pergerakan pasaran dengan mengira pendedahan pasaran terbuka (OME). OME dihitung dengan peratusan perbezaan harga penutupan semasa dengan harga pembukaan hari perdagangan sebelumnya terhadap harga pembukaan sebelumnya. Strategi ini menetapkan terhad OME yang terkumpul sebagai isyarat perdagangan, apabila terhad OME melebihi terhad yang ditetapkan, lebih banyak masuk ke dalam pasaran, lebih rendah daripada terhad pada terhad negatif.
Strategi penyesuaian dinamik pendedahan pasaran terbuka adalah sistem perdagangan yang lengkap yang menggabungkan analisis teknikal dan pengurusan risiko. Dengan aplikasi inovatif terhadap indikator OME, pengendalian yang berkesan terhadap trend pasaran dapat dicapai. Strategi ini direka dengan baik secara keseluruhan, mempunyai kegunaan dan skalabiliti yang kuat. Dengan pengoptimuman dan penambahbaikan yang berterusan, strategi ini dijangka dapat mencapai prestasi yang lebih baik dalam perdagangan sebenar.
/*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)