Краткосрочная торговая стратегия на основе индикатора Stochastic Index


Дата создания: 2024-01-18 16:14:34 Последнее изменение: 2024-01-18 16:14:34
Копировать: 0 Количество просмотров: 632
1
Подписаться
1617
Подписчики

Краткосрочная торговая стратегия на основе индикатора Stochastic Index

Обзор

Эта стратегия разработана на основе индикатора Stochastic Index (SMI) для краткосрочной стратегии торговли, используемой в основном для краткосрочной торговли акциями и цифровыми валютами. Эта стратегия сочетает в себе сигналы опережающих покупок и перепродажи индикатора Stochastic Index и подтверждение движущихся средних, которые могут быть использованы для захвата промежуточных отклонений в трендовых рынках, что обеспечивает лучшую точку входа.

Стратегический принцип

Эта стратегия использует Stochastic Index, чтобы определить, где на рынке наблюдается перекуп или перепродажа.

SMI = (MA(Close - LL)/(HH - LL)) * 100

В этом случае LL - это наименьшая цена за N дней, а HH - наивысшая цена за N дней. Дизайн индикатора заключается в том, что рынок находится в состоянии перекупа, когда цена закрытия приближается к наивысшей цене за N дней; рынок находится в состоянии перепродажи, когда цена закрытия приближается к наименьшей цене за N дней.

В данной стратегии, SMA параметры параметров N принимают 5 и 3, что означает, что используется 5 и 3 Stochastic Index. Обычно, если использовать только один параметр, легко создать ошибочный сигнал, поэтому в этой стратегии используется двойной SMA двойной подтверждения, можно отфильтровать некоторый шум.

Кроме того, в стратегии наложены показатели EMA с перемещающейся средней, параметры настроены на согласование с показателями SMI, чтобы дополнительно подтвердить сигналы показателей SMI и избежать ошибочных выводов.

Стратегические преимущества

  1. Показатели Stochastic Index помогают определить зоны перепродажи, чтобы поймать возможности для переворота.
  2. Настройка параметров двойного SMA для эффективной фильтрации ошибочных сигналов
  3. Подтверждение в сочетании с показателями EMA, чтобы избежать ошибочных выводов

Стратегический риск

  1. SMI-индикаторы подвержены ошибочным сигналам, и даже с двумя SMA и EMA-индикаторами невозможно полностью избежать риска
  2. В трендовых условиях эта стратегия может привести к чрезмерному обратному обращению, что может повлиять на общую прибыль

Как избежать риска:

  1. Применение стоп-лосса для контроля одиночных потерь
  2. Используйте эту стратегию только на рынках, торгуемых в сторону или в диапазоне, избегайте использования в трендовых ситуациях

Направление оптимизации стратегии

  1. Тестирование показателей SMI при различных параметрах для поиска оптимального сочетания параметров
  2. Попытка подтверждения в сочетании с другими показателями, такими как Brinband, KDJ и т. д., повышает точность сигнала
  3. Оптимизация стратегии остановки убытков с изменяемой остановкой убытков в зависимости от рыночной волатильности
  4. Используйте индикаторы для определения тенденций, избегайте их использования в трендовых ситуациях

Подвести итог

Эта стратегия в целом является стратегией, подходящей для короткой торговли. Она сочетает в себе характеристики сверхпокупа и сверхпродажи показателя Stochastic Index, а также фильтрацию и подтверждение сигнала с помощью движущейся средней, что позволяет идентифицировать некоторые короткие торговые возможности. Однако эта стратегия может вызывать ошибочные сигналы в условиях тренда, поэтому следует обратить особое внимание на ее использование. Лучше всего использовать индикатор тренда, чтобы избежать таких ситуаций.

Исходный код стратегии
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="SMIndex Strategy", shorttitle="SMIndex Strategy", overlay=false, pyramiding=0, initial_capital=1000, currency=currency.USD)
//
sm1 = input(5, 'sm1')
sm2 = input(3, 'sm2')
//
Lower = lowest (low, sm1)
Hight = highest (high, sm1)
Downsideup = Hight - Lower
Upsidedown = close - (Hight+Lower)/2
//
ema1 = ema(ema(Upsidedown,sm2),sm2)
ema2 = ema(ema(Downsideup,sm2),sm2)
smi = ema2 != 0 ? (ema1/(ema2/2)*100) : 0
//
obLevel1 = input(55, "Over Bought Level 1")
obLevel2 = input(35, "Over Bought Level 2")
osLevel1 = input(-55, "Over Sold Level 1")
osLevel2 = input(-35, "Over Sold Level 2")
//
// h1=plot(obLevel1, color=red, title='Sell 1s 55 do', style=dashed, linewidth=2)
// h2=plot(obLevel2, color=maroon, title='Sell 2s 35 do', style=circles, linewidth=2)
// h3=plot(osLevel1, color=red, title='Buy 1s -55 up', style=dashed, linewidth=2)
// h4=plot(osLevel2, color=maroon, title='Buy 2s -35 up', style=circles, linewidth=2)
plot(smi, color=gray, style=line, linewidth=0, transp=5)
plot(ema1, color=orange, style=line, linewidth=0, transp=5)
plot(0, color=gray, style=circles, linewidth=1, title='Base Line')
//
// fill(h1, h2, color=red, transp=55)
// fill(h3, h4, color=green, transp=55)
//Strategy Long Short Entry
longEntry = (smi) < -75 or (smi) < -65 or (smi) < -55 or (smi) < -45 
shortEntry = (smi) > 75 or (smi) > 65 or (smi) > 55 or (smi) > 45 

longCondition = longEntry
if(longCondition)
    strategy.entry("long", strategy.long)
    
shortCondition = shortEntry
if(shortCondition)
    strategy.entry("short", strategy.short)