Эта стратегия представляет собой количественную торговую систему, основанную на распознавании рыночных ценовых паттернов, в первую очередь предназначенную для захвата потенциальных возможностей переворота рынка путем выявления 123-точечных паттернов переворота. Стратегия сочетает в себе динамическое управление периодом хранения с фильтрацией скользящей средней, используя проверку нескольких условий для повышения точности торговли. Она использует точные математические модели для определения точки входа и использует 200-дневную скользящую среднюю как вспомогательное условие выхода, образуя полную торговую систему.
Основная логика основана на распознавании ценовых моделей, включая следующие ключевые элементы:
Стратегия предоставляет трейдерам надежный инструмент захвата рыночных переворотов с помощью строгого распознавания паттернов и комплексных систем контроля рисков. Хотя существуют определенные ограничения, постоянная оптимизация и соответствующие корректировки параметров позволяют стратегии поддерживать стабильную производительность в различных рыночных условиях. Трейдерам рекомендуется сочетать опыт рынка со специфическими корректировками стратегии в практических приложениях для достижения лучших торговых результатов.
/*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")