
La stratégie BTST High Probability Breakout Strategy and Select Stock Filtering System est une stratégie quantitative conçue pour les transactions de jour et de nuit, conçue pour identifier et capturer les opportunités de rupture de la dynamique des prix à court terme. La stratégie combine le filtrage des fluctuations de prix spécifiques au temps, la confirmation de la forme technique classique et la détermination de la résistance dynamique à la rupture, pour construire un système de décision de négociation à plusieurs niveaux.
Le principe de fonctionnement de la stratégie est basé sur le filtrage et la confirmation par couches de plusieurs conditions:
Le premier tour de sélection (à partir de 15h00): La stratégie commence par déterminer une heure précise à 3 heures de l’après-midi chaque jour, en sélectionnant des titres dont la hausse du jour se situe dans la fourchette de 2 à 3%. Le choix de cette fenêtre de temps spécifique est basé sur l’hypothèse que la dynamique du marché pourrait se poursuivre à la fin.
Analyse de la forme de la chute de la ligne du SoleilLa stratégie a fusionné trois jugements classiques de l’opinion:
30 minutes de résistance: La stratégie consiste à définir dynamiquement un niveau de résistance toutes les 30 minutes (le plus élevé de la période de 30 minutes) et à déterminer si le prix a franchi ce niveau de résistance, comme un potentiel signal de poursuite ou de clôture des bénéfices.
Ne vous étendez pas tropLa stratégie consiste à calculer la hausse de la journée et à éviter une hausse de plus de 5% ou une baisse de plus de 10% pour éviter un risque de rebond possible.
Liste d’observation du jour suivant: Les signes qui répondent au filtrage initial, confirment la forme de l’aiguille et ne sont pas excessivement élargis seront ajoutés à la liste d’observation du lendemain.
Stratégie de sortieObservations avant et après le démarrage du marché: si le cours de l’indice est en hausse de plus de 2% et que le prix reste au-dessus du niveau le plus bas de la journée précédente, la position doit être maintenue pendant au moins 15 minutes en attendant une hausse potentielle.
Achat et vente de déclencheurs: les signaux d’achat sont basés sur la forme de la courbe, les conditions de filtrage initiales et l’état de non-expansion excessive; les signaux de vente sont basés sur les conditions de rupture du point de résistance et l’état de non-expansion excessive.
Précision dans le tempsLa stratégie de filtrage à cette heure précise, soit à 15h, permet de capturer efficacement les phases cruciales de la dynamique de la journée et d’offrir un avertissement précoce pour une éventuelle continuation de la journée suivante.
Mécanisme de confirmation multiple: La triple confirmation, combinée à la variation du pourcentage de prix, à la forme technique et à la rupture du point de résistance, améliore considérablement la fiabilité du signal et réduit le risque de faux signal.
Intégration de la gestion des risquesLa stratégie a intégré des conditions de filtrage pour éviter l’expansion excessive des actions, ce qui a permis d’éviter le risque de chasse et d’améliorer la marge de sécurité des transactions.
Un mécanisme de retrait souple: La stratégie définit des conditions d’exit flexibles en fonction de la rupture de la résistance et de la performance des prix, ce qui aide à la fermeture en temps opportun des positions lorsque des gains ou des risques apparaissent.
Aide visuelle: La stratégie marque les conditions et les signaux sur les graphiques, permettant aux traders de comprendre intuitivement l’état du marché et la logique de la stratégie, facilitant les ajustements de décision en temps réel.
Système d’alerte intégré: paramètre de condition d’alerte intégré, permettant aux traders de recevoir des rappels de signaux d’achat et de vente en temps opportun, sans avoir besoin d’une ouverture continue, ce qui améliore l’efficacité des transactions.
Risque de fausse percéeLa rupture de la résistance de 30 minutes peut entraîner des faux-ruptures, en particulier lorsque les fluctuations du marché sont importantes, ce qui peut entraîner des signaux de négociation inutiles. La solution consiste à augmenter la confirmation de la transaction ou à définir un seuil de rupture plus élevé.
Limites de la reconnaissance de forme: L’identification des formes de déclin est basée sur des règles fixes et peut ne pas capturer toutes les formes valides dans un environnement de marché complexe. Il est recommandé de procéder à une vérification croisée en combinaison avec d’autres indicateurs techniques tels que le RSI ou le MACD.
La dépendance au temps: La stratégie est fortement tributaire des conditions de filtrage de 3 heures, et le fait de manquer cette heure ou de retarder les données peut entraîner une perte d’opportunités de négociation. Vous pouvez envisager d’étendre la fenêtre de filtrage ou de définir des points de filtrage de remplacement.
Le risque d’une surfiltration: La superposition de conditions multiples peut entraîner un trop petit nombre de transactions éligibles, ce qui affecte la praticité de la stratégie. Certaines conditions de filtrage peuvent être assouplies de manière appropriée ou les paramètres peuvent être ajustés en fonction de la dynamique du marché.
Adaptation à l’état du marché: Cette stratégie fonctionne bien dans des conditions de marché spécifiques (comme une tendance à la hausse modérée), mais peut être moins efficace dans un marché horizontal ou très volatil. Une stratégie d’activation sélective est recommandée en fonction de l’environnement général du marché.
Ajustement des paramètres dynamiques: Les stratégies actuelles utilisent des marges de pourcentage fixes (filtration de 2-3% de hausse, jugement de 5-10% de surexpansion), il est possible d’envisager d’ajuster ces paramètres en fonction de la dynamique de la volatilité du marché, afin d’améliorer l’adaptabilité des stratégies dans différents environnements de marché.
Ajouter une confirmation de transaction: Les stratégies sont actuellement basées principalement sur l’action des prix, mais des dimensions d’analyse de la transaction peuvent être ajoutées, telles que la nécessité d’une rupture dans le cas d’une augmentation de volume, ou la mise en place de conditions d’augmentation de la transaction par rapport à la moyenne de la période précédente, pour améliorer la qualité du signal.
Élargissement de la périodeConsidérez la confirmation de forme et de rupture sur différentes périodes (par exemple, 15 minutes, 60 minutes), construisez un système de confirmation multi-périodes, réduisez les faux signaux et augmentez la fiabilité du signal.
Intégration des filtres de tendance: Introduction d’indicateurs de jugement de tendance à moyen terme, tels que le système de moyennes mobiles ou l’indicateur ADX, afin de s’assurer que l’orientation des transactions à court terme est cohérente avec la tendance à moyen terme et d’éviter les opérations contraires pour améliorer le taux de réussite.
Optimisation du machine learning: Utilisation d’algorithmes d’apprentissage automatique pour la reconnaissance de modèles et l’optimisation des paramètres des cas de réussite dans les données historiques, afin d’extraire des règles de transaction plus précises et des mécanismes d’ajustement dynamique des marges.
Retraite des mécanismes de contrôle: Augmenter les paramètres de stop loss basés sur des pourcentages fixes ou des multiples ATR et envisager la mise en œuvre de mécanismes de prise de profit partiels, tels que la clôture par lots ou le stop loss mobile, pour mieux contrôler les risques et bloquer les bénéfices.
La stratégie BTST de rupture à haute probabilité et le système de sélection de stocks sélectionnés construisent un cadre de décision de négociation à court terme systématisé en combinant un filtrage spécifique au temps, une analyse de la forme technique et un jugement de rupture du niveau de résistance dynamique. Cette stratégie est particulièrement adaptée pour rechercher un certain volume de dynamique accumulé au cours de la journée et un indicateur de confirmation technique afin de capturer la continuité de la situation qui peut survenir le lendemain. Bien que la stratégie ait été conçue en tenant compte de la multiplication des confirmations et du contrôle des risques, elle nécessite toujours un ajustement flexible et une optimisation continue en fonction de la situation réelle du marché.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-05-28 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("BTST Strategy", overlay=true)
// --- 1. Initial Screening at 3 PM (Identify 2-3% gain) ---
is3pm = (hour == 15 and minute == 0) // Check if it's 3 PM
priceChangePercentage = (close - close[1]) / close[1] * 100 // Calculate percentage change from previous close
// Stocks with a gain of 2-3% by 3 PM
isSelectedStock = is3pm and priceChangePercentage >= 2 and priceChangePercentage <= 3
plotshape(series=isSelectedStock, title="Selected Stock", location=location.belowbar, color=color.green, style=shape.labelup, text="Selected")
// --- 2. Daily Candle Analysis (Bullish Patterns) ---
// Bullish Engulfing pattern
bullishEngulfing = close > open and open[1] > close[1] and close > open[1] and open < close[1]
// Morning Star pattern
morningStar = close[2] < open[2] and close[1] < open[1] and close > open and close[1] > open[1]
// Three White Soldiers pattern
threeWhiteSoldiers = close > open and close[1] > open[1] and close[2] > open[2] and close > close[1] and close[1] > close[2]
// Combine the patterns for bullish confirmation
bullishPattern = bullishEngulfing or morningStar or threeWhiteSoldiers
plotshape(series=bullishPattern, title="Bullish Pattern", location=location.belowbar, color=color.green, style=shape.labelup, text="Bullish")
// --- 3. 30-Minute Candle Breakout ---
var float resistanceLevel = na
// Capture the highest point every 30 minutes
if (minute == 30 or minute == 0)
resistanceLevel := high
// Check for breakout above resistance level
breakoutAboveResistance = close > resistanceLevel
plotshape(series=breakoutAboveResistance, title="Breakout Above Resistance", location=location.abovebar, color=color.blue, style=shape.labelup, text="Breakout")
// --- 4. Avoid Over-Extended Stocks (5-10% intraday gains) ---
// Calculate the percentage gain from the open price
percentageGain = (close - open) / open * 100
// Avoid stocks that are up more than 5-10% intraday
avoidOverExtendedStocks = percentageGain > 5 or percentageGain < -10
plotshape(series=avoidOverExtendedStocks, title="Avoid Over-Extended Stocks", location=location.abovebar, color=color.red, style=shape.labeldown, text="Over-Extended")
// --- 5. Second-Day Watchlist (Add shortlisted stocks to watchlist) ---
// We will skip implementing a watchlist in Pine Script because it isn't supported for direct interaction with external systems, but we will mark it in the script visually.
watchlistCondition = isSelectedStock and bullishPattern and not avoidOverExtendedStocks
plotshape(series=watchlistCondition, title="Second Day Watchlist", location=location.belowbar, color=color.purple, style=shape.triangledown, text="Watchlist")
// --- 6. Exit Strategy - Pre-Market & Opening Observation ---
// This part requires real-time data and pre-market data, which isn't supported directly in Pine Script
// But, we can simulate exit strategy by showing potential exit points based on the gap-up opening:
gapUpOpening = open > close[1] * 1.02 // If the stock opens 2% above the previous close
hold15Min = gapUpOpening and close > low[1] // Hold if price doesn't break the previous low
plotshape(series=hold15Min, title="Gap-Up Hold for 15 Minutes", location=location.abovebar, color=color.blue, style=shape.triangledown, text="Hold")
// --- 7. Buy and Sell Triggers (Strategy) ---
// Define conditions for the buy trigger
buySignal = bullishPattern and isSelectedStock and not avoidOverExtendedStocks
// Buy when the conditions are met
if buySignal
strategy.entry("Buy", strategy.long)
// Define conditions for the sell trigger
sellSignal = breakoutAboveResistance and not avoidOverExtendedStocks
// Sell when the breakout above resistance condition is met
if sellSignal
strategy.close("Buy")
// --- Alerts ---
// Alerts for Buy Signal based on 0.5% price movement
alertcondition(buySignal, title="Buy Signal", message="Buy Signal: Confirmed Bullish Pattern and 2-3% price increase by 3 PM!")
// Alerts for Sell Signal based on Breakout and other conditions
alertcondition(sellSignal, title="Sell Signal", message="Sell Signal: Breakout above resistance!")