이 전략은 다차원 기술 지표 분석을 기반으로 한 양적 거래 시스템으로, 완전 자동화 된 거래 결정 시스템을 구축하기 위해 상대 강도 지표 (RSI), 이동 평균 컨버전스 디버전스 (MACD), 지수 이동 평균 (EMA) 과 같은 기술 지표를 통합합니다. 전략은 모듈형 디자인을 채택하고, 거래 매개 변수 유연한 구성을 지원하며, 제어 된 위험에 따라 안정적인 수익을 달성하기 위해 동적 인 수익, 손실 중지 및 후속 중지 메커니즘을 통합합니다.
핵심 논리는 세 가지 주요 기술 지표의 시너지 분석에 기반합니다.
이 전략은 어떤 지표가 신호를 생성할 때 거래를 촉발시키며, 비율 기반의 스톱 로스, 고정된 테이프 및 트레일링 스톱 메커니즘을 통합합니다. 가격이 미리 설정된 수익 목표에 도달하면, 트레일링 스톱은 축적된 이익을 중요한 드라우다운으로부터 보호하기 위해 자동으로 활성화됩니다.
이 전략은 다차원 기술 지표 분석을 통해 체계적인 거래 결정 프레임워크를 구축하고 포괄적인 위험 관리 메커니즘을 통해 전체 거래 프로세스의 정확한 관리를 달성합니다. 특정 시장 환경에서 특정 과제에 직면하면서 전략은 지속적인 최적화 및 개선으로 다른 시장 주기에 걸쳐 안정적인 성능을 유지할 수 있습니다. 모듈형 설계 접근법은 또한 미래의 기능 확장 및 최적화에 대한 견고한 토대를 제공합니다.
/*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)