この戦略は,オープンマーケット・エキスポージャー (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)