
Esta estratégia é conhecida como estratégia de negociação quantitativa baseada em SMA, EMA, e sua principal ideia é combinar a média SMA e a média EMA de diferentes parâmetros para construir um sinal de negociação.
Calcule a média SMA9, SMA50, SMA180 e a média EMA20 para o preço de fechamento.
De acordo com a relação entre o preço de fechamento e o suporte e a resistência, determine os sinais de compra e venda. Quando o fechamento quebra o suporte, gera um sinal de compra. Quando o fechamento quebra o res, gera um sinal de venda.
Execute a estratégia de abertura de posição múltipla ao comprar um sinal de desencadeamento; liquide a posição múltipla ao vender um sinal de desencadeamento.
Execute a estratégia de abertura de posição em branco quando for vendido um sinal de disparo; liquide a posição em branco quando for comprado um sinal de disparo.
A combinação de várias linhas de equilíbrio para formar o sinal de negociação, aumentando a precisão e estabilidade do sinal.
Calculando a resistência de suporte dinâmico, o que torna o sinal de negociação mais forte.
A linha média de alta e baixa oscilação é usada para avaliar a tendência de longo prazo e, ao mesmo tempo, os breaks de curto prazo para aumentar as oportunidades de estratégia para a taxa de lucro.
Os investidores devem ter em mente que o mercado de ações e de ações de curto prazo é um mercado de ações e de ações de curto prazo, e que o mercado de ações e de ações de curto prazo é um mercado de ações.
O SMA médio está atrasado, o que pode levar a um atraso no sinal de compra e venda, o que pode afetar a eficácia da estratégia.
Sem um mecanismo de parada de perdas, os perdas de posição podem se expandir.
Os dados de retrospecção são insuficientes e os parâmetros no disco rígido precisam ser ajustados de acordo com o mercado.
A dependência de indicadores técnicos para a formação de sinais de negociação é incapaz de responder ao impacto de um grande evento de Black Swan.
A solução para o risco:
Aumentar o mecanismo de stop loss baseado na volatilidade para controlar as perdas individuais.
A adição de modelos de aprendizagem de máquina para avaliar tendências de mercado, auxiliando na formação de sinais de negociação.
A adição de módulos de análise de pontos-chave de preços aumentou a precisão dos julgamentos de resistência.
Teste diferentes combinações de parâmetros de indicadores de equilíbrio, procurando o melhor parâmetro.
Esta estratégia utiliza os indicadores técnicos da linha média SMA e da linha média EMA para construir sinais de negociação, além de calcular o nível de resistência de suporte dinâmico, formando uma lógica de estratégia de compra e venda mais completa. A estratégia de estratégia tem os benefícios da flexibilidade dos parâmetros de indicador, negociação bidirecional e adaptação a vários cenários, mas também enfrenta problemas como atraso na linha média, parada imperfeita.
]
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-11 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//SMA and EMA code
smaInput1 = input(9, title="SMA1")
smaInput2 = input(50, title="SMA2")
smaInput3 = input(180, title="SMA3")
emaInput1 = input(20, title="EMA1")
sma1 = sma(close, smaInput1)
sma2 = sma(close, smaInput2)
sma3 = sma(close, smaInput3)
EMA1 = ema(close, emaInput1)
plot(sma1, color= color.red , title="SMA1")
plot(sma2, color = color.blue, title="SMA2")
plot(sma3, color= color.white, title="SMA3")
plot(EMA1, color = color.yellow, title="EMA1")
no=input(3,title="BUY/SELL Swing")
Barcolor=input(false,title="BUY/SELL Bar Color")
Bgcolor=input(false,title="BUY/SELL Background Color")
res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)
// Buy/sell signals
BuySignal = crossover(close, tsl)
SellSignal = crossunder(close, tsl)
// Enter long position
strategy.entry("Buy", strategy.long, when=BuySignal)
// Exit long position
strategy.exit("Sell", "Buy", when=SellSignal)
// Enter short position
strategy.entry("Sell", strategy.short, when=SellSignal)
// Exit short position
strategy.exit("Buy", "Sell", when=BuySignal)
colr = close>=tsl ? color.green : close<=tsl ? color.red : na
plot(tsl, color=colr)