Esta estratégia é um sistema de negociação quantitativo de alta frequência que combina a negociação de momento e abordagens de reversão média. Operando em um período de tempo de 5 minutos, captura oportunidades de tendência usando Média Móvel Exponencial (EMA) enquanto identifica condições de sobrecompra e sobrevenda através de Bandas de Bollinger. A estratégia possui configuração de parâmetros flexíveis, permitindo modos de negociação únicos ou combinados com base nas condições do mercado.
A estratégia emprega uma lógica de negociação de duas camadas:
A estratégia combina métodos de impulso e reversão média para criar um sistema de negociação quantitativa de alta frequência altamente adaptável e controlado pelo risco. Seu design modular e flexibilidade de parâmetros fornecem valor prático e, com melhorias contínuas de otimização e gerenciamento de risco, mostra promessa para gerar retornos estáveis na negociação ao vivo.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Momentum and Mean Reversion Strategy", shorttitle = "MMV_V1", overlay=true) // --- Inputit ja parametrit --- use_momentum = input.bool(true, title="Käytä Momentum-strategiaa") use_mean_reversion = input.bool(true, title="Käytä Keskiarvoon Palautumista (BB)") // Momentum-parametrit short_ema_period = input.int(50, title="Lyhyt EMA") long_ema_period = input.int(400, title="Pitkä EMA") // Bollinger Band -parametrit bb_length = input.int(20, title="BB Pituus") bb_std = input.float(2.0, title="BB Standardipoikkeama") // --- Momentum-strategia: EMA-risteämä --- short_ema = ta.ema(close, short_ema_period) long_ema = ta.ema(close, long_ema_period) momentum_long_signal = ta.crossover(short_ema, long_ema) momentum_short_signal = ta.crossunder(short_ema, long_ema) // --- Keskiarvoon palautuminen: Bollinger Bands --- [bb_upper, bb_middle, bb_lower] = ta.bb(close, bb_length, bb_std) bb_long_signal = ta.crossover(close, bb_lower) // Osto, kun hinta nousee alemman BB:n yli bb_short_signal = ta.crossunder(close, bb_upper) // Myynti, kun hinta laskee ylemmän BB:n ali // --- Kaupankäyntilogiikka --- if (use_momentum and momentum_long_signal) strategy.entry("Momentum Long", strategy.long) if (use_momentum and momentum_short_signal) strategy.entry("Momentum Short", strategy.short) if (use_mean_reversion and bb_long_signal) strategy.entry("BB Long", strategy.long) if (use_mean_reversion and bb_short_signal) strategy.entry("BB Short", strategy.short)