Двойная случайная стратегия


Дата создания: 2023-11-07 15:25:19 Последнее изменение: 2023-11-07 15:25:19
Копировать: 1 Количество просмотров: 694
1
Подписаться
1621
Подписчики

Двойная случайная стратегия

Обзор

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

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

Стратегия рассчитывает одновременно две группы случайных индикаторов, первая группа - случайные индикаторы текущего K-линейного периода, то есть K-значения и D-значения, вторая группа - случайные индикаторы, которые в 3 раза превышают текущий период, то есть MTFK и MTFD.

При прохождении 50 линий на MTFK и текущем значении K больше, чем значение D, появляется сигнал покупки, означающий вход в многоголовую зону, сделайте больше; при прохождении 50 линий на MTFD и текущем значении K меньше, чем значение D, появляется сигнал продажи, означающий вход в пустую зону, сделайте пустое.

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

В частности, логика покупательного сигнала этой стратегии состоит в следующем:

longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD

Продажа Signallogical:

shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD

Среди них, мтфК - это значение K в 3-кратном цикле, а мтфД - значение D в 3-кратном цикле. При прохождении 50 линий над мтфК и k> d, образуется сигнал покупки; при прохождении 50 линий под мтфД и k< d, образуется сигнал продажи.

Кроме того, стратегия также устанавливает логику остановки убытков. При многоосновной позиции, если mtfD попадает на трассу, создается сигнал о закрытии позиции; при пустой позиции, если mtfK попадает на трассу, создается сигнал о закрытии позиции.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

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

  2. Применение стратегии торговли золотыми торгами с использованием различных циклических индикаторов позволяет эффективно отслеживать ценовые тенденции и достигать низких покупок и высоких продаж.

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

  4. Логика стратегии простая, понятная, легко понятная, подходящая для использования на реальном диске.

Анализ рисков

Однако эта стратегия также несет в себе определенные риски:

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

  2. Неправильная установка логики сдерживания убытков может привести к увеличению убытков. Следует разумно установить расстояние сдерживания убытков, чтобы предотвратить зацепление.

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

  4. Стратегия основана только на технических показателях, не включая фундаментальные факторы. Следует уделять должное внимание важным фундаментальным факторам.

Решение проблемы:

  1. Допустимое изменение параметров бинарных индексов снижает ошибочную частоту сигналов.

  2. Оптимизируйте логику остановки и установите разумную дистанцию остановки.

  3. Настройка параметров, снижение частоты сделок.

  4. Внимание к важным и фундаментальным новостям, избегайте субъективных сделок.

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

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

  1. Оптимизация параметров бинарных индикаторов, снижение погрешности сигналов. Можно проверить влияние различных K-значений и D-значений на эффективность.

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

  3. Оптимизация стратегии стоп-ложа, установка стоп-дистанций и пропорций. Тестирование того, могут ли различные стоп-топы эффективно контролировать риск.

  4. В сочетании с показателями объема торгов. Такие стратегии, как прорыв в объеме, позволяют избежать недействительных сделок во время колебаний цен.

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

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

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

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

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

//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

len = input(54, minval=1, title="Length for Main Stochastic") 
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and  k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and  k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    
showZones   = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule: 
bullishRule = k >= mtfD
// bearish signal rule: 
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)