Терпеливо проанализируйте стратегию тройной скользящей средней, содержащую ценную информацию в K-line


Дата создания: 2024-02-01 11:12:47 Последнее изменение: 2024-02-01 11:12:47
Копировать: 0 Количество просмотров: 611
1
Подписаться
1617
Подписчики

Терпеливо проанализируйте стратегию тройной скользящей средней, содержащую ценную информацию в K-line

Обзор

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

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

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

  1. Картографировать сопротивление объекта K-линии с помощью индикатора BodyResistanceChannel.
  2. Используйте индикатор поддержки/сопротивления для нанесения многодневных поддержки и сопротивления.
  3. Использование системы двойного EMA для определения направления ценовых тенденций.
  4. Сгладить кривую цены с помощью среднелинейного индикатора Hull.

На этой основе, в сочетании с идентификацией форм, оценивается возможность возврата и разрабатывается стратегия арбитражного трейдинга.

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

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

  1. Используя несколько групп ЭМА, можно построить ценовой канал, который позволит четко определить направление колебаний цен.
  2. Применение среднелинейного индикатора Hull позволяет эффективно оценить ценовые прорывы.
  3. В сочетании с обратной формой и канальными показателями достигается высокая вероятность низкого риска.
  4. Построение многоуровневой системы показателей, стабильность и надежность торговых сигналов.

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

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

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

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

Основными направлениями оптимизации стратегии являются:

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

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

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

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

//@version=3
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// 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)

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