Esta estratégia é uma estratégia de negociação algorítmica de tendência. Ela calcula duas linhas EMA com parâmetros diferentes e gera sinais de negociação quando a Cruz de Ouro e a Cruz da Morte ocorrem entre as duas EMAs. A estratégia também combina várias linhas EMA para saída de lucro e define pontos de stop loss para controlar riscos.
A estratégia utiliza 4 linhas EMA, incluindo uma EMA rápida e uma EMA lenta, cujo cruzamento é usado para gerar sinais de compra e venda.
Especificamente, quando a EMA rápida cruza acima da EMA lenta, um sinal de compra é gerado. Quando a EMA rápida cruza abaixo da EMA lenta, um sinal de venda é gerado. Esta é uma estratégia típica de cruzamento de EMA dupla. Para acompanhar melhor as tendências e aumentar a lucratividade, depois de entrar em uma posição, a estratégia sairá seletivamente de parte ou de toda a posição quando a EMA rápida cruza acima da segunda linha EMA ou quando a EMA rápida cruza abaixo da terceira linha EMA.
Além disso, a estratégia estabelece pontos de stop loss tanto longos como curtos para evitar perdas excessivas, especificamente, o stop loss para posições longas é fixado em 6% do preço de entrada e 3% para posições curtas.
Em comparação com uma estratégia de cruzamento típica de dupla EMA, as principais vantagens desta estratégia incluem:
A criação de várias linhas EMA para a saída de lucros pode garantir melhor os lucros e evitar a contração dos lucros durante os retrocessos subsequentes.
A posição curta possui um stop loss menor, que pode suportar flutuações normais do mercado mais elevadas e evitar frequentes stop loss.
A definição de linhas EMA com diferentes parâmetros para a saída de lucro permite escolher o ponto de saída ideal com base nas condições de mercado.
A estratégia global tem uma boa capacidade de acompanhamento das tendências para obter maiores lucros das tendências a médio e longo prazo.
Os principais riscos desta estratégia incluem:
Nos mercados de intervalo, os sinais de negociação gerados pelas linhas EMA são frequentes, o que pode conduzir a um excesso de negociação.
O stop-loss curto só pode evitar condições de mercado extremas e não pode impedir uma retirada significativa da conta de estratégia.
O risco de recortes continua a existir e os lucros podem diminuir significativamente quando ocorre um ajustamento a longo prazo.
A estratégia é sensível ao ajuste de parâmetros. Configuração incorreta pode causar falha da estratégia.
Tendo em conta os riscos acima referidos, a estratégia pode ser otimizada nos seguintes aspectos:
Aumentar os algoritmos de aprendizagem de máquina para ajudar no julgamento da tendência e reduzir as probabilidades de erros de negociação.
Aumentar o mecanismo de stop loss adaptativo para ajustar dinamicamente o stop loss com base na volatilidade do mercado.
Definir a utilização do capital para evitar a ocupação excessiva do capital e aumentar o mecanismo de gestão da posição.
Selecionar produtos de negociação com tendências óbvias e fortes flutuações.
Aumentar o módulo de otimização de parâmetros para obter otimização e atualização automática de parâmetros.
Em geral, a estratégia de cruzamento de dupla EMA é uma estratégia de tendência de seguimento de custo-benefício. Ela tem vantagens como múltiplas linhas EMA para a tomada de lucro, pequenas paradas curtas e boa capacidade de seguimento de tendência. No entanto, ainda há alguns riscos com esta estratégia. Precisa de otimização de ajuste de parâmetros e incorporação de algoritmos de aprendizado de máquina para melhorar a estabilidade. Em geral, esta estratégia é adequada para investidores com alguma experiência de negociação para realizar negociação de algoritmos.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RealTraderAkeme //@version=5 strategy("AKEME_EMA_CROSS_V6", overlay=true) ////////////////////////////////////////////////////////////PARAMETERS///////////////////////////////////////////////////////////////// emaFast_op = input(title="Fast_EMA", defval=6) emaSlow_op = input(title="Slow_EMA", defval=26) emaExit_op = input(title="Sell_EMA_Exit",defval=10) emabuyExit_op = input(title="Buy_EMA_Exit",defval=20) Order_Value = input(defval=1000, title="Order_Value in Pounds") Direction_Of_Trade = input(title="Trade Direction", defval="Both") ////////////////////////////////////////////////////////////INPUTS////////////////////////////////////////////////////////////////// fastEMA = ta.ema(close, emaFast_op) slowEMA = ta.ema(close,emaSlow_op) emaExit = ta.ema(close,emaExit_op) emabuyExit = ta.ema(close,emabuyExit_op) Entry_Ratio = strategy.openprofit/Order_Value //////////////////////////////////////////////////////////GRAPHS////////////////////////////////////////////////////////////////// plot(fastEMA, color=color.orange, linewidth = 2) plot(slowEMA,color = color.blue, linewidth = 2) plot(emaExit,color = color.gray, linewidth = 2) plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2) /////////////////////////////////////////////////////Conditions////////////////////////////////////////////////////////////////////// longOK = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both") shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both") ///////////////////////////////////////////////////////////ENTRIES&EXITS/////////////////////////////////////////////////////////////// longCondition = ta.crossover(fastEMA, slowEMA) and longOK if (longCondition) strategy.entry("Buy", strategy.long) shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK if (shortCondition) strategy.entry("Sell", strategy.short) if (strategy.position_size > 0 and shortCondition) strategy.exit(id="exit Buy", stop=close) if (strategy.position_size < 0 and longCondition) strategy.exit(id="exit Sell", stop=close) /////////////////////////////////////////////////////TAKE PROFIT CONDITIONS//////////////////////////////////////////////////////// if ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333 strategy.close("Buy",comment = "Exit") if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666 strategy.close("Sell",comment = "Exit") if Entry_Ratio > 0.4166666 //0.4166666 strategy.close("Buy",comment = "Exit", qty_percent = 100) if Entry_Ratio > 0.0833333//0.0833333 strategy.close("Sell",comment = "Exit")//50 if Entry_Ratio > 0.1111111//4000 strategy.close("Sell",comment = "Exit", qty_percent = 50) if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage strategy.close("Sell",comment = "Exit") ////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS/////////////////////////////////////////// if Entry_Ratio < -0.05555555555 strategy.close("Buy",comment = "Exit") if Entry_Ratio < -0.027777777777 strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.