
A estratégia de equilíbrio móvel de múltiplos lados é uma estratégia de acompanhamento de tendências que consiste na construção de múltiplos lados por meio de equilíbrios móveis de múltiplos períodos diferentes e na detecção de sinais de negociação através da ruptura do polígono. A estratégia considera fatores de múltiplos períodos de tempo de forma integrada, filtrando efetivamente o ruído do mercado e capturando as principais tendências.
A estratégia consiste em inserir EMAs de diferentes períodos, como EMAs de 3o, 7o e 13o períodos, e traçá-los em um canal poliédrico no gráfico de preços. Um sinal de ruptura é gerado quando o preço atravessa vários EMAs acima; um sinal de ruptura é gerado quando o preço atravessa vários EMAs abaixo.
O código determina o sinal de ruptura superior através de close>ema1 e ema1>ema2 e ema2>ema3, e o sinal de ruptura inferior através de close. Quando você define as condições de compra e venda, adicione a condição de tempo time_cond, limitando o alcance de retomada . Quando você executa a operação de compra e venda, utilize a proteção de stop loss móvel para proteger o lucro .
A maior vantagem da estratégia é a capacidade de capturar eficazmente a direção das principais tendências, usando várias linhas de equilíbrio móvel para construir um mecanismo de filtragem, evitando a influência do ruído de curto prazo do mercado e reduzindo os falsos sinais. O stop loss móvel permite que o stop loss proteja os lucros a tempo.
O principal risco desta estratégia é a incapacidade de definir o ponto de reversão da tendência, que pode ser uma perda de mercado em caso de reversão da tendência. Além disso, a configuração inadequada da combinação de equilíbrio também pode levar a uma frequência de negociação excessiva ou a um atraso no sinal. O risco pode ser reduzido através da otimização da combinação de parâmetros da linha de equilíbrio, da adição de outros indicadores para determinar a reversão e da ampliação do intervalo de parada.
A estratégia pode ser melhorada em vários aspectos:
Optimizar os parâmetros de ciclo da média móvel para encontrar a melhor combinação de parâmetros
Adicionar indicadores de sinais de reversão, como RSI, MACD, etc., em pontos de reversão de tendência, para parar o desvio em tempo hábil
Optimizar a amplitude e o desvio do stop móvel para reduzir a probabilidade de que o stop seja acionado
Otimização de parâmetros para diferentes variedades para melhorar a adaptabilidade da estratégia
A estratégia de MOL é uma estratégia de acompanhamento de tendências confiável e eficaz. Sua maior vantagem é capturar a direção da tendência principal e, ao mesmo tempo, filtrar o ruído.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Crypto-Oli
//@version=4
strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
/// YOUR INPUTS BELOW - DELET EXAPLES ///
ema1=ema(close,input(3))
ema2=ema(close,input(7))
ema3=ema(close,input(13))
/// PLOTS IF YOU NEED BELOW - DELET EXAPLES ///
plot(ema1, "EMA1", color.yellow)
plot(ema2, "EMA2", color.white)
plot(ema3, "EMA3", color.blue)
/// YOUR CONDITIONS BELOW - DELET EXAPLES ///
longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond
shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond
/// EXECUTION ///
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)