
Die Strategie verwendet die Schräglage einer linearen Regression, um verschiedene Marktsituationen zu identifizieren (Bei oder nach unten). Durch die Berechnung der Schräglage einer linearen Regression der Schließungspreise über einen Zeitraum kann die Richtung und Stärke eines Markttrends gemessen werden. Wenn die Schräglage größer als ein gewisser Rückgang ist, wird der Markt als bullish angesehen und die Strategie geht in eine Mehrpositionsposition; wenn die Schräglage kleiner als ein negativer Rückgang ist, wird der Markt als bullish angesehen und die Strategie geht in eine offene Position.
Der Kern der Strategie besteht darin, den Marktzustand durch die Verwendung einer Schräglage mit linearer Regression zu erkennen. Durch die lineare Regression des Schließungspreises über einen Zeitraum kann eine optimale Anpassung der Linie erzielt werden. Die Schräglage dieser Linie spiegelt die Richtung und Stärke des Gesamttrends der Preise in diesem Zeitraum wider. Eine positive Schräglage zeigt an, dass die Preise in einer Aufwärtstrend sind, je größer die Schräglage, desto stärker ist der Aufwärtstrend; eine negative Schräglage zeigt an, dass die Preise in einer Abwärtstrend sind, je kleiner die Schräglage, desto stärker ist der Abwärtstrend.
Die Strategie hat eine klare Logik, ist einfach zu berechnen und ist in der Lage, die wichtigsten Trends des Marktes effektiv zu erfassen. Allerdings kann es zu häufigen Transaktionen in schwindelerregenden Märkten kommen und die Parameterwahl ist empfindlicher. Die Stabilität und Profitabilität der Strategie können durch Parameteroptimierung, Trendfilter, Stop Loss Stopps und Multiple-Time-Frame Analysen weiter verbessert werden.
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"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/
// © tmalvao
//@version=5
strategy("Minha estratégia", overlay=true, margin_long=100, margin_short=100)
// Função para calcular o slope (inclinação) com base na média móvel simples (SMA)
slope_length = input(20, title="Slope Length")
sma_length = input(50, title="SMA Length")
slope_threshold = input.float(0.1, title="Slope Threshold")
sma = ta.sma(close, sma_length)
// Calculando o slope (inclinação)
var float slope = na
if (not na(close[slope_length - 1]))
slope := (close - close[slope_length]) / slope_length
// Identificação dos regimes de mercado com base no slope
bullish_market = slope > slope_threshold
bearish_market = slope < -slope_threshold
// Condições de entrada e saída para mercados bullish e bearish
if (bullish_market)
strategy.entry("Long", strategy.long)
if (bearish_market)
strategy.entry("Short", strategy.short)
// Saída das posições
exit_condition = ta.crossover(close, sma) or ta.crossunder(close, sma)
if (exit_condition)
strategy.close("Long")
strategy.close("Short")
// Exibir a inclinação em uma janela separada
slope_plot = plot(slope, title="Slope", color=color.blue)
hline(0, "Zero Line", color=color.gray)