이 전략은 오픈 마켓 노출 (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)