Strategi ini menggunakan kemiringan regresi linier untuk mengidentifikasi berbagai rezim pasar (bullish atau bearish). Dengan menghitung kemiringan regresi linier harga penutupan selama periode yang ditentukan, ia mengukur arah dan kekuatan tren pasar. Ketika kemiringan di atas ambang batas tertentu, pasar dianggap bullish, dan strategi memasuki posisi panjang. Ketika kemiringan di bawah ambang negatif, pasar dianggap bearish, dan strategi memasuki posisi pendek. Strategi menutup posisi ketika harga melintasi Simple Moving Average (SMA), menandakan potensi pembalikan atau perubahan tren.
Prinsip inti dari strategi ini adalah menggunakan kemiringan regresi linier untuk mengidentifikasi rezim pasar. Dengan melakukan regresi linier pada harga penutupan selama periode tertentu, garis yang paling cocok diperoleh. Kemiringan garis ini mencerminkan arah tren keseluruhan dan kekuatan harga selama periode itu. Kemiringan positif menunjukkan tren naik, dengan kemiringan yang lebih besar menunjukkan tren naik yang lebih kuat. Kemiringan negatif menunjukkan tren menurun, dengan kemiringan yang lebih kecil menunjukkan tren penurunan yang lebih kuat. Dengan menetapkan ambang kemiringan, strategi menentukan apakah pasar bullish atau bearish dan membuat keputusan perdagangan yang sesuai.
Strategi Identifikasi Rezim Pasar Dinamis berdasarkan kemiringan regresi linier menentukan rezim pasar dengan menghitung kemiringan regresi linier harga dan membuat keputusan perdagangan yang sesuai. Strategi ini memiliki logika yang jelas, perhitungan sederhana, dan dapat secara efektif menangkap tren pasar utama. Namun, ini dapat menghasilkan perdagangan yang sering di pasar yang bergolak dan sensitif terhadap pemilihan parameter. Melalui optimasi parameter, penyaringan tren, stop loss dan take profit, dan analisis multi-frame waktu, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*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)