本策略是一个基于市场价格形态识别的量化交易系统,主要通过识别123点位反转形态来捕捉市场潜在的反转机会。策略结合了动态持仓期管理和移动平均线过滤,通过多重条件验证来提高交易的准确性。该策略采用精确的数学模型来定义入场点,并使用200日均线作为辅助退出条件,形成了一个完整的交易系统。
策略的核心逻辑基于价格形态识别,具体包含以下关键要素:
1. 入场条件设计
- 当日最低价需低于前一日最低价
- 前一日最低价需低于3天前最低价
- 2天前最低价需低于4天前最低价
- 2天前最高价需低于3天前最高价
以上四个条件同时满足时,系统会发出做多信号。
该策略通过严格的形态识别和完善的风险控制体系,为交易者提供了一个可靠的市场反转捕捉工具。虽然存在一定的局限性,但通过持续优化和适当的参数调整,该策略能够在不同市场环境下保持稳定的表现。建议交易者在实际应用中结合市场经验,对策略进行针对性调整,以获得更好的交易效果。
/*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")