Esta estratégia é um sistema de negociação quantitativo baseado na exposição ao mercado aberto (OME), que toma decisões de negociação calculando valores OME cumulativos para julgar as tendências do mercado, combinados com indicadores de controle de risco como a Sharpe Ratio. A estratégia adota um mecanismo dinâmico de take-profit e stop-loss para controlar efetivamente o risco, garantindo retornos.
O núcleo da estratégia é medir as tendências do mercado através do cálculo da Exposição ao Mercado Aberto (OME). O OME é calculado como a razão da diferença entre o preço de fechamento atual e o preço de abertura do dia anterior em relação ao preço de abertura anterior. A estratégia define limiares cumulativos do OME como sinais de negociação, entrando em posições longas quando o OME cumulativo excede o limiar definido e fechando posições quando cai abaixo do limiar negativo. A Sharpe Ratio é introduzida como um indicador de avaliação de risco, medindo a relação risco-retorno calculando a média e o desvio padrão do OME cumulativo. A estratégia também inclui um mecanismo de take-profit e stop-loss em porcentagem fixa para proteger os lucros e controlar as perdas.
A Estratégia de Ajuste Dinâmico de Posição de Exposição ao Mercado Aberto é um sistema de negociação completo que combina análise técnica e gerenciamento de risco. Através da aplicação inovadora do indicador OME, ele alcança uma compreensão eficaz das tendências do mercado. O design geral da estratégia é razoável, com forte praticidade e escalabilidade. Através de otimização e melhoria contínua, essa estratégia tem o potencial de alcançar um melhor desempenho na negociação real.
/*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)