Объединение нескольких технических индикаторов


Дата создания: 2023-12-20 11:04:15 Последнее изменение: 2023-12-20 11:04:15
Копировать: 0 Количество просмотров: 662
1
Подписаться
1621
Подписчики

Объединение нескольких технических индикаторов

Обзор

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

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

  1. Сначала используется индикатор candle body channel, который объединяет верхние и нижние ценовые каналы для определения направления и силы текущего тренда.
  2. Во-вторых, используйте обычный средний показатель EMA, чтобы определить направление тенденции средней длинной линии. Используйте комбинацию двух показателей EMA, чтобы отфильтровать ложные сигналы.
  3. Затем эта стратегия использует показатель Hull MA, чтобы определить, является ли текущая цена перекупленной или перепроданной. Hull MA имеет более точную способность определять переломные моменты.
  4. Наконец, стратегия использует функцию security для открытия более высоких циклов, чтобы определить направление тенденции больших циклов и создать торговый сигнал.

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

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

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

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

  1. Использование индикатора candle body channel для определения прорыва объекта позволяет эффективно идентифицировать сигнал прорыва.
  2. Использование двойной комбинации EMA фильтрует ложные сигналы для повышения точности сигнала.
  3. Используя показатель Hull MA, можно более точно определить переломные моменты.
  4. Используя более высокий цикл K-линий для создания перекрестного сигнала, можно избежать заблуждения от шума.
  5. Комбинация различных способов торговли делает стратегию более универсальной и универсальной.

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

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

  1. Прорывная сделка может быть подвергнута ложному прорыву, что может привести к ошибочному сигналу.
  2. Ретроверсионная торговля может привести к убыткам в условиях шока.
  3. По-прежнему ограниченная способность комбинированного фильтра двойного EMA, возможно, устраняет нормальный сигнал.
    1. Показатель Hull MA по-прежнему недостаточно точен для коррекции кривой.

Мы можем оптимизировать эти риски в следующих аспектах:

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

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

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

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

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

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

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

//@version=2
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

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