Strategi CSI adalah strategi perdagangan jangka pendek yang melacak momentum pasar. Strategi ini mengidentifikasi komoditas dengan momentum yang kuat dengan menghitung tren dan volatilitas komoditas untuk perdagangan. Strategi ini diusulkan oleh Welles Wilder dalam bukunya New Concepts in Technical Trading Systems.
Indikator inti dari strategi ini adalah indeks CSI, yang memperhitungkan tren dan volatilitas komoditas.
CSI = K × ATR × ((ADX + rata-rata pergerakan ADX selama n hari) / 2)
Di mana K adalah faktor skala, ATR mewakili Average True Range, yang mengukur volatilitas pasar. ADX mewakili Average Directional Index, yang mencerminkan tren pasar.
Dengan menghitung nilai indeks CSI dari setiap komoditas dan membandingkannya dengan rata-rata bergerak sederhana n hari, sinyal beli dihasilkan ketika CSI lebih tinggi dari rata-rata bergerak, dan sinyal jual dihasilkan ketika CSI lebih rendah dari rata-rata bergerak.
Strategi ini memilih komoditas dengan indeks CSI yang relatif tinggi untuk diperdagangkan karena komoditas ini memiliki tren dan fluktuasi yang sangat kuat yang dapat menghasilkan potensi keuntungan yang lebih besar dalam jangka pendek.
Strategi ini memiliki keuntungan berikut:
Strategi ini juga memiliki beberapa risiko:
Untuk mengontrol risiko, posisi stop loss harus ditetapkan secara wajar, ukuran posisi tunggal harus dikontrol, dan parameter harus disesuaikan dengan tepat agar sesuai dengan lingkungan pasar yang berbeda.
Strategi dapat dioptimalkan dalam aspek berikut:
Strategi indeks momentum komoditas mewujudkan perdagangan jangka pendek yang sederhana dan cepat dengan menangkap komoditas dengan tren yang kuat dan volatilitas tinggi di pasar. Pendekatan khusus pelacakan momentum ini membuat sinyalnya jelas dan mudah diterapkan secara algoritmik. Tentu saja, juga perlu memperhatikan pengendalian risiko dan terus meningkatkan dan meningkatkan untuk beradaptasi dengan perubahan kondisi pasar.
/*backtest start: 2023-10-28 00:00:00 end: 2023-11-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 20/03/2019 // The Commodity Selection Index ("CSI") is a momentum indicator. It was // developed by Welles Wilder and is presented in his book New Concepts in // Technical Trading Systems. The name of the index reflects its primary purpose. // That is, to help select commodities suitable for short-term trading. // A high CSI rating indicates that the commodity has strong trending and volatility // characteristics. The trending characteristics are brought out by the Directional // Movement factor in the calculation--the volatility characteristic by the Average // True Range factor. // Wilder's approach is to trade commodities with high CSI values (relative to other // commodities). Because these commodities are highly volatile, they have the potential // to make the "most money in the shortest period of time." High CSI values imply // trending characteristics which make it easier to trade the security. // The Commodity Selection Index is designed for short-term traders who can handle // the risks associated with highly volatile markets. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// fADX(Len) => up = change(high) down = -change(low) trur = rma(tr, Len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur) sum = plus + minus 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len) strategy(title="Commodity Selection Index Backtest", shorttitle="CSI Backtest") PointValue = input(50) Margin = input(3000) Commission = input(10) Length = input(14) reverse = input(false, title="Trade reverse") K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission))) xATR = atr(Length) xADX = fADX(Length) nADXR = (xADX + xADX[Length]) * 0.5 xCSI = K * xATR * nADXR xMACSI = sma(xCSI, Length) pos = 0.0 pos := iff(xCSI < xMACSI, 1, iff(xCSI > xMACSI, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xCSI, color=green, title="CSI") plot(xMACSI, color=red, title="CSI SMA")