Стратегия торговли на основе скользящей средней с двойной линией волатильности


Дата создания: 2023-10-07 15:30:27 Последнее изменение: 2023-10-07 15:30:27
Копировать: 0 Количество просмотров: 627
1
Подписаться
1617
Подписчики

Обзор

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

Принципы

Эта стратегия состоит из следующих частей:

  1. Показатели Брин-Бенда В зависимости от цены закрытия и ее стандартного отклонения генерируется поток вверх и вниз. Когда цена приближается к полюсу, она смотрит вниз, а когда приближается к полюсу, она смотрит вверх.

  2. Средний показатель Вычислите 21-дневную скользящую среднюю индекса, с ценовым перекрестком сделайте дополнительный короткий сигнал.

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

  4. Двухлинейные игры Двухлинейная торговля по криптовалютам осуществляется на основе криптовалютных сигналов, то есть одновременно с понижением и понижением.

В частности:

В зависимости от возможных поворотных точек, когда цена приближается к восходящей и нисходящей траектории, смотрите вверх, когда она приближается к нисходящей траектории. Одновременно рассчитывайте 21-дневную среднюю линию ЭМА, с ценой, которая производит золотую скобку, смотрите вверх, смотрите вверх. Кроме того, также судите о форме диаграммы, появляются нижние темные зоны, которые выглядят вверх, а верхние светлые зоны смотрят вниз.

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

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

Основные преимущества этой стратегии:

  1. Интеграция различных сигналов повышает точность принятия решений

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

  1. Быстро реагируют, не пропускают повороты

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

  1. Двухлинейные операции повышают вероятность получения прибыли

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

  1. Подходит для краткосрочной торговли, гибко реагирует на рынок

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

  1. Прямой доступ, простота и легкость использования

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

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

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

  1. Возможна последовательная остановка

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

  1. Большие риски в двухлинейных операциях

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

  1. Операции на коротких линиях должны контролироваться.

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

  1. Ограниченное пространство для оптимизации параметров

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

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

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

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

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

  1. Интеграция большего количества сигналов

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

  1. Увеличение машинного обучения.

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

  1. Оптимизация стратегии стоп-стоп

Можно установить адаптивную стоп-магниту, постепенно ужесточая стоп-магниту после достижения определенной прибыли; также можно trailing stop или постепенно корректировать стоп-позицию в зависимости от периода времени, чтобы снизить риск потери.

  1. Оптимизация управления капиталом

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

  1. Объединение с системой количественного анализа

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

  1. Добавление функций автоматической торговли

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

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

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

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

//@version=4
//Design by MrPhu in August,10,2018
strategy("TrumpShipper_Long_Short V26", overlay=true)
filterFractals = input(true, title=" Follow Code #Trump On/Off")
dt = 0.0001
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]

if (prediction)
    strategy.exit("Close", "Short ")
    strategy.entry("Long ", strategy.long)

if (not prediction)
    strategy.exit("Close", "Long ")
    strategy.entry("Short ", strategy.short)
///////////Bollinger Band///////////////
length = 20
crc = close, title="Source"
mult = 2.0
basis = sma(crc, length)
dev = mult * stdev(crc, length)
upper = basis + dev
lower = basis - dev
spanColor = prediction ? green : red, transp=90

p1 = plot(upper, title="Short", style=line, linewidth=1, color=spanColor)
p2 = plot(lower, title="Long", style=line, linewidth=1, color=spanColor)

fill(p1, p2, color=spanColor, transp=90, title="Fill")

/////////////
Optional_TimeFrame = 'D'

M_HIGH = request.security(syminfo.tickerid, Optional_TimeFrame, high)
M_OPEN = request.security(syminfo.tickerid, Optional_TimeFrame, open)
M_LOW = request.security(syminfo.tickerid, Optional_TimeFrame, low)

H_RANGE = M_HIGH-M_OPEN
L_RANGE = M_OPEN-M_LOW

H_236 = M_HIGH - H_RANGE * 0.236
H_382 = M_HIGH - H_RANGE * 0.382
H_500 = M_HIGH - H_RANGE * 0.500
H_618 = M_HIGH - H_RANGE * 0.618
H_764 = M_HIGH - H_RANGE * 0.764

L_236 = M_LOW + L_RANGE * 0.236
L_382 = M_LOW + L_RANGE * 0.382
L_500 = M_LOW + L_RANGE * 0.500
L_618 = M_LOW + L_RANGE * 0.618
L_764 = M_LOW + L_RANGE * 0.764

pl1=plot(M_HIGH, color=M_HIGH != M_HIGH[1] ?na:black, style=line, linewidth=1, transp=80)

pl2=plot(H_236, color=H_236 != H_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl3=plot(H_382, color=H_382 != H_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl4=plot(H_500, color=H_500 != H_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl5=plot(H_618, color=H_618 != H_618[1] ?na:gray, style=line, linewidth=1, transp=80)
pl6=plot(H_764, color=H_764 != H_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl7=plot(M_OPEN, color=M_OPEN != M_OPEN[1] ?na:blue, style=line, linewidth=2)

pl8=plot(L_236, color=L_236 != L_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl9=plot(L_382, color=L_382 != L_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl10=plot(L_500, color=L_500 != L_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl11=plot(L_618, color=L_618 != L_618[1] ?na:black, style=line, linewidth=1, transp=80)
pl12=plot(L_764, color=L_764 != L_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl13=plot(M_LOW, color=M_LOW != M_LOW[1] ?na:black, style=line, linewidth=1, transp=80)

SHOW_MA = false
MA_SRC = hlc3
MA_LENGTH = 21

_MA = ema(MA_SRC, MA_LENGTH)
pl14=plot(not SHOW_MA ? na : _MA, color=teal, linewidth=2)

SHOW_SIGNALS = true

BUYX(_F) => cross(_F, MA_SRC) and rising(_MA, 1)
SELX(_F) => cross(_F, MA_SRC) and falling(_MA, 1)

SEL_SIGNAL = SELX(H_236) or SELX(H_382) or SELX(H_500) or SELX(H_618) or SELX(H_764) or SELX(L_236) or SELX(L_382) or SELX(L_500) or SELX(L_618) or SELX(H_764)

BUY_SIGNAL = BUYX(H_236) or BUYX(H_382) or BUYX(H_500) or BUYX(H_618) or BUYX(H_764) or BUYX(L_236) or BUYX(L_382) or BUYX(L_500) or BUYX(L_618) or BUYX(H_764)

//================= Chart 30m =================/////
//Jurij
h_left = 10
h_right = 10
//barCount = nz(barCount[1]) + 1
//check history and realtime PTZ
h_left_low = lowest(h_left)
h_left_high = highest(h_left)
newlow = low <= h_left_low
newhigh = high >= h_left_high
central_bar_low = low[h_right + 1]
central_bar_high = high[h_right + 1]
full_zone_low = lowest(h_left + h_right + 1)
full_zone_high = highest(h_left + h_right + 1)
central_bar_is_highest = central_bar_high >= full_zone_high
central_bar_is_lowest = central_bar_low <= full_zone_low
plotchar(central_bar_is_highest ? -1 : 0, offset=-h_right-1 ,color=red, text="Top")
plotchar(central_bar_is_lowest ? 1 : 0, offset=-h_right-1 ,location=location.belowbar, color=green, text="Bottom")