Strategi ini adalah sistem perdagangan kuantitatif berdasarkan analisis indikator teknis multidimensi, mengintegrasikan indikator teknis seperti Indeks Kekuatan Relatif (RSI), Divergensi Konvergensi Rata-rata Bergerak (MACD), dan Rata-rata Bergerak Eksponensial (EMA) untuk membangun sistem keputusan perdagangan yang sepenuhnya otomatis. Strategi ini mengadopsi desain modular, mendukung konfigurasi parameter perdagangan yang fleksibel, dan mengintegrasikan mekanisme take-profit, stop-loss, dan trailing stop yang dinamis untuk mencapai pengembalian yang stabil di bawah risiko yang terkendali.
Logika inti didasarkan pada analisis sinergi tiga indikator teknis utama:
Strategi ini memicu perdagangan ketika indikator manapun menghasilkan sinyal, sementara mengintegrasikan stop-loss berbasis persentase, fixed take-profit, dan mekanisme trailing stop.
Strategi ini membangun kerangka keputusan perdagangan yang sistematis melalui analisis indikator teknis multi-dimensi dan mencapai manajemen yang tepat dari seluruh proses perdagangan melalui mekanisme pengendalian risiko yang komprehensif. Meskipun menghadapi tantangan khusus di lingkungan pasar tertentu, strategi ini memiliki potensi untuk mempertahankan kinerja yang stabil di berbagai siklus pasar melalui optimalisasi dan perbaikan terus-menerus. Pendekatan desain modular juga memberikan dasar yang kuat untuk ekspansi fungsional dan optimalisasi di masa depan.
/*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)