
Esta estratégia usa o princípio de cruzamento de múltiplos níveis de média móvel para capturar tendências de linha média e longa e obter lucros estáveis. A estratégia usa três grupos de médias móveis rápidas, médias e lentas de diferentes parâmetros para tomar decisões de negociação de acordo com sua situação de cruzamento. Esta estratégia de cruzamento de médias móveis de múltiplos níveis, em comparação com a estratégia tradicional de apenas dois grupos de médias móveis, pode filtrar mais sinais falsos e aumentar a probabilidade de vitória da estratégia.
Esta estratégia usa três grupos de médias móveis: média móvel rápida MAshort, média móvel rápida MAmid e média móvel lenta MAlong. Dentre eles, o parâmetro MAshort é 9, o mais rápido de reação, para capturar um sinal de linha curta; o parâmetro MAmid é 50, a velocidade é adequada, para confirmar uma tendência; o parâmetro MAlong é 100, o mais lento de reação, para determinar a direção de uma tendência de linha longa.
A lógica de negociação específica da estratégia é: quando a média móvel rápida MAmid atravessa a média móvel lenta MAlong, indicando que o impulso ascendente do preço da ação está se formando, a estratégia faz mais; quando a média móvel rápida MAshort atravessa a média média móvel rápida MAmid, indicando que a tendência curta se reverteu, a estratégia está em equilíbrio.
A principal vantagem desta estratégia é que, através de combinações de múltiplos grupos de médias móveis, é possível filtrar eficazmente os falsos sinais, selecionando apenas as que são mais fortes na linha média e longa para construir mais posições.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta os seguintes riscos:
Para os riscos acima mencionados, vamos ampliar ainda mais o âmbito de aplicação da estratégia, juntamente com o máximo de retração do controle de stop loss. Quando a tendência de linha média-longa se inverter, vamos responder com a redução da posição.
A estratégia também pode ser melhorada em alguns aspectos:
Esta estratégia pertence a uma estratégia de quantificação de linha média-longa típica, que combina WebDriverWait==long term trend com uma média móvel de vários níveis para controlar o risco de negociação e obter lucro contínuo. Em comparação com um único indicador, esta estratégia combina vários conjuntos de parâmetros para identificar efetivamente os sinais de tendência de linha média-longa mais fortes. Com a otimização adicional, esta estratégia pode ser aplicada a mais variedades e desempenhar um papel importante no campo da quantificação de negociação.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 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/
// © Coinrule
//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)
//Entry
bullish = crossover(MAmid, MAlong)
strategy.entry(id="long", long = true, when = bullish and window())
//Exit
bearish = crossunder(MAshort, MAmid)
strategy.close("long", when = bearish and window())
plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)