Strategi ini menggunakan kemiringan regresi linear untuk mengenal pasti rejim pasaran yang berbeza (bullish atau bearish). Dengan mengira kemiringan regresi linear harga penutupan dalam tempoh yang ditentukan, ia mengukur arah dan kekuatan trend pasaran. Apabila kemiringan di atas ambang tertentu, pasaran dianggap bullish, dan strategi memasuki kedudukan panjang. Apabila kemiringan di bawah ambang negatif, pasaran dianggap bearish, dan strategi memasuki kedudukan pendek. Strategi menutup kedudukan apabila harga melintasi Purata Bergerak Sederhana (SMA), menandakan potensi pembalikan atau perubahan trend.
Prinsip utama strategi ini adalah menggunakan cerun regresi linear untuk mengenal pasti rejim pasaran. Dengan melakukan regresi linear pada harga penutupan dalam tempoh tertentu, garis yang paling sesuai diperoleh. cerun garis ini mencerminkan arah trend keseluruhan dan kekuatan harga dalam tempoh itu. cerun positif menunjukkan trend menaik, dengan cerun yang lebih besar menunjukkan trend menaik yang lebih kuat. cerun negatif menunjukkan trend menurun, dengan cerun yang lebih kecil menunjukkan trend menurun yang lebih kuat. Dengan menetapkan ambang cerun, strategi menentukan sama ada pasaran menaik atau menurun dan membuat keputusan perdagangan yang sesuai.
Strategi pengenalan rejim pasaran dinamik berdasarkan cerun regresi linear menentukan rejim pasaran dengan mengira cerun regresi linear harga dan membuat keputusan perdagangan yang sesuai. Strategi ini mempunyai logika yang jelas, pengiraan mudah, dan dapat menangkap trend pasaran utama dengan berkesan. Walau bagaimanapun, ia boleh menghasilkan perdagangan yang kerap di pasaran yang bergolak dan sensitif terhadap pemilihan parameter. Melalui pengoptimuman parameter, penapisan trend, berhenti kerugian dan mengambil keuntungan, dan analisis pelbagai jangka masa, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*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)