この戦略は,異なる市場体制 (上昇または下落) を識別するために線形回帰の傾斜を使用する. 定義された期間中の閉じる価格の線形回帰の傾斜を計算することによって,市場の傾向の方向性と強さを測定する. 傾斜が一定の
この戦略の基本原理は,市場体制を特定するために線形回帰の傾斜を使用することです.特定の期間の閉盤価格に線形回帰を行うことで,最も適した線が得られます.この線の傾斜は,その期間の全体のトレンド方向と価格の強さを反映しています.ポジティブな傾斜は上昇傾向を示し,より大きな傾斜は強い上昇傾向を示します.負の傾斜は下降傾向を示し,より小さな傾斜は強い下落傾向を示します.傾斜の
線形回帰傾斜に基づくダイナミックマーケットレジーム識別戦略は,価格の線形回帰傾斜を計算して市場レジームを決定し,対応する取引決定を下します.この戦略は明確な論理,単純な計算があり,主要な市場動向を効果的に把握できます.しかし,不安定な市場で頻繁な取引を生成し,パラメータ選択に敏感です.パラメータ最適化,トレンドフィルタリング,ストップ損失と利益とマルチタイムフレーム分析を通じて,戦略の安定性と収益性をさらに向上させることができます.
/*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)