Esta estratégia utiliza o cruzamento de médias móveis exponenciais (EMA) para gerar sinais de negociação enquanto define dinamicamente os níveis de take profit e stop loss. Quando a EMA de curto prazo (EMA 12) cruza acima da EMA de longo prazo (EMA 26), um sinal de compra é gerado; inversamente, quando a EMA 12 cruza abaixo da EMA 26, um sinal de venda é gerado. A estratégia define diferentes níveis dinâmicos de take profit e stop loss para posições longas e curtas. Para posições longas, o take profit é definido em 8% acima do preço de entrada e o stop loss é definido em 2,5% abaixo do preço de entrada; para posições curtas, o take profit é definido em 8% abaixo do preço de entrada e o stop loss é definido em 2,5% acima do preço de entrada.
O núcleo desta estratégia é usar o cruzamento de duas EMAs com períodos diferentes para gerar sinais de negociação. A EMA é um indicador de tendência que suaviza os dados de preço e reduz a interferência de ruído. Quando a EMA de curto prazo cruza acima da EMA de longo prazo, ela indica uma tendência de fortalecimento do preço e gera um sinal de compra; inversamente, quando a EMA de curto prazo cruza abaixo da EMA de longo prazo, ela indica uma tendência de enfraquecimento do preço e gera um sinal de venda.
Ao mesmo tempo, a estratégia emprega um método dinâmico de take profit e stop loss, definindo diferentes níveis de take profit e stop loss com base na direção da posição atual (longa ou curta).
Simples e fácil de utilizar: a estratégia utiliza apenas o cruzamento de duas linhas EMA para gerar sinais de negociação, com lógica clara e fácil de compreender e implementar.
Seguimento de tendências: O indicador EMA possui boas capacidades de acompanhamento de tendências e pode capturar eficazmente as principais tendências dos preços.
Dinâmica de lucro e stop loss: Ao ajustar dinamicamente os níveis de lucro e stop loss com base na direção da posição, permite que os lucros se expandam completamente quando a tendência é forte, enquanto corta as perdas quando os preços se invertem, melhor controlando os riscos.
Forte adaptabilidade: a estratégia é aplicável a diferentes ambientes de mercado e instrumentos de negociação, com uma forte adaptabilidade e flexibilidade.
Risco de otimização de parâmetros: a seleção de períodos de EMA e a definição de rácios de take profit e stop loss precisam ser otimizados de acordo com ambientes de mercado e instrumentos de negociação específicos.
Risco de negociação frequente: quando o mercado está em um estado volátil, podem ocorrer crossovers da EMA com frequência, fazendo com que a estratégia gere mais sinais de negociação e aumente os custos e riscos de negociação.
Risco de inversão de tendência: quando a tendência do mercado se inverte repentinamente, a estratégia pode gerar sinais comerciais incorretos, levando a perdas.
Introduzir outros indicadores técnicos: considerar a introdução de outros indicadores técnicos, como o RSI e o MACD, para ajudar a confirmar os sinais cruzados da EMA e melhorar a fiabilidade dos sinais de negociação.
Otimizar as configurações dos parâmetros: encontrar a melhor combinação de parâmetros adequada para ambientes de mercado e instrumentos de negociação específicos, otimizando e testando períodos de EMA e tomando lucro e stop loss.
Introduzir medidas de controlo de riscos: considerar a introdução de medidas de controlo de riscos, tais como gestão de posições e gestão de capitais, para controlar melhor os riscos comerciais.
Combinar com a análise fundamental: Combinar a análise técnica com a análise fundamental, considerando de forma abrangente o ambiente do mercado, os dados económicos e outros fatores para melhorar a precisão das decisões comerciais.
Esta estratégia usa cruzamento EMA para gerar sinais de negociação e emprega um método dinâmico de take profit e stop loss para controlar os riscos. Tem vantagens como simplicidade, tendência e forte adaptabilidade, mas também enfrenta desafios como risco de otimização de parâmetros, risco de negociação frequente e risco de reversão de tendência. Introduzindo outros indicadores técnicos, otimizando configurações de parâmetros, introduzindo medidas de controle de risco e combinando com análise fundamental, o desempenho desta estratégia pode ser ainda mais otimizado para melhorar sua aplicabilidade e lucratividade na negociação real.
/*backtest start: 2023-05-23 00:00:00 end: 2024-05-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CDC Action Zone Trading Bot with Dynamic TP/SL", overlay=true) // ดึงข้อมูลราคาปัจจุบัน current_price = close // คำนวณเส้น EMA 12 และ EMA 26 ema12 = ta.ema(current_price, 12) ema26 = ta.ema(current_price, 26) // กำหนดเปอร์เซ็นต์ Take Profit และ Stop Loss takeProfitPercent = 0.080 stopLossPercent = 0.025 // คำนวณระดับ Take Profit และ Stop Loss longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent) longStopLoss = strategy.position_avg_price * (1 - stopLossPercent) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent) // สัญญาณ Buy buySignal = (ema12 > ema26) and (ema12[1] <= ema26[1]) // สัญญาณ Sell sellSignal = (ema12 < ema26) and (ema12[1] >= ema26[1]) // เปิด Position Long if (buySignal) strategy.entry("Long", strategy.long) // เปิด Position Short if (sellSignal) strategy.entry("Short", strategy.short) // ปิด Position Long เมื่อถึง Take Profit หรือ Stop Loss if (strategy.position_size > 0) strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss, comment="TP/SL") // ปิด Position Short เมื่อถึง Take Profit หรือ Stop Loss if (strategy.position_size < 0) strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss, comment="TP/SL") // ปิด Position Long เมื่อเกิดสัญญาณขาย if (strategy.position_size > 0 and sellSignal) strategy.close("Long", comment="Sell Signal") // ปิด Position Short เมื่อเกิดสัญญาณซื้อ if (strategy.position_size < 0 and buySignal) strategy.close("Short", comment="Buy Signal") // Debugging messages to plot the calculated levels for visual verification //plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_line) //plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_line) //plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_line) //plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_line)