
Die Strategie ist ein quantitatives Handelssystem, basierend auf einer multidimensionalen Analyse von technischen Indikatoren, das ein vollautomatisches Handelsentscheidungssystem durch die Integration von technischen Indikatoren wie dem Relativ-Schwachen-Indikator (RSI), dem Moving Average Convergence Scatter Indicator (MACD) und dem Index Moving Average (EMA) erstellt. Die Strategie ist modular gestaltet, unterstützt flexible Handelskonfigurationsparameter und integriert einen dynamischen Stop-Loss-Mechanismus und eine Stop-Loss-Tracking-Funktion, um stabile und gesunde Erträge unter kontrollierbarem Risiko zu erzielen.
Die Kernlogik der Strategie basiert auf einer synchronisierten Analyse der drei wichtigsten technischen Indikatoren:
Die Strategie kann einen Handel auslösen, sobald ein Indikator ein Signal erzeugt, und integriert zugleich ein Prozentsatzstop, einen festen Stop und eine Dreifachrisiko-Kontrolle, die den Stop verfolgt. Wenn der Preis das vorgegebene Gewinnziel erreicht, wird die Stop-Tracking-Funktion automatisch aktiviert, um sicherzustellen, dass die erzielten Gewinne nicht stark zurückgezogen werden.
Die Strategie baut durch die synchronisierte Analyse multidimensionaler technischer Kennzahlen einen systematischen Rahmen für die Handelsentscheidung auf und ermöglicht die präzise Verwaltung des gesamten Handelsprozesses durch einen ausgefeilten Risikokontrolle-Mechanismus. Obwohl es unter bestimmten Marktbedingungen zu spezifischen Herausforderungen kommen kann, wird die Strategie durch kontinuierliche Optimierung und Verbesserung eine stabile Leistung in verschiedenen Marktzyklen aufweisen.
/*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)