Esta estratégia identifica os pontos altos e baixos às 9:15 na sessão da manhã, calcula automaticamente os preços-alvo e os preços de stop-loss para posições longas e curtas e abre automaticamente as posições quando as condições são atendidas.
Esta estratégia é baseada nos pontos altos/baixos 9:15, usa o indicador RSI para julgamento da tendência, calcula automaticamente os preços alvo e os preços de stop-loss e abre automaticamente posições longas ou curtas com base nas condições de entrada. A lógica da estratégia é simples e clara, com um alto grau de automação, permitindo a captura rápida dos movimentos da tendência. No entanto, a estratégia também tem riscos em termos de otimização de parâmetros, dependência de um único indicador, volatilidade intradiária e falta de gerenciamento de posição. No futuro, a estratégia pode ser otimizada e melhorada em aspectos como stop-loss dinâmico, combinando com outros indicadores, otimizando as condições de entrada e introduzindo gerenciamento de posição, a fim de obter um desempenho de negociação mais robusto.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("9:15 AM High/Low with Automatic Forecasting", overlay=true) // Parameters showSignals = input(true, title="Show Signals") // Define session time sessionStartHour = input(9, title="Session Start Hour") sessionStartMinute = input(0, title="Session Start Minute") sessionEndHour = input(9, title="Session End Hour") sessionEndMinute = input(15, title="Session End Minute") // Calculate session high and low var float sessionHigh = na var float sessionLow = na if (hour == sessionStartHour and minute == sessionStartMinute) sessionHigh := high sessionLow := low // Update session high and low if within session time if (hour == sessionStartHour and minute >= sessionStartMinute and minute < sessionEndMinute) sessionHigh := high > sessionHigh or na(sessionHigh) ? high : sessionHigh sessionLow := low < sessionLow or na(sessionLow) ? low : sessionLow // Plot horizontal lines for session high and low plot(sessionHigh, color=color.green, title="9:00 AM High", style=plot.style_stepline, linewidth=1) plot(sessionLow, color=color.red, title="9:00 AM Low", style=plot.style_stepline, linewidth=1) // Calculate targets and stop loss longTarget = sessionHigh + 200 longStopLoss = sessionLow shortTarget = sessionLow - 200 shortStopLoss = sessionHigh // Plot targets and stop loss plot(longTarget, color=color.blue, title="Long Target", style=plot.style_cross, linewidth=1) plot(longStopLoss, color=color.red, title="Long Stop Loss", style=plot.style_cross, linewidth=1) plot(shortTarget, color=color.blue, title="Short Target", style=plot.style_cross, linewidth=1) plot(shortStopLoss, color=color.red, title="Short Stop Loss", style=plot.style_cross, linewidth=1) // RSI rsiLength = input(14, title="RSI Length") overboughtLevel = input(60, title="Overbought Level") oversoldLevel = input(40, title="Oversold Level") rsi = ta.rsi(close, rsiLength) // Entry conditions longCondition = close > sessionHigh and rsi > overboughtLevel shortCondition = close < sessionLow and rsi < oversoldLevel // Long entry if (showSignals and longCondition) strategy.entry("Long", strategy.long) // Short entry if (showSignals and shortCondition) strategy.entry("Short", strategy.short)