
A estratégia de negociação de linha curta quantitativa RSI de múltiplos indicadores híbridos é um sistema de negociação integrado que combina vários indicadores técnicos, projetado especificamente para os comerciantes de linha curta. A estratégia combina indicadores RSI, médias móveis, análise de volume de transação e padrões de comportamento de preços, formando uma estrutura de decisão de negociação multidimensional. O núcleo da estratégia é um mecanismo de filtragem de sinais com diferentes níveis de sensibilidade, permitindo que os comerciantes ajustem a frequência de negociação e a qualidade do sinal de acordo com suas próprias preferências de risco e condições de mercado.
A estratégia baseia-se na sinergia de vários elementos tecnológicos fundamentais:
O RSI supera os sinais de compra e vendaO indicador RSI de 14 períodos é usado para identificar áreas de sobrecompra (<70) e sobrevenda (<30) como os principais sinais de negociação.
Confirmação da tendência da média móvelEstratégia: Combina as médias móveis EMA dos períodos 9, 21 e 50 para construir um sistema de identificação de tendências. Determine a direção e a força da tendência do mercado observando a relação entre essas médias. Confirma uma forte tendência ascendente quando EMA9> EMA21> EMA50; Confirma uma forte tendência descendente quando EMA9< EMA21< EMA50 .
Verificação de entregaMelhorar a qualidade do sinal, garantindo que as transações ocorram em um ambiente de mercado suficientemente ativo, comparando o volume de transações atual com o volume de transações médio de 10 ciclos.
Padrões de comportamento dos preçosAnálise da trajetória do mapa de preços, em particular, a trajetória de uma forte tendência de baixa e de alta, para medir a dinâmica de preços através da proporção entre a entidade e a linha de sombra.
Sensibilidade de sinal múltiplaA estratégia foi projetada com quatro níveis diferentes de sensibilidade de sinal (“ง่ายมาก”, “อ่อน”, “กลาง”, “medium”, “แรง”), permitindo que os comerciantes ajustem a frequência e a precisão de negociação de acordo com as condições do mercado e as preferências de risco.
Mecanismos inteligentes de partidaA estratégia implementa múltiplos mecanismos de saida, incluindo um stop loss fixo, um RSI de reversão de sinal de saída rápida e uma função de stop loss de rastreamento, que bloqueia os lucros obtidos através de um preço de stop loss de ajuste dinâmico.
Limitação de volume diárioA função de limitação de transações diárias é incorporada para evitar transações excessivas e atender às características do estilo de negociação de linha curta.
Ajuste de sensibilidade de sinal flexívelA maior vantagem da estratégia reside no seu sistema de sensibilidade de sinal ajustável, onde o comerciante pode escolher entre quatro níveis de “muito fácil” a “intensidade”, encontrando um ponto de equilíbrio entre a frequência de negociação e a qualidade do sinal. Isso permite que a estratégia se adapte a diferentes ambientes de mercado e estilos de negociação individuais.
Mecanismo de gestão de riscos múltiplosA estratégia integra vários métodos de controle de risco, como stop-loss fixo, stop-loss de rastreamento e saida rápida baseada no RSI, fornecendo uma estrutura de gerenciamento de risco abrangente. Em particular, a função de stop-loss de rastreamento permite bloquear progressivamente os ganhos obtidos, mantendo espaço para o crescimento dos lucros.
Integração de todos os indicadores técnicosAo combinar RSI, EMA, volume de transação e análise de comportamento de preços, a estratégia permite avaliar a situação do mercado em várias dimensões, reduzindo a produção de falsos sinais e aumentando a precisão de negociação.
Execução automática de transaçõesA estratégia é totalmente automatizada, desde a geração de sinais, a decisão de entrada até a gestão de saída, reduzindo a interferência emocional humana e garantindo a disciplina de negociação.
Visualização de feedback em tempo realA função de visualização do painel de instrumentos incorporado permite aos traders monitorar intuitivamente o desempenho da estratégia, a situação atual do mercado e o estado das negociações, facilitando a adoção de decisões em tempo real.
Capacidade de integração de comunicaçõesA estratégia é apoiar a função de envio de mensagens do Telegram, monitoramento remoto de transações e notificações de sinais, aumentando a facilidade de operação.
Limites do RSIO RSI é a principal fonte de sinais, com o risco de atraso e falsos sinais, especialmente os frequentes sinais errôneos que podem ser produzidos em mercados turbulentos. A solução é a combinação de filtros de tendência e a confirmação de comportamento de preços, ou aumentar os requisitos de sensibilidade de sinal em mercados horizontais.
Risco de otimização excessivaOs parâmetros de estratégia, incluindo os limites do RSI, o ciclo EMA, a porcentagem de stop loss, etc., podem levar a otimização excessiva. Recomenda-se a verificação da estabilidade dos parâmetros por meio de testes retrospectivos de dados históricos e de testes futuros, evitando combinações de parâmetros que se adaptam apenas aos dados históricos.
Risco de mercado rápido: Em situações de alta volatilidade ou de volatilidade do mercado, o stop-loss fixo pode não ser efetivamente executado, resultando em perdas reais superiores às esperadas. Considere o uso de níveis de stop-loss ajustados à taxa de flutuação ou o aumento das condições de filtragem de volatilidade do mercado para lidar com esse risco.
Risco de frequência de transaçãoA estratégia pode gerar excesso de sinais de negociação, aumentando os custos de negociação, especialmente em configurações de baixa sensibilidade. A frequência de negociação pode ser controlada através da definição razoável de limites diários de negociação e do ajuste da sensibilidade do sinal.
A mudança de tendência é prematura.: Dependendo da EMA, a tendência pode não ser suficientemente rápida para reagir no início de uma reversão de tendência. Recomenda-se a combinação de outros indicadores de confirmação de tendência, como o ADX ou o Parabolic SAR, para aumentar a capacidade de identificação de tendências.
Ajustes de parâmetros de adaptaçãoA estratégia atual usa um limite de RSI e um ciclo de EMA fixos e pode introduzir um sistema de parâmetros de adaptação baseado na volatilidade do mercado. Por exemplo, ajustar automaticamente o limite de venda e venda do RSI em mercados de alta volatilidade ou ajustar o comprimento do ciclo de EMA de acordo com a dinâmica de diferentes quadros temporais, aumentando a adaptabilidade da estratégia a diferentes ambientes de mercado.
Mecanismo de filtragem de sinal reforçadoA introdução de indicadores de identificação de ambientes de mercado em mais dimensões, como o ATR (Average True Range) para avaliar a taxa de flutuação, o ADX (Average Directional Index) para confirmar a intensidade da tendência, ou o uso de análise de múltiplos quadros temporais para melhorar a qualidade do sinal. Esses filtros adicionais podem reduzir os falsos sinais e melhorar a taxa de sucesso das negociações.
Otimização do sistema de gestão de fundosA estratégia atual de gerenciamento de posições é relativamente simples, podendo ser introduzido um ajuste de posição dinâmico baseado em porcentagem de patrimônio líquido da conta ou um método de distribuição de fundos baseado na regra de Kelly. Isso permite ajustar automaticamente o risco de cada transação com base no desempenho histórico das negociações e na situação atual do mercado.
Adicionar componentes de aprendizagem de máquinaO algoritmo de aprendizagem de máquina pode ser usado para analisar dados históricos de negociação, identificando automaticamente as estratégias para o melhor conjunto de parâmetros em diferentes ambientes de mercado. A criação de modelos capazes de prever a confiabilidade do sinal, aumentando ainda mais a qualidade das decisões de negociação, através de métodos de aprendizagem supervisionada ou de aprendizagem por reforço.
Classificação do estado do mercado expandido: Pode ser desenvolvido um sistema de classificação de estados de mercado mais detalhados, como tendências, oscilações intercalares, alta volatilidade, etc., e criar regras e parâmetros de negociação correspondentes para cada estado de mercado. Esta estrutura de estratégia de estratificação permite uma melhor resposta a diferentes circunstâncias de mercado.
A estratégia de negociação de curto prazo quantitativa RSI de múltiplos indicadores é um sistema de negociação de curto prazo abrangente e flexível, que constrói um quadro de decisão de negociação multidimensional através da integração de RSI, média móvel, volume de transação e análise de comportamento de preços. Sua maior vantagem reside no sistema de sensibilidade de sinal flexível e ajustável e no mecanismo de gerenciamento de risco múltiplo, que permite ao comerciante personalizar a estratégia de negociação de acordo com o ambiente de mercado e as preferências de risco pessoais.
Apesar de existirem riscos potenciais, como limitações do indicador RSI e otimização de parâmetros, esses riscos podem ser controlados de forma eficaz com o gerenciamento adequado de riscos e otimização contínua. A direção de otimização futura deve se concentrar na auto-adaptação de parâmetros, na melhoria da filtragem de sinais, na otimização de gerenciamento de fundos e na introdução de tecnologias avançadas, como aprendizado de máquina, para melhorar ainda mais a robustez e a adaptabilidade da estratégia.
Em geral, trata-se de uma estratégia de negociação quantitativa de design racional e estruturado, com alto valor de uso e flexibilidade. Para os comerciantes que procuram oportunidades de negociação de curta distância e que se concentram no controle de risco, o sistema oferece um bom ponto de partida, que pode ser desenvolvido para se tornar uma ferramenta de negociação estável e confiável através de testes e ajustes contínuos.
/*backtest
start: 2024-07-31 00:00:00
end: 2025-07-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("🔥 HYBRID SCALPING Bot - เข้าง่าย ออกแม่น", overlay=true, max_labels_count=50, calc_on_order_fills=false, process_orders_on_close=true, pyramiding=0)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📋 การตั้งค่าแบบ Hybrid - รวมจุดเด่นทั้งสอง
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// การตั้งค่าเทรด - Scalping Style
group_trading = "⚡ การตั้งค่า Scalping"
daily_trade_limit = input.int(15, "ลิมิตเทรดต่อวัน", minval=5, maxval=50, tooltip="Scalping = เทรดบ่อย", group=group_trading)
tp_percent = input.float(0.8, "Take Profit %", minval=0.3, maxval=3.0, tooltip="เล็กแต่ชัวร์", group=group_trading)
sl_percent = input.float(0.6, "Stop Loss %", minval=0.3, maxval=2.0, tooltip="ตัดขาดทุนเร็ว", group=group_trading)
// การตั้งค่าการออกเทรด - จาก Scalping Bot
use_quick_exit = input.bool(true, "ออกเทรดเร็ว", tooltip="ออกเมื่อ RSI กลับตัว", group=group_trading)
use_trailing_stop = input.bool(true, "ใช้ Trailing Stop", tooltip="ล็อคกำไรเมื่อขึ้น", group=group_trading)
trailing_percent = input.float(0.4, "Trailing Stop %", minval=0.2, maxval=1.0, group=group_trading)
// ความยากง่ายในการเข้าเทรด - จาก Debug Bot
group_sensitivity = "🎯 ความยากง่ายการเข้าเทรด"
signal_sensitivity = input.string("อ่อน", "ระดับความรุนแรง", options=["ง่ายมาก", "อ่อน", "กลาง", "แรง"],
tooltip="ง่ายมาก=เข้าเทรดบ่อยสุด, แรง=แม่นยำสุด", group=group_sensitivity)
// ฟิลเตอร์เสริม - ปรับได้ตามระดับ
use_trend_filter = input.bool(true, "ใช้ฟิลเตอร์เทรนด์", tooltip="เทรดตามเทรนด์เท่านั้น", group=group_sensitivity)
use_volume_filter = input.bool(false, "ใช้ฟิลเตอร์ Volume", tooltip="ต้องมี Volume สูง", group=group_sensitivity)
// การแสดงผล
group_display = "🎨 การแสดงผล"
show_signals = input.bool(true, "แสดงสัญญาณ", group=group_display)
show_exit_signals = input.bool(true, "แสดงสัญญาณออก", group=group_display)
show_dashboard = input.bool(true, "แสดง Dashboard", group=group_display)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📱 การตั้งค่า Telegram - แบบง่าย (จาก Debug Bot)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
group_telegram = "📱 Telegram"
enable_telegram = input.bool(false, "เปิด Telegram", group=group_telegram)
telegram_bot_token = input.string("", "Bot Token", group=group_telegram)
telegram_chat_id = input.string("", "Chat ID", group=group_telegram)
send_test_message = input.bool(false, "ส่งข้อความทดสอบ", group=group_telegram)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🧮 ตัวชี้วัดเทคนิค - Hybrid
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// RSI
rsi = ta.rsi(close, 14)
rsi_oversold = 30
rsi_overbought = 70
// Moving Averages
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)
// Trend
uptrend = ema21 > ema50
downtrend = ema21 < ema50
strong_uptrend = ema9 > ema21 and ema21 > ema50
strong_downtrend = ema9 < ema21 and ema21 < ema50
// Volume
avg_volume = ta.sma(volume, 10)
high_volume = volume > avg_volume * 1.2
volume_ok = use_volume_filter ? high_volume : true
// Price Action
bullish_candle = close > open
bearish_candle = close < open
strong_bullish_candle = close > open and (close - open) / (high - low) > 0.6
strong_bearish_candle = close < open and (open - close) / (high - low) > 0.6
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🎯 ระบบสัญญาณแบบ Hybrid
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// ระดับ "ง่ายมาก" - เข้าเทรดง่ายสุด
very_easy_buy = rsi < 60 and bullish_candle
very_easy_sell = rsi > 40 and bearish_candle
// ระดับ "อ่อน" - ใช้ RSI หลัก
easy_buy = rsi < rsi_oversold and bullish_candle
easy_sell = rsi > rsi_overbought and bearish_candle
// ระดับ "กลาง" - เพิ่มเงื่อนไข Trend
medium_buy = rsi < rsi_oversold and bullish_candle and (use_trend_filter ? uptrend : true)
medium_sell = rsi > rsi_overbought and bearish_candle and (use_trend_filter ? downtrend : true)
// ระดับ "แรง" - เงื่อนไขครบ (เหมือน Scalping Bot เดิม)
strong_buy = rsi < rsi_oversold and
strong_bullish_candle and
(use_trend_filter ? strong_uptrend : true) and
volume_ok and
close > ema21
strong_sell = rsi > rsi_overbought and
strong_bearish_candle and
(use_trend_filter ? strong_downtrend : true) and
volume_ok and
close < ema21
// เลือกสัญญาณตามระดับที่ตั้งค่า
buy_signal = signal_sensitivity == "ง่ายมาก" ? very_easy_buy :
signal_sensitivity == "อ่อน" ? easy_buy :
signal_sensitivity == "กลาง" ? medium_buy :
strong_buy
sell_signal = signal_sensitivity == "ง่ายมาก" ? very_easy_sell :
signal_sensitivity == "อ่อน" ? easy_sell :
signal_sensitivity == "กลาง" ? medium_sell :
strong_sell
// Exit Signals - ใช้จาก Scalping Bot
rsi_exit_long = rsi > 70 or rsi < 25
rsi_exit_short = rsi < 30 or rsi > 75
quick_exit_long = use_quick_exit and (rsi_exit_long or close < ema21)
quick_exit_short = use_quick_exit and (rsi_exit_short or close > ema21)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📊 การจัดการเทรด
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
var int trades_today = 0
var bool test_sent = false
// รีเซ็ตทุกวัน
if dayofweek != dayofweek[1]
trades_today := 0
can_trade = trades_today < daily_trade_limit and strategy.position_size == 0
// ส่งข้อความทดสอบ Telegram - ใช้ format จาก Debug Bot
if enable_telegram and send_test_message and not test_sent and barstate.islast
test_message = "🧪 ทดสอบ HYBRID SCALPING Bot\n\n" +
"✅ การเชื่อมต่อสำเร็จ!\n" +
"📊 Symbol: " + syminfo.ticker + "\n" +
"💲 ราคาปัจจุบัน: $" + str.tostring(close, "#.####") + "\n" +
"⚡ ระดับ: " + signal_sensitivity + "\n" +
"⏰ เวลา: " + str.tostring(hour, "00") + ":" + str.tostring(minute, "00") + "\n\n" +
"🎯 Bot พร้อมทำงาน!"
alert(test_message, alert.freq_once_per_bar)
test_sent := true
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 💰 การดำเนินการเทรด - Scalping Logic
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// Variables for Scalping
var float entry_price = 0
var float highest_profit = 0
var float trailing_stop_price = 0
// Entry Long
if buy_signal and can_trade
strategy.entry("LONG", strategy.long)
trades_today := trades_today + 1
entry_price := close
highest_profit := 0
trailing_stop_price := close * (1 - sl_percent / 100)
// Set exits
strategy.exit("SL/TP", "LONG",
stop=close * (1 - sl_percent / 100),
limit=close * (1 + tp_percent / 100))
// Telegram Alert - ใช้ format ง่าย
if enable_telegram
entry_message = "🚀 HYBRID LONG!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Entry: $" + str.tostring(close, "#.####") + "\n" +
"🛑 SL: $" + str.tostring(close * (1 - sl_percent / 100), "#.####") + "\n" +
"🎯 TP: $" + str.tostring(close * (1 + tp_percent / 100), "#.####") + "\n" +
"📈 RSI: " + str.tostring(rsi, "#.#") + "\n" +
"⚡ Level: " + signal_sensitivity + "\n" +
"📊 เทรดที่: " + str.tostring(trades_today)
alert(entry_message, alert.freq_once_per_bar)
// Entry Short
if sell_signal and can_trade
strategy.entry("SHORT", strategy.short)
trades_today := trades_today + 1
entry_price := close
highest_profit := 0
trailing_stop_price := close * (1 + sl_percent / 100)
// Set exits
strategy.exit("SL/TP", "SHORT",
stop=close * (1 + sl_percent / 100),
limit=close * (1 - tp_percent / 100))
// Telegram Alert
if enable_telegram
entry_message = "📉 HYBRID SHORT!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Entry: $" + str.tostring(close, "#.####") + "\n" +
"🛑 SL: $" + str.tostring(close * (1 + sl_percent / 100), "#.####") + "\n" +
"🎯 TP: $" + str.tostring(close * (1 - tp_percent / 100), "#.####") + "\n" +
"📈 RSI: " + str.tostring(rsi, "#.#") + "\n" +
"⚡ Level: " + signal_sensitivity + "\n" +
"📊 เทรดที่: " + str.tostring(trades_today)
alert(entry_message, alert.freq_once_per_bar)
// Trailing Stop Logic - จาก Scalping Bot
if strategy.position_size > 0 and use_trailing_stop // Long position
current_profit = (close - entry_price) / entry_price * 100
if current_profit > highest_profit
highest_profit := current_profit
trailing_stop_price := close * (1 - trailing_percent / 100)
if close <= trailing_stop_price
strategy.close("LONG", comment="Trailing Stop")
if enable_telegram
exit_message = "🔒 TRAILING STOP LONG!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
"📈 Profit: +" + str.tostring(current_profit, "#.##") + "%"
alert(exit_message, alert.freq_once_per_bar)
if strategy.position_size < 0 and use_trailing_stop // Short position
current_profit = (entry_price - close) / entry_price * 100
if current_profit > highest_profit
highest_profit := current_profit
trailing_stop_price := close * (1 + trailing_percent / 100)
if close >= trailing_stop_price
strategy.close("SHORT", comment="Trailing Stop")
if enable_telegram
exit_message = "🔒 TRAILING STOP SHORT!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
"📈 Profit: +" + str.tostring(current_profit, "#.##") + "%"
alert(exit_message, alert.freq_once_per_bar)
// Quick Exit Logic - จาก Scalping Bot
if strategy.position_size > 0 and quick_exit_long
strategy.close("LONG", comment="Quick Exit")
if enable_telegram
current_pnl = (close - entry_price) / entry_price * 100
exit_message = "⚡ QUICK EXIT LONG!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
"📈 P&L: " + str.tostring(current_pnl, "#.##") + "%"
alert(exit_message, alert.freq_once_per_bar)
if strategy.position_size < 0 and quick_exit_short
strategy.close("SHORT", comment="Quick Exit")
if enable_telegram
current_pnl = (entry_price - close) / entry_price * 100
exit_message = "⚡ QUICK EXIT SHORT!\n" +
"📊 " + syminfo.ticker + "\n" +
"💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
"📈 P&L: " + str.tostring(current_pnl, "#.##") + "%"
alert(exit_message, alert.freq_once_per_bar)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🎨 การแสดงผลบนชาร์ต
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// Plot signals
plotshape(buy_signal and show_signals, "Buy", shape.triangleup, location.belowbar, color.lime, size=size.small)
plotshape(sell_signal and show_signals, "Sell", shape.triangledown, location.abovebar, color.red, size=size.small)
// Plot exit signals
plotshape(quick_exit_long and show_exit_signals, "Quick Exit Long", shape.xcross, location.abovebar, color.orange, size=size.tiny)
plotshape(quick_exit_short and show_exit_signals, "Quick Exit Short", shape.xcross, location.belowbar, color.orange, size=size.tiny)
// Plot EMAs
plot(ema21, "EMA21", color.blue, linewidth=1)
plot(ema50, "EMA50", color.purple, linewidth=1)
// Dashboard - ปรับปรุงให้ปลอดภัย
if show_dashboard and barstate.islast
var table dashboard = table.new(position.top_right, 2, 7, bgcolor=color.white, border_width=1)
table.cell(dashboard, 0, 0, "🔥 HYBRID", text_color=color.white, bgcolor=color.orange, text_size=size.small)
table.cell(dashboard, 1, 0, syminfo.ticker, text_color=color.white, bgcolor=color.orange, text_size=size.small)
table.cell(dashboard, 0, 1, "💰 P&L", text_color=color.black, text_size=size.small)
pnl_value = strategy.netprofit
pnl_color = pnl_value >= 0 ? color.green : color.red
table.cell(dashboard, 1, 1, "$" + str.tostring(pnl_value, "#.##"), text_color=pnl_color, text_size=size.small)
table.cell(dashboard, 0, 2, "⚡ Level", text_color=color.black, text_size=size.small)
table.cell(dashboard, 1, 2, signal_sensitivity, text_color=color.purple, text_size=size.small)
table.cell(dashboard, 0, 3, "📈 RSI", text_color=color.black, text_size=size.small)
rsi_color = rsi < 30 ? color.green : rsi > 70 ? color.red : color.gray
table.cell(dashboard, 1, 3, str.tostring(rsi, "#.#"), text_color=rsi_color, text_size=size.small)
table.cell(dashboard, 0, 4, "📊 เทรด", text_color=color.black, text_size=size.small)
table.cell(dashboard, 1, 4, str.tostring(trades_today) + "/" + str.tostring(daily_trade_limit), text_color=color.navy, text_size=size.small)
table.cell(dashboard, 0, 5, "📍 สถานะ", text_color=color.black, text_size=size.small)
position_text = strategy.position_size > 0 ? "LONG" : strategy.position_size < 0 ? "SHORT" : "ว่าง"
position_color = strategy.position_size > 0 ? color.green : strategy.position_size < 0 ? color.red : color.gray
table.cell(dashboard, 1, 5, position_text, text_color=position_color, text_size=size.small)
table.cell(dashboard, 0, 6, "🎯 Trend", text_color=color.black, text_size=size.small)
trend_text = uptrend ? "UP" : downtrend ? "DOWN" : "SIDE"
trend_color = uptrend ? color.green : downtrend ? color.red : color.gray
table.cell(dashboard, 1, 6, trend_text, text_color=trend_color, text_size=size.small)