Strategi ini adalah sistem perdagangan kuantitatif berdasarkan analisis penunjuk teknikal berbilang dimensi, mengintegrasikan penunjuk teknikal seperti Indeks Kekuatan Relatif (RSI), Divergensi Convergensi Purata Bergerak (MACD), dan Purata Bergerak Eksponensial (EMA) untuk membina sistem keputusan perdagangan automatik sepenuhnya. Strategi ini mengamalkan reka bentuk modular, menyokong konfigurasi parameter perdagangan yang fleksibel, dan mengintegrasikan mekanisme mengambil keuntungan, berhenti rugi, dan trailing stop yang dinamik untuk mencapai pulangan yang stabil di bawah risiko terkawal.
Logik terasnya adalah berdasarkan analisis sinergi tiga penunjuk teknikal utama:
Strategi ini mencetuskan dagangan apabila mana-mana penunjuk menghasilkan isyarat, sambil mengintegrasikan mekanisme stop-loss berasaskan peratusan, mengambil keuntungan tetap, dan menghentikan baki.
Strategi ini membina kerangka keputusan perdagangan yang sistematik melalui analisis penunjuk teknikal berbilang dimensi dan mencapai pengurusan yang tepat terhadap keseluruhan proses perdagangan melalui mekanisme kawalan risiko yang komprehensif. Walaupun menghadapi cabaran khusus dalam persekitaran pasaran tertentu, strategi ini berpotensi untuk mengekalkan prestasi yang stabil merentasi kitaran pasaran yang berbeza melalui pengoptimuman dan peningkatan yang berterusan. Pendekatan reka bentuk modular juga menyediakan asas yang kukuh untuk pengembangan dan pengoptimuman fungsi 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)