
La estrategia es un sistema de comercio cuantitativo basado en el análisis de indicadores técnicos multidimensionales, que construye un sistema de toma de decisiones de comercio totalmente automatizado mediante la integración de indicadores técnicos como el indicador de fuerza relativa (RSI), el indicador de dispersión de convergencia de promedios móviles (MACD) y el indicador de promedios móviles de índices (EMA). La estrategia adopta un diseño modular, admite parámetros de configuración de comercio flexibles e integra un mecanismo de stop loss dinámico y una función de seguimiento de stop loss para lograr ganancias estables y saludables bajo control de riesgos.
La lógica central de la estrategia se basa en el análisis conjunto de tres indicadores técnicos:
La estrategia puede activar la operación en cualquier indicador de la generación de señales, mientras que la integración de la pérdida porcentual de parada, parada fija y seguimiento de la parada de la pérdida triple mecanismo de control de riesgo. Cuando el precio alcanza el objetivo de ganancias predeterminadas, activar automáticamente la función de seguimiento de la parada de pérdidas, asegurando que los beneficios obtenidos no se retiran en gran medida.
La estrategia construye un marco sistematizado para la toma de decisiones comerciales a través del análisis colaborativo de indicadores técnicos multidimensionales, y permite un control preciso de todo el proceso de negociación a través de un mecanismo de control de riesgos bien desarrollado. Aunque puede enfrentar desafíos específicos en ciertos entornos de mercado, la estrategia espera mantener un rendimiento estable en diferentes ciclos de mercado a través de la optimización y mejora continuas. La idea de diseño modular de la estrategia también proporciona una buena base para la extensión y optimización de funciones posteriores.
/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 4h
basePeriod: 4h
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/
// © rfssocal
//@version=5
strategy("Quantico Bot MILLIONARIO", overlay=true)
// Configuração inicial de parâmetros
capital_inicial = input.float(100, "Capital Inicial ($)", minval=10)
risco_por_trade = input.float(1, "Risco por Trade (%)", minval=0.1, maxval=100)
take_profit_percent = input.float(2, "Take Profit (%)", minval=0.1)
stop_loss_percent = input.float(1, "Stop Loss (%)", minval=0.1)
trailing_stop_percent = input.float(5, "Trailing Stop Gatilho (%)", minval=0.1)
// Configuração de indicadores
usar_rsi = input.bool(true, "Usar RSI como Indicador")
usar_macd = input.bool(true, "Usar MACD como Indicador")
usar_ema = input.bool(true, "Usar EMA como Indicador")
// Indicadores
rsi_value = ta.rsi(close, 14)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
ema_20 = ta.ema(close, 20)
ema_50 = ta.ema(close, 50)
// Condições de compra
compra_rsi = usar_rsi and rsi_value < 30
compra_macd = usar_macd and macd_line > signal_line
compra_ema = usar_ema and ema_20 > ema_50
compra = compra_rsi or compra_macd or compra_ema
// Condições de venda
venda_rsi = usar_rsi and rsi_value > 70
venda_macd = usar_macd and macd_line < signal_line
venda_ema = usar_ema and ema_20 < ema_50
venda = venda_rsi or venda_macd or venda_ema
// Calcular stop loss e take profit
stop_loss_price = strategy.position_avg_price * (1 - stop_loss_percent / 100)
take_profit_price = strategy.position_avg_price * (1 + take_profit_percent / 100)
// Adiciona trailing stop automático
if (strategy.position_size > 0 and close >= strategy.position_avg_price * (1 + trailing_stop_percent / 100))
strategy.exit("Trailing Stop", from_entry="Compra", stop=close * 0.99)
// Executa as ordens automáticas
if (compra)
strategy.entry("Compra", strategy.long)
if (venda)
strategy.entry("Venda", strategy.short)
// Variável para calcular o lucro total
var float total_profit = 0.0
total_profit := strategy.netprofit
// Exibição de dados no gráfico
label.new(bar_index, na, "Take Profit: " + str.tostring(take_profit_price) + "\nStop Loss: " + str.tostring(stop_loss_price),
style=label.style_label_down, color=color.green, textcolor=color.white)
// Exibe o balanço
label.new(bar_index, na, "Balanço Atual\nDiário: " + str.tostring(total_profit), style=label.style_label_down, color=color.blue, textcolor=color.white)