
A estratégia é um sistema de negociação quantitativa baseado na exposição ao mercado aberto (OME) para julgar a tendência do mercado através do cálculo do valor cumulativo do OME e tomar decisões de negociação em combinação com indicadores de controle de risco, como a taxa de Sharpe. A estratégia usa um mecanismo de parada e perda dinâmico para controlar eficazmente o risco, garantindo ganhos. A estratégia se concentra principalmente no impacto das mudanças de preço após a abertura do mercado sobre a tendência geral, julgando as mudanças no sentimento e na tendência do mercado por meio de métodos científicos.
O núcleo da estratégia é medir o movimento do mercado através do cálculo da exposição ao mercado aberto (OME). O OME é calculado pela proporção do diferencial entre o preço de fechamento atual e o preço de abertura do dia de negociação anterior em relação ao preço de abertura anterior. A estratégia define o limiar acumulado do OME como um sinal de negociação, quando o OME acumulado é superior ao limiar definido, é mais negociado, e quando o limiar é negativo, é menos negociado.
A estratégia de arbitragem dinâmica de exposição de 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, é possível obter uma visão efetiva das tendências do mercado. A estratégia é projetada de forma racional, com maior praticidade e escalabilidade.
/*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)