Стратегия индекса выбора товаров (CSI) - это краткосрочная стратегия торговли, которая отслеживает рыночный импульс. Она определяет товары с сильным импульсом путем расчета тенденции и волатильности товаров для торговли.
Основным показателем этой стратегии является индекс CSI, который учитывает тенденцию и волатильность сырьевых товаров.
CSI = K × ATR × ((ADX + скользящая средняя за n дней ADX) / 2)
Где K - фактор масштабирования, ATR представляет собой средний истинный диапазон, который измеряет волатильность рынка. ADX представляет собой средний направленный индекс, который отражает тенденцию рынка.
При расчете значения индекса CSI каждого товара и сравнении его с его простой скользящей средней за n дней, сигнал покупки генерируется, когда CSI выше скользящей средней, а сигнал продажи генерируется, когда CSI ниже скользящей средней.
Стратегия выбирает товары с относительно высокими индексами CSI для торговли, потому что эти товары имеют очень сильные тенденции и колебания, которые могут генерировать больший потенциал прибыли в краткосрочной перспективе.
Эта стратегия имеет следующие преимущества:
Стратегия также сопряжена с некоторыми рисками:
Чтобы контролировать риски, должно быть разумное установление позиций стоп-лосса, необходимо контролировать размер отдельной позиции, а параметры должны соответствовать различным рыночным условиям.
Стратегия может быть оптимизирована в следующих аспектах:
Стратегия индекса импульса товара реализует простую и быструю краткосрочную торговлю путем захвата товаров с сильными тенденциями и высокой волатильностью на рынке. Этот специализированный подход отслеживания импульса делает его сигналы ясными и простыми для алгоритмической реализации. Конечно, также необходимо обращать внимание на контроль рисков и продолжать совершенствоваться и модернизироваться, чтобы адаптироваться к изменениям рыночных условий.
/*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")