Cette stratégie est un système de négociation quantitatif basé sur l'analyse d'indicateurs techniques multidimensionnels, intégrant des indicateurs techniques tels que l'indice de force relative (RSI), la divergence de convergence de la moyenne mobile (MACD) et la moyenne mobile exponentielle (EMA) pour construire un système de décision de trading entièrement automatisé.
La logique de base repose sur l'analyse synergique de trois indicateurs techniques majeurs:
La stratégie déclenche les transactions lorsque n'importe quel indicateur génère un signal, tout en intégrant des mécanismes de stop-loss basés sur les pourcentages, de prise de profit fixe et de trailing stop. Lorsque le prix atteint l'objectif de profit prédéfini, le trailing stop est automatiquement activé pour protéger les profits accumulés contre des retraits importants.
La stratégie construit un cadre de décision de trading systématique grâce à l'analyse d'indicateurs techniques multidimensionnels et parvient à une gestion précise de l'ensemble du processus de trading grâce à des mécanismes complets de contrôle des risques. Tout en faisant face à des défis spécifiques dans certains environnements de marché, la stratégie a le potentiel de maintenir une performance stable à travers différents cycles de marché grâce à une optimisation et une amélioration continues.
/*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)