
この戦略は,オープンマーケットの露出度 ((OME) に基づく定量取引システムであり,累積的なOME値を計算して市場の動きを判断し,シャープ比率などのリスク制御指標と組み合わせて取引決定を行う. この戦略は,ダイナミックなストップ・ストップ・ロスの仕組みを採用し,収益を保証しながら効果的にリスクを制御する. この戦略は,市場開封後の価格変動が全体的な動きに与える影響に焦点を当て,市場情緒とトレンドの変化を科学的方法によって判断する.
策略の核心は,オープンマーケットの露出度 (((OME) を計算して市場の動きを測定することである.OMEは,現在の閉店価格と前日開店価格の差が前日の開店価格の比率によって計算される.策略は,累積的なOMEの値を取引信号として設定し,累積的なOMEが設定された値を超えると,より多く入場し,負の値の平仓を下回る.また,リスク評価指標としてシャープ比率を導入し,累積的なOMEの平均値と標準差を計算して収益リスク比率を測定する.策略には,固定パーセントのストップ・ロスのメカニズムが含まれ,利潤と損失の両方を保護する.
オープンマーケットの露出度ダイナミック調停戦略は,技術分析とリスク管理を組み合わせた完全な取引システムである.OME指標の革新的な応用によって,市場動向の効果的な把握を実現している.戦略の全体的な設計は合理的で,強力な実用性と拡張性がある.継続的な最適化と改善により,この戦略は,実際の取引でより良いパフォーマンスを期待している.
/*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)