
Trata-se de uma estratégia de negociação de banda alta baseada em uma combinação de indicadores tecnológicos múltiplos. A estratégia busca o melhor momento de entrada em uma negociação de linha curta através da combinação de sinais de mercado de várias dimensões, como a média móvel do índice (EMA), o índice de força relativa (RSI), a análise de volume de transação e a identificação de padrões de preço de N-ciclos. A estratégia usa um rigoroso mecanismo de controle de risco para proteger os fundos com a definição de um stop loss.
A lógica central da estratégia é confirmar a direção do negócio por meio de uma combinação sincronizada de sinais multidimensionais:
A estratégia busca oportunidades de negociação de alta qualidade em negociações de alta frequência por meio da combinação de indicadores técnicos multidimensionais. A estratégia é projetada levando em consideração características do mercado, como tendências, dinâmica e volume de transações, e garante estabilidade por meio de rigorosos controles de risco. Embora haja algum espaço para otimização, é uma estratégia de negociação lógica e prática.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("XRP/USD Scalping Strategy with Alerts", overlay=true)
// Input parameters
ema_short = input.int(8, title="Short EMA Period")
ema_long = input.int(21, title="Long EMA Period")
rsiperiod = input.int(14, title="RSI Period")
vol_lookback = input.int(20, title="Volume Lookback Period")
n_bars = input.int(5, title="N-Bars Detection")
take_profit_perc = input.float(1.5, title="Take Profit (%)") / 100
stop_loss_perc = input.float(0.7, title="Stop Loss (%)") / 100
// Indicators
ema_short_line = ta.ema(close, ema_short)
ema_long_line = ta.ema(close, ema_long)
rsi = ta.rsi(close, rsiperiod)
avg_volume = ta.sma(volume, vol_lookback)
// N-bar detection function
bullish_nbars = ta.lowest(low, n_bars) > ta.lowest(low, n_bars * 2)
bearish_nbars = ta.highest(high, n_bars) < ta.highest(high, n_bars * 2)
// Entry conditions
long_condition = ta.crossover(ema_short_line, ema_long_line) and rsi > 50 and volume > avg_volume and bullish_nbars
short_condition = ta.crossunder(ema_short_line, ema_long_line) and rsi < 50 and volume > avg_volume and bearish_nbars
// Plot signals
plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy execution
if (long_condition)
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL", from_entry="Long", limit=close * (1 + take_profit_perc), stop=close * (1 - stop_loss_perc))
if (short_condition)
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL", from_entry="Short", limit=close * (1 - take_profit_perc), stop=close * (1 + stop_loss_perc))
// Plot EMA lines
plot(ema_short_line, color=color.blue, title="Short EMA")
plot(ema_long_line, color=color.orange, title="Long EMA")
// Create alerts
alertcondition(long_condition, title="Buy Alert", message="Buy Signal: EMA Crossover, RSI > 50, Volume > Avg, Bullish N-Bars")
alertcondition(short_condition, title="Sell Alert", message="Sell Signal: EMA Crossunder, RSI < 50, Volume > Avg, Bearish N-Bars")