Strategi Indeks Pemilihan Komoditi (CSI) adalah strategi perdagangan jangka pendek yang mengesan momentum pasaran. Ia mengenal pasti komoditi dengan momentum yang kuat dengan mengira trend dan turun naik komoditi untuk perdagangan. Strategi ini dicadangkan oleh Welles Wilder dalam bukunya New Concepts in Technical Trading Systems.
Indikator teras strategi ini adalah indeks CSI, yang mengambil kira trend dan turun naik komoditi.
CSI = K × ATR × ((ADX + purata bergerak hari-hari ADX) / 2)
Di mana K adalah faktor skala, ATR mewakili Julat Benar Purata, yang mengukur turun naik pasaran. ADX mewakili Indeks Arah Purata, yang mencerminkan trend pasaran.
Dengan mengira nilai indeks CSI setiap komoditi dan membandingkannya dengan purata bergerak mudah hari-hari, isyarat beli dihasilkan apabila CSI lebih tinggi daripada purata bergerak, dan isyarat jual dihasilkan apabila CSI lebih rendah daripada purata bergerak.
Strategi ini memilih komoditi dengan indeks CSI yang agak tinggi untuk berdagang. Kerana komoditi ini mempunyai trend dan turun naik yang sangat kuat yang boleh menghasilkan potensi keuntungan yang lebih besar dalam jangka pendek.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai beberapa risiko:
Untuk mengawal risiko, kedudukan stop loss harus ditetapkan dengan munasabah, saiz kedudukan tunggal harus dikawal, dan parameter harus diselaraskan dengan sewajarnya agar sesuai dengan persekitaran pasaran yang berbeza.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Strategi indeks momentum komoditi merealisasikan perdagangan jangka pendek yang mudah dan pantas dengan menangkap komoditi dengan trend yang kuat dan turun naik yang tinggi di pasaran. Pendekatan khusus untuk mengesan momentum menjadikan isyaratnya jelas dan mudah dilaksanakan secara algoritma. Sudah tentu, juga perlu memberi perhatian kepada kawalan risiko dan terus meningkatkan dan menaik taraf untuk menyesuaikan diri dengan perubahan keadaan pasaran.
/*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")