
A estratégia baseia-se em uma média móvel simples (SMA) de vários períodos de tempo diferentes para determinar a tendência do mercado e emitir um sinal de compra e venda. A estratégia usa quatro SMAs na linha de 20, 50, 100 e 200. Faça mais quando estiver em SMA de curto prazo para um sinal de ouro; Faça vazio quando estiver em SMA de curto prazo para um sinal de morte.
A lógica central da estratégia é baseada nos seguintes pontos:
Calcule o SMA de vários períodos de tempo diferentes, incluindo linhas de 20, 50, 100 e 200 dias.
Para julgar a intersecção entre o SMA curto prazo (linha de 20 dias) e o SMA longo prazo (linha de 50 dias, 100 dias, 200 dias).
Quando a linha de 20 dias atravessa a linha de 50 dias, faça mais; quando a linha de 20 dias atravessa a linha de 50 dias, faça vazio.
Ao mesmo tempo, as linhas de 50 dias, 100 dias e 200 dias devem satisfazer a lógica de julgamento da grande tendência, ou seja, os SMA de períodos mais longos devem estar acima dos SMA de períodos mais curtos.
Prioridade de sinal de entrada: Linha 20 e Linha 50> Linha 20 e Linha 100> Linha 20 e Linha 200
O sinal de saída é a linha de 20 dias e a linha de 50 dias.
A estratégia baseia-se principalmente no cruzamento das linhas SMA para determinar a direção da tendência. No mercado de touros, o uso de SMA de curto prazo no SMA é um sinal de ouro, indicando que o mercado pode entrar em tendência; no mercado de beiros, o uso de SMA de curto prazo no SMA é um sinal de morte, indicando que o mercado pode entrar em ajuste. Além disso, o SMA de longo período é superior ao SMA de curto prazo.
A estratégia tem as seguintes vantagens:
A estratégia é simples, clara, fácil de entender e de implementar.
Usando a média móvel do índice SMA, é mais eficaz do que a EMA para filtrar o ruído do mercado e identificar tendências.
A combinação de múltiplos períodos de tempo SMA pode aumentar a confiabilidade do sinal.
A prioridade dos sinais de entrada deve ser razoavelmente definida para evitar a entrada prematura.
Pode-se personalizar o ciclo e a cor do SMA e a estratégia de otimização.
Pode ser usado em vários períodos de tempo, para diferentes estilos de negociação.
O sistema de cruzamento SMA é muito preciso e eficaz para julgar a tendência do mercado de ações.
A estratégia também apresenta os seguintes riscos:
Em situações de tremores, os sinais de cruzamento SMA são frequentes e podem gerar uma grande quantidade de sinais errados.
Os ciclos de SMA fixos não podem se adaptar às mudanças do mercado. Os parâmetros de SMA de otimização devem ser combinados com a tendência e a volatilidade.
O cruzamento SMA não pode determinar a hora de entrada por si só, mas deve ser combinado com outros indicadores como o MACD para auxiliar o julgamento.
A SMA é um sistema de atraso, que deve ser optimizado com antecedência para a entrada ou o uso de um cartão de preço limitado.
A estratégia exige um alto nível de gestão de fundos de negociação e deve respeitar rigorosamente a lógica de stop loss.
O impacto dos custos de transação na rentabilidade estratégica deve ser levado em consideração.
A estratégia pode ser melhorada em vários aspectos:
Otimização de parâmetros de ciclo SMA, diferentes parâmetros de ciclo são aplicáveis a diferentes condições de mercado, e podem ser combinados com a otimização dinâmica do ATR.
Adicionar outras combinações de indicadores, como MACD, RSI e outros, para auxiliar na filtragem de entrada no momento.
Aumentar a lógica de discernimento de tendências, como o ADX, para evitar erros de negociação em mercados turbulentos.
Optimização de stop loss, pode ser stop loss ATR ou stop loss tracking.
Optimizar o gerenciamento de posições, ajustando cada posição de acordo com a dinâmica do tamanho do capital.
Teste o efeito dos parâmetros de diferentes variedades, ajustando o ciclo SMA de acordo com as características.
A combinação de vários quadros temporais garante a consistência das tendências macroecológicas.
De um modo geral, a estratégia do SMA Gold Fork and Dead Fork, que determina a direção da tendência por meio de um simples sistema de cruzamento de médias móveis, é de alta confiabilidade e adequada para a maioria dos comerciantes. Mas ela tem alguns problemas de atraso e sinais errados. Devemos continuar a aperfeiçoar a estratégia em termos de otimização do tempo de entrada, parada de perdas, posições e gerenciamento de posições, para que ela possa ter uma capacidade de lucratividade estável em diferentes ambientes de mercado.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 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/
// © xyzdesign1989
//@version=5
strategy("SMA crossover buy/sell [SCSM_Algo]", overlay=true, margin_long=3000, margin_short=3000)
BuyCond = ta.crossover(ta.sma(close, 20), ta.sma(close, 50)) and ta.sma(close, 20) > ta.sma(close, 50) and ta.sma(close, 50) > ta.sma(close, 100) and ta.sma(close, 100) > ta.sma(close, 200) or (ta.crossover(ta.sma(close, 20), ta.sma(close, 100)) and ta.sma(close, 20) > ta.sma(close, 50))
if (BuyCond)
strategy.entry("SCSM 🤲 Buy", strategy.long)
SellCond = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50))
if (SellCond)
strategy.entry("الحمد للہ،Sell", strategy.short)
ma(source, length, type) =>
type == "SMA" ? ta.sma(source, length) :
type == "EMA" ? ta.ema(source, length) :
type == "SMMA (RMA)" ? ta.rma(source, length) :
type == "WMA" ? ta.wma(source, length) :
type == "VWMA" ? ta.vwma(source, length) :
na
show_ma1 = input(true , "MA №1", inline="MA #1")
ma1_type = input.string("SMA" , "" , inline="MA #1", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma1_source = input(close , "" , inline="MA #1")
ma1_length = input.int(20 , "" , inline="MA #1", minval=1)
ma1_color = input(#0929f6, "" , inline="MA #1")
ma1 = ma(ma1_source, ma1_length, ma1_type)
plot(show_ma1 ? ma1 : na, color = ma1_color, title="MA №1")
show_ma2 = input(true , "MA №2", inline="MA #2")
ma2_type = input.string("SMA" , "" , inline="MA #2", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma2_source = input(close , "" , inline="MA #2")
ma2_length = input.int(50 , "" , inline="MA #2", minval=1)
ma2_color = input(#00fb04, "" , inline="MA #2")
ma2 = ma(ma2_source, ma2_length, ma2_type)
plot(show_ma2 ? ma2 : na, color = ma2_color, title="MA №2")
show_ma3 = input(true , "MA №3", inline="MA #3")
ma3_type = input.string("SMA" , "" , inline="MA #3", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma3_source = input(close , "" , inline="MA #3")
ma3_length = input.int(100 , "" , inline="MA #3", minval=1)
ma3_color = input(#131313, "" , inline="MA #3")
ma3 = ma(ma3_source, ma3_length, ma3_type)
plot(show_ma3 ? ma3 : na, color = ma3_color, title="MA №3")
show_ma4 = input(true , "MA №4", inline="MA #4")
ma4_type = input.string("SMA" , "" , inline="MA #4", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
ma4_source = input(close , "" , inline="MA #4")
ma4_length = input.int(200 , "" , inline="MA #4", minval=1)
ma4_color = input(#f60c0c, "" , inline="MA #4")
ma4 = ma(ma4_source, ma4_length, ma4_type)
plot(show_ma4 ? ma4 : na, color = ma4_color, title="MA №4")