
Esta estratégia é um sistema de negociação quantitativa baseado na identificação de padrões de preços de mercado, principalmente para capturar oportunidades de reversão de mercado potencial através da identificação de 123 pontos de reversão de padrões. A estratégia combina a gestão de períodos de posição dinâmica e filtragem de médias móveis para aumentar a precisão da negociação através de verificação de múltiplos termos. A estratégia usa um modelo matemático preciso para definir o ponto de entrada e usa a linha média de 200 dias como condição auxiliar de saída, formando um sistema de negociação completo.
A lógica central da estratégia baseia-se na identificação de formas de preços e inclui os seguintes elementos-chave:
A estratégia oferece aos traders uma ferramenta confiável para capturar o retorno do mercado através de uma identificação rigorosa do paradigma e um sistema de controle de risco perfeito. Embora haja algumas limitações, a estratégia é capaz de manter um desempenho estável em diferentes ambientes de mercado através de otimização contínua e ajuste de parâmetros apropriados. É recomendado que os traders combinem a experiência do mercado na aplicação real e ajusten a estratégia de forma direcionada para obter melhores resultados de negociação.
/*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")