Chiến lược này là một hệ thống giao dịch định lượng dựa trên phân tích các chỉ số kỹ thuật đa chiều, tích hợp các chỉ số kỹ thuật như Chỉ số sức mạnh tương đối (RSI), Phân biệt hội tụ trung bình động (MACD) và Trung bình động theo cấp số (EMA) để xây dựng một hệ thống quyết định giao dịch tự động hoàn toàn. Chiến lược này áp dụng thiết kế mô-đun, hỗ trợ cấu hình linh hoạt của các tham số giao dịch và tích hợp các cơ chế lấy lợi nhuận, dừng lỗ và dừng lại để đạt được lợi nhuận ổn định dưới rủi ro được kiểm soát.
Lý thuyết cốt lõi dựa trên phân tích phối hợp của ba chỉ số kỹ thuật chính:
Chiến lược này kích hoạt giao dịch khi bất kỳ chỉ số nào tạo ra tín hiệu, trong khi tích hợp cơ chế dừng lỗ dựa trên tỷ lệ phần trăm, lợi nhuận cố định và cơ chế dừng theo dõi.
Chiến lược này xây dựng một khuôn khổ quyết định giao dịch có hệ thống thông qua phân tích chỉ số kỹ thuật đa chiều và đạt được quản lý chính xác toàn bộ quy trình giao dịch thông qua các cơ chế kiểm soát rủi ro toàn diện. Trong khi phải đối mặt với những thách thức cụ thể trong một số môi trường thị trường nhất định, chiến lược có tiềm năng duy trì hiệu suất ổn định trong các chu kỳ thị trường khác nhau thông qua tối ưu hóa và cải thiện liên tục. Cách tiếp cận thiết kế mô-đun cũng cung cấp một nền tảng vững chắc cho việc mở rộng và tối ưu hóa chức năng trong tương lai.
/*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)