
Стратегия - это количественная торговая система, основанная на многомерном анализе технических показателей, которая создает полностью автоматизированную систему принятия решений о сделках путем интеграции таких технических показателей, как относительно сильный показатель ((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)