Esta é uma estratégia de negociação quantitativa baseada no método de análise Markttechnik (MT) amplamente utilizado pelas instituições financeiras alemãs. A estratégia combina múltiplas dimensões, incluindo seguimento de tendência SMA, identificação de suporte e resistência, análise de padrão de candelabro de reversão e dimensionamento de posição de pirâmide, alcançando negociação estável através de controle de risco rigoroso. O núcleo da estratégia consiste em determinar a direção da tendência do mercado através de síntese de sinal multidimensional e expandir os lucros através do dimensionamento de posição de pirâmide quando as tendências se formam.
A estratégia utiliza os seguintes componentes-chave para construir o sistema de negociação: Determinação da tendência: utiliza a média móvel simples (SMA) de 10 períodos como o principal indicador de tendência, com preços acima da SMA indicando tendência de alta e vice-versa. 2. Suporte e Resistência: Determina zonas de suporte e resistência de curto prazo usando preços altos e baixos de 3 períodos. 3. Padrões de reversão: Analisa padrões de candelabro de martelo e estrela cadente como importantes indicadores de reversão. 4. Sinais de negociação: desencadeia sinais de negociação baseados na confirmação da direção da tendência combinada com níveis de suporte/resistência e padrões de reversão. 5. Gestão de posições: emprega uma estratégia de dimensionamento de posições em pirâmide, permitindo até 2 vezes o acúmulo de posições. 6. Controle de risco: define um limite máximo de retirada de 5% e usa uma relação risco-recompensação de 2,0 para os níveis de stop loss e take profit.
Esta estratégia constrói um sistema de negociação completo através de análise de sinal multidimensional e controle de risco rigoroso. As principais vantagens estão na confiabilidade do sinal e na capacidade de controle de risco, embora a otimização de parâmetros ainda seja necessária para diferentes ambientes de mercado. Através das direções de otimização sugeridas, a estabilidade e lucratividade da estratégia podem ser melhoradas. A estratégia é adequada para mercados com tendências claras e é uma consideração valiosa para os traders que buscam retornos estáveis.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 30m basePeriod: 30m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Markttechnik Strategie mit Pyramiding und Drawdown-Limit", overlay=true, pyramiding=2) // Eingabewerte lengthSupport = input.int(3, title="Unterstützungs-/Widerstandsfenster", minval=1) lengthSMA = input.int(10, title="SMA Länge für Trends", minval=1) riskRewardRatio = input.float(2.0, title="Risk-Reward-Ratio", minval=0.1, step=0.1) maxDrawdown = input.float(5.0, title="Maximaler Drawdown (%)", minval=0.1, step=0.1) // Unterstützungs- und Widerstandszonen berechnen support = ta.lowest(low, lengthSupport) resistance = ta.highest(high, lengthSupport) // Trendindikator (SMA-basierter Trend) sma = ta.sma(close, lengthSMA) trendUp = close > sma trendDown = close < sma // Umkehrstäbe erkennen isHammer = close > open and (low < open) and ((open - low) > 2 * (close - open)) isShootingStar = open > close and (high > open) and ((high - open) > 2 * (open - close)) // Kauf- und Verkaufssignale buySignal = isHammer and close > support and trendUp sellSignal = isShootingStar and close < resistance and trendDown // Strategiefunktionen: Pyramiding und Drawdown equityPeak = na(strategy.equity[1]) or strategy.equity > strategy.equity[1] ? strategy.equity : strategy.equity[1] // Höchster Kontostand drawdown = equityPeak > 0 ? (strategy.equity - equityPeak) / equityPeak * 100 : 0 // Drawdown in Prozent if buySignal and drawdown > -maxDrawdown strategy.entry("Buy", strategy.long) strategy.exit("Sell", "Buy", stop=low - (high - low) * riskRewardRatio, limit=close + (close - low) * riskRewardRatio) if sellSignal and drawdown > -maxDrawdown strategy.entry("Sell", strategy.short) strategy.exit("Cover", "Sell", stop=high + (high - low) * riskRewardRatio, limit=close - (high - close) * riskRewardRatio) // Unterstützungs- und Widerstandslinien zeichnen plot(support, color=color.new(color.green, 80), linewidth=1, title="Unterstützungszone") plot(resistance, color=color.new(color.red, 80), linewidth=1, title="Widerstandszone") // Trendlinie (SMA) plot(sma, color=color.blue, linewidth=2, title="SMA-Trend") // Umkehrstäbe hervorheben bgcolor(buySignal ? color.new(color.green, 90) : na, title="Kaufsignal Hintergrund") bgcolor(sellSignal ? color.new(color.red, 90) : na, title="Verkaufssignal Hintergrund") // Debugging: Drawdown anzeigen plot(drawdown, title="Drawdown (%)", color=color.purple, linewidth=2, style=plot.style_line)