
La estrategia es un sistema integral de seguimiento de tendencias que combina múltiples indicadores técnicos y métodos de análisis de la dinámica. El núcleo de la estrategia utiliza una combinación de cruce de medias, confirmación de tendencias y indicadores de dinámica para controlar el riesgo a través de la fluctuación, para captar las tendencias del mercado y administrar el riesgo de manera efectiva. La estrategia es una buena adaptación en un entorno de mercado con tendencias evidentes a medio y largo plazo.
La estrategia utiliza un mecanismo de confirmación de señales de varios niveles, que incluye los siguientes elementos clave:
Las condiciones de las transacciones para la determinación integral de múltiples señales son las siguientes: Hacer más condiciones: atravesar EMA21 en EMA9, la línea MACD es mayor que la línea de señal y es positiva, el RSI está entre 40-70, el precio está por encima de EMA9 Condiciones de vacío: EMA9 por debajo de EMA21, la línea MACD es menor que la línea de señal y es negativa, el RSI está entre 30 y 60, el precio está por debajo de EMA9
La estrategia utiliza una combinación de múltiples indicadores técnicos para construir un sistema de comercio de seguimiento de tendencias relativamente completo. La principal ventaja de la estrategia reside en la fiabilidad de la señal y la racionalidad del control de riesgos, pero también existe un cierto retraso y problemas de optimización de parámetros.
/*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("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true)
// Definição das Médias Móveis Exponenciais (EMA)
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
// Definição do MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Definição do RSI
rsi = ta.rsi(close, 14)
// Volume médio
volMedio = ta.sma(volume, 14)
// Definição das Bollinger Bands
basis = ta.sma(close, 20)
dev = ta.stdev(close, 20)
upperBand = basis + 2 * dev
lowerBand = basis - 2 * dev
// Condições de Compra (Long)
longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9)
if (longCondition)
strategy.entry("Compra", strategy.long)
// Condições de Venda (Short)
shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9)
if (shortCondition)
strategy.entry("Venda", strategy.short)
// Stop Loss e Take Profit
strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400)
strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400)
// Plotagem das Médias Móveis e Bollinger Bands
plot(ema9, color=color.green, title="EMA 9")
plot(ema21, color=color.red, title="EMA 21")
plot(upperBand, color=color.blue, title="Upper Band")
plot(lowerBand, color=color.blue, title="Lower Band")