Стратегия пересечения свечей со стандартным отклонением в несколько периодов времени


Дата создания: 2023-10-24 14:44:00 Последнее изменение: 2023-10-24 14:44:00
Копировать: 0 Количество просмотров: 658
1
Подписаться
1617
Подписчики

Стратегия пересечения свечей со стандартным отклонением в несколько периодов времени

Обзор

Строка пересечения K-линий со стандартным отклонением в течение нескольких периодов времени является типичной стратегией отслеживания тенденций. Эта стратегия используется для вычисления значения стандартного отклонения в разные периоды времени (например, солнечный, солнечный, лунный и т. Д.), для построения нескольких групп K-линий и D-линий, а затем для построения среднего значения этих линий.

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

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

Во-первых, принятие стратегииstoch()Функция вычисляет значения стандартного отклонения K при различных параметрах, здесь в общей сложности вычисляются 5 групп значений K, соответствующие временным периодам - солнечный, круговой и лунный уровни.

smoothK = input(55)  
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK) 

smoothK1 = input(89)
SMAsmoothK1 = input(8)  
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)

...

smoothK4 = input(377) 
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)

Затем вычислить D-линию с различными параметрами:

smoothD = input(34)
d = sma(k, smoothD)

...

smoothD4 = input(233)  
d4 = sma(k4, smoothD4)

Затем рассчитывается среднее значение каждой группы K-линий и D-линий, чтобы построить быстрые линии Kavg и медленные линии Davg:

Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4) 

В конце концов, когда вы набираете скорость, вы делаете больше, а когда вы набираете медленную, вы делаете меньше:

long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)

С помощью комбинации средних стандартных отклонений из нескольких временных периодов можно отсеивать рыночный шум в более крупных временных периодах и блокировать направление основных тенденций.

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

  • Использование прогнозирующих возможностей стандартного отклонения в многократных периодах времени для эффективной фильтрации шума и блокировки тенденций
  • Свободное время удержания стратегии с помощью корректировки параметров цикла
  • Стандартное отклонение само по себе обладает сильной способностью отслеживать тенденции.
  • При использовании равнолинейного перекрестного формата, можно избежать заблуждения от одного фейкового прорыва.
  • Удобство оптимизации равнолинейного цикла скоростной линии и повышения стабильности

Стратегические риски и решения

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

Решение:

  1. Дополнительные фильтрационные условия, чтобы избежать ошибочных краткосрочных ложных прорывов

  2. Использование адаптивной циклической настройки для корректировки циклических параметров в зависимости от степени волатильности рынка

  3. Настройка мобильного стопа для своевременного прекращения убытков, чтобы избежать преследования высоких и низких

  4. Оптимизация параметров среднелинейного цикла для нахождения оптимальной точки равновесия

  5. Комбинирование большего количества сигналов для повышения стабильности стратегии

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

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

  1. Введение других индикаторных сигналов в комбинации, например, введение MACD, Bollinger Bands и т. д., может улучшить качество сигнала

  2. Добавление фильтров на тенденции, например, введение направления средней линии SMA, а также показателей, таких как ADX, для определения тенденции и предотвращения обратной торговли

  3. Параметры цикла, динамически корректируемые в зависимости от степени волатильности рынка, с использованием адаптивных циклов

  4. Добавление мобильных стоп-стратегий, установка стоп-точек в соответствии с параметрами стратегии, своевременная остановка

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

  6. Добавление условий фильтрации на открытом складе, чтобы избежать ошибочных сигналов от краткосрочного шума

  7. Попытайтесь выйти на рынок и открыть позицию после прорыва средней линии.

  8. Тестирование различных стратегий выхода, таких как Chandelier Exit, оптимизация стоп-лосса

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

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

Исходный код стратегии
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Slow Stochastic Multi K&D Average Crossover Strategy", overlay=false, pyramiding=0, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)


price = input(close)

///////////////////////////////
smoothK = input(55) 

SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)



smoothD = input(34)
d = sma(k, smoothD)


///////////////////////////

smoothK1 = input(89) 

SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)

smoothD1 = input(55)
d1 = sma(k1, smoothD1)

//////////////////////////////////////

smoothK2 = input(144) 

SMAsmoothK2 = input(5)
k2 = sma(stoch(price, high, low, smoothK2), SMAsmoothK2)

smoothD2 = input(89)
d2 = sma(k2, smoothD2)

/////////////////////////////////////

smoothK3 = input(233) 

SMAsmoothK3 = input(3)
k3 = sma(stoch(price, high, low, smoothK3), SMAsmoothK3)

smoothD3 = input(144)
d3 = sma(k3, smoothD3)

////////////////////////////////////////////////

smoothK4 = input(377) 

SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)

smoothD4 = input(233)
d4 = sma(k4, smoothD4)

/////////////////////////////////////////////////

Kavg = avg(k,k1,k2,k3,k4, k4)
plot(Kavg, color=green)

Davg = avg(d,d1,d2,d3,d4, d4)
plot(Davg, color=red)


///////////////////////////////////////
hline(50, color=gray)


long = crossover(Kavg, Davg)// and d < 50
short = crossunder(Kavg, Davg)// and d > 50


last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short) 
short_signal = crossover(last_short, last_long)



strategy.entry("Long", strategy.long, when=long_signal)
strategy.entry("Short", strategy.short, when=short_signal) 

//len1 = input(3)

//closelong = d[1] < k[len1]
//closeshort = d[1] > k[len1]

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)