A estratégia do Índice de Seleção de Commodities (CSI) é uma estratégia de negociação de curto prazo que rastreia o impulso do mercado.
O indicador central desta estratégia é o índice CSI, que tem em conta a tendência e a volatilidade das matérias-primas.
CSI = K × ATR × ((ADX + média móvel de n dias do ADX) / 2)
Onde K é um fator de escala, ATR representa a faixa verdadeira média, que mede a volatilidade do mercado. ADX representa o índice direcional médio, que reflete a tendência do mercado.
Ao calcular o valor do índice CSI de cada mercadoria e compará-lo com a sua média móvel simples de n dias, é gerado um sinal de compra quando o CSI é superior à sua média móvel e um sinal de venda quando o CSI é inferior à sua média móvel.
A estratégia seleciona commodities com índices CSI relativamente elevados para negociação, porque essas commodities têm tendências e flutuações muito fortes que podem gerar maior potencial de lucro no curto prazo.
Esta estratégia tem as seguintes vantagens:
A estratégia apresenta também alguns riscos:
Para controlar os riscos, as posições de stop loss devem ser estabelecidas de forma razoável, o tamanho de uma única posição deve ser controlado e os parâmetros devem ser adequadamente ajustados para se adequarem aos diferentes ambientes de mercado.
A estratégia pode ser otimizada nos seguintes aspectos:
A estratégia de índice de momentum de commodities realiza negociação de curto prazo simples e rápida capturando commodities com fortes tendências e alta volatilidade no mercado. Esta abordagem especializada de rastreamento de momentum torna seus sinais claros e fáceis de implementar algoritmicamente.
/*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")