
La stratégie utilise l’indicateur relativement faible (RSI) pour juger des situations d’excédent et d’excédent, en combinant la rupture de la hauteur et de la basse de 9:15 pour déterminer les opportunités d’entrée.
La stratégie est basée sur le point de basculement de 9:15, utilise l’indicateur RSI pour juger de la tendance, calculer automatiquement le prix cible et le prix d’arrêt, et ouvrir automatiquement des positions à plusieurs têtes ou à vide en fonction des conditions d’ouverture. La logique de la stratégie est simple, le degré d’automatisation est élevé et la tendance peut être rapidement capturée. Cependant, la stratégie présente également des risques en termes d’optimisation des paramètres, de placement d’un seul indicateur, de fluctuation moyenne et de gestion des positions.
/*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)