Cette stratégie est un système de négociation quantitatif basé sur la reconnaissance des modèles de prix du marché, conçu principalement pour capturer les opportunités d'inversion potentielles du marché en identifiant des modèles d'inversion de 123 points. La stratégie combine la gestion dynamique de la période de détention avec le filtrage des moyennes mobiles, en utilisant la vérification de conditions multiples pour améliorer la précision des transactions.
La logique de base est basée sur la reconnaissance des tendances des prix, y compris les éléments clés suivants:
La stratégie fournit aux traders un outil fiable de capture de l'inversion du marché grâce à une reconnaissance stricte des modèles et à des systèmes complets de contrôle des risques. Bien que certaines limitations existent, l'optimisation continue et les ajustements de paramètres appropriés permettent à la stratégie de maintenir une performance stable dans différents environnements de marché.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © EdgeTools //@version=5 strategy("123 Reversal Trading Strategy", overlay=true) // Input for number of days to hold the trade daysToHold = input(7, title="Days to Hold Trade") // Input for 20-day moving average maLength = input(200, title="Moving Average Length") // Calculate the 20-day moving average ma20 = ta.sma(close, maLength) // Define the conditions for the 123 reversal pattern (bullish reversal) // Condition 1: Today's low is lower than yesterday's low condition1 = low < low[1] // Condition 2: Yesterday's low is lower than the low three days ago condition2 = low[1] < low[3] // Condition 3: The low two days ago is lower than the low four days ago condition3 = low[2] < low[4] // Condition 4: The high two days ago is lower than the high three days ago condition4 = high[2] < high[3] // Entry condition: All conditions must be true entryCondition = condition1 and condition2 and condition3 and condition4 // Exit condition: Close the position after a certain number of bars or when the price reaches the 20-day moving average exitCondition = ta.barssince(entryCondition) >= daysToHold or close >= ma20 // Execute buy and sell signals if (entryCondition) strategy.entry("Buy", strategy.long) if (exitCondition) strategy.close("Buy")