Стратегия аномалии стохастического индикатора экспоненциального сглаживания


Дата создания: 2024-01-18 15:53:41 Последнее изменение: 2024-01-18 15:53:41
Копировать: 0 Количество просмотров: 646
1
Подписаться
1617
Подписчики

Стратегия аномалии стохастического индикатора экспоненциального сглаживания

Обзор

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

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

В центре стратегии экзотического движения индекса сглаженного случайного индикатора лежит индексный вес параметров ex. Формула вычисления традиционного случайного индикатора:

s=100 * (close - 最低价) / (最高价 - 最低价) 

После добавления индексных параметров, вычислительная формула становится:

exp= ex<10? (ex)/(10-ex) : 99  

s=100 * (close - 最低价) / (最高价 - 最低价)

ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50  
     :-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50

Изменение значения exp изменяет влияние s на s, увеличение значения exp делает показатель менее чувствительным, уменьшение значения exp делает показатель более чувствительным.

Сигналы “купить” и “продать” появляются, когда ks переворачивает от зоны “перекупить”; сигналы “продать” появляются, когда ks переворачивает от зоны “перепродать”.

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

По сравнению с традиционными методами рандомизации, стратегию с индексами сглаженного случайного индикатора имеет следующие преимущества:

  1. С помощью регулирования весов индекса можно свободно регулировать чувствительность случайных индикаторов, контролируя тем самым частоту торгов.
  2. После увеличения индексного веса можно отфильтровать часть шума, создавая более стабильный торговый сигнал.
  3. В сочетании с различными показателями временного цикла можно установить несколько временных рамок, повысив надежность сигнала.

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

Также существуют следующие риски:

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

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

Индексы сглаженного случайного индикатора могут быть оптимизированы в следующих аспектах:

  1. В сочетании с другими показателями фильтрации сигналов, таких как MACD, движущаяся средняя линия и т. д., можно уменьшить ошибочный сигнал.
  2. Добавление механизмов сдерживания убытков позволяет эффективно контролировать риски.
  3. Оптимизируйте параметры индексного веса, чтобы найти оптимальную комбинацию параметров. Разные рынки могут устанавливать разные параметры.
  4. Повышение комплекса, например, в сочетании с сезонными показателями, показателями структуры рынка и т. д., может способствовать дальнейшему повышению устойчивости стратегии.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro

//@version=5
strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len=input.int(14, "length") 
ex=input.int(2, title="exp", minval=1, maxval=10)
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len))
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 :
 -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
plot(ks, color= color.white)
bot=input.int(20)
top=input.int(80)
longCondition = ta.crossover(ks, bot) and bar_index>0
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ks, top) and bar_index>0
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
//    strategy.close("My Long Entry Id")
alertcondition(longCondition, title = "buy")
alertcondition(shortCondition, title = "sell")
h1=hline(top)
h2=hline(bot)
h3=hline(100)
h4=hline(0)
fill(h1,h3, color= color.rgb(255,0,0,200-top*2))
fill(h2,h4, color= color.rgb(0,255,0,bot*2))