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


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

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

Обзор

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

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

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

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

Второй подстратегией является прорыв в канале сдвигающейся средней линии. Эта стратегия сначала вычисляет показательную подвижную среднюю за заданный период (например, 9 дней), а затем добавляет определенные проценты вверх и вниз, как каналы вверх и вниз. Если цена переходит вверх, то это создает сигнал продажи, если цена переходит вниз, то это создает сигнал покупки.

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

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

Двойная равнолинейная и обратная стратегия ценового прорыва включает в себя несколько методов анализа и имеет следующие преимущества:

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

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

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

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

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

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

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

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

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

  3. Неправильная установка стоп-позиции может привести к значительным потерям при резких изменениях.

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

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

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

Однако есть еще много возможностей для оптимизации стратегии двойного прорыва в цене:

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

  2. Можно выбрать наиболее подходящую полосу пропускания для данных конкретной породы.

  3. Для контроля максимальной доли убытков можно использовать комбинированный стоп-лосс.

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

  5. Для предотвращения слишком частого выхода на рынок в условиях кризиса можно добавить фильтры по объему или волатильности.

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

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

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/03/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Moving Average Displaced Envelope. These envelopes are calculated 
// by multiplying percentage factors with their displaced expotential 
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and 
// quality of the signals. If a previous high goes above the envelope 
// a sell signal is generated. Conversely, if the previous low goes below 
// the envelope a buy signal is given.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


MADE(Price,Period, perAb, perBl, disp) =>
    pos = 0.0
    sEMA = ema(Price, Period)
    top = sEMA[disp] * ((100 + perAb)/100)
    bott = sEMA[disp]* ((100 - perBl)/100)
    pos := iff(close < bott , 1,
    	     iff(close > top, -1, pos[1])) 
    pos

strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MA Displaced Envelope ----")
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMADE = MADE(Price,Period, perAb, perBl, disp)
pos = iff(posReversal123 == 1 and posMADE == 1 , 1,
	   iff(posReversal123 == -1 and posMADE == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )