
A estratégia é uma estratégia de acompanhamento de tendências baseada em um sistema de múltiplas linhas médias e indicadores RSI. A estratégia usa uma combinação de médias móveis de 20, 50 e 200 ciclos para julgar a tendência do mercado através da análise da relação de posição entre as diferentes linhas médias e, em combinação com o indicador RSI, para a confirmação de sinais de negociação. A estratégia define um stop loss dinâmico e uma meta de ganho para proteger os lucros obtidos através da forma de rastrear o stop loss.
O núcleo da estratégia é determinar a tendência do mercado através da análise da relação de posicionamento entre as três médias (MA20, MA50, MA200). A estratégia define 18 diferentes cenários de combinação de médias, com foco principal nos cruzamentos de médias e na relação de posicionamento. Quando a média de curto prazo está acima da média de longo prazo, há uma tendência a fazer mais; ao contrário, há uma tendência a fazer menos.
Esta é uma estratégia de acompanhamento de tendências com uma estrutura completa e uma lógica clara. Usando o sistema de combinação de múltiplas linhas de equilíbrio, combinado com a filtragem dos indicadores RSI, forma um sistema de negociação relativamente confiável. O mecanismo de gerenciamento de risco da estratégia é projetado de forma racional, protegendo os lucros e não saindo cedo demais, seguindo o stop loss.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true)
// Define the moving averages
TR20 = ta.sma(close, 20)
TR50 = ta.sma(close, 50)
TR200 = ta.sma(close, 200)
// Define the RSI for additional filtering
rsi = ta.rsi(close, 14)
// Define the scenarios
scenario1 = TR20 > TR50 and TR50 > TR200
scenario2 = TR50 > TR20 and TR20 > TR200
scenario3 = TR200 > TR50 and TR50 > TR20
scenario4 = TR50 > TR200 and TR200 > TR20
scenario5 = TR20 > TR200 and TR200 > TR50
scenario6 = TR200 > TR20 and TR20 > TR50
scenario7 = TR20 == TR50 and TR50 > TR200
scenario8 = TR50 == TR20 and TR20 > TR200
scenario9 = TR200 == TR50 and TR50 > TR20
scenario10 = TR20 > TR50 and TR50 == TR200
scenario11 = TR50 > TR20 and TR20 == TR200
scenario12 = TR20 > TR50 and TR50 == TR200
scenario13 = TR20 == TR50 and TR50 == TR200
scenario14 = TR20 > TR50 and TR200 == TR50
scenario15 = TR50 > TR20 and TR200 == TR50
scenario16 = TR20 > TR50 and TR50 == TR200
scenario17 = TR20 > TR50 and TR50 == TR200
scenario18 = TR20 > TR50 and TR50 == TR200
// Entry conditions
longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70
shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30
// Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)