
A estratégia julga o tempo de entrada e saída através do cálculo do 20o dia de MMO (EMA20) e do 50o dia de MMO (EMA50). Quando o EMA20 é usado para o EMA50, faça mais; quando o EMA20 é usado para o EMA50, faça menos. Ao mesmo tempo, o mecanismo de parada de perda é usado para controlar a recompensa do risco.
Os indicadores centrais da estratégia são os EMAs de 20 e 50 dias. O EMA20 representa a tendência de curto prazo e o EMA50 representa a tendência de médio prazo. Quando a tendência de curto prazo atravessa a tendência de médio prazo, o mercado muda de baixa para alta, e o mais pode ser lucrativo; Quando a tendência de curto prazo atravessa a tendência de médio prazo, o mercado muda de alta para baixa, e o zero pode ser lucrativo.
Concretamente, primeiro calcule o valor da EMA de 20 dias e da EMA de 50 dias. Em seguida, trace os segmentos EMA20 e EMA50 no gráfico. Quando ocorre uma passagem da EMA20 pela EMA50, faça mais; Quando ocorre uma passagem da EMA20 pela EMA50, faça um vazio.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
A estratégia pode ser melhorada em vários aspectos:
Teste combinações de EMA de diferentes parâmetros para encontrar o melhor.
Filtragem e verificação de sinais em combinação com outros indicadores.
Ajuste dinâmico da proporção de suspensão de perda. Diferentes configurações de suspensão de perda podem ser usadas em diferentes situações.
Reduzir adequadamente o período de detenção. Reduzir a probabilidade de ser afetado por eventos surpreendentes.
A estratégia de negociação de curto prazo do EMA Gold Fork Dead Fork, que determina o momento de entrada por meio de indicadores simples, usa o controle de risco do stop loss. É fácil de operar e é adequado para negociação ativa de curto prazo.
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Swing Trading with 20/50 EMA Cross", shorttitle = "EMA Cross", overlay = true)
// Define input for stop-loss and take-profit levels
var float stopLossPct = input.float(1, title = "Stop Loss (%)") / 100
var float rewardRiskRatio = input.float(2, title = "Risk-Reward Ratio")
takeProfitPct = stopLossPct * rewardRiskRatio
// Calculate EMA values
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
// Plot EMAs on the chart
plot(ema20, title = "20 EMA", color = color.blue)
plot(ema50, title = "50 EMA", color = color.red)
// Trading conditions
longCondition = ta.crossover(ema20, ema50)
shortCondition = ta.crossunder(ema20, ema50)
// Execute long and short trades
strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)
// Calculate stop-loss and take-profit levels based on risk-reward ratio
stopLossPrice = close * (1 - stopLossPct)
takeProfitPrice = close * (1 + takeProfitPct)
strategy.exit("Take Profit/Stop Loss", stop = stopLossPrice, limit = takeProfitPrice)