Стратегия обратного кроссовера


Дата создания: 2024-01-17 16:29:13 Последнее изменение: 2024-01-17 16:29:13
Копировать: 2 Количество просмотров: 558
1
Подписаться
1617
Подписчики

Стратегия обратного кроссовера

Обзор

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

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

Эта стратегия состоит из двух подстратегий:

  1. 123 Стратегия переворота
  • Когда в течение двух дней цена закрытия переходит от высокой до низкой, если на 9-й день случайный индикатор будет ниже определенного значения, то будет произведен сигнал покупки.
  • Когда в течение двух дней цена закрытия переходит от низкой до высокой, если на 9 день случайный показатель высокий ((выше определенного значения), генерирует сигнал продажи
  1. Стратегия случайного индикатора.
  • Когда линия %K опускается вниз от линии %D сверху, а линия %K и линия %D находятся в зоне перекупа, создается сигнал продажи
  • Когда линия %K пробивает линию %D снизу вверх, в то время как линии %K и %D находятся в зоне перепродажи, создается сигнал купить

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

Стратегические преимущества

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

Конкретные преимущества включают:

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

Стратегический риск

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

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

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

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

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

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

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

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

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/09/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
// This back testing strategy generates a long trade at the Open of the following 
// bar when the %K line crosses below the %D line and both are above the Overbought level.
// It generates a short trade at the Open of the following bar when the %K line 
// crosses above the %D line and both values are below the Oversold level.
//
// 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


StochCross(Length, DLength,Oversold,Overbought) =>
    pos = 0.0
    vFast = stoch(close, high, low, Length)
    vSlow = sma(vFast, DLength)
    pos := iff(vFast < vSlow and vFast > Overbought and vSlow > Overbought, 1,
    	      iff(vFast >= vSlow and vFast < Oversold and vSlow < Oversold, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic Crossover", 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, "---- Stochastic Crossover ----")
LengthSC = input(7, minval=1)
DLengthSC = input(3, minval=1)
Oversold = input(20, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmStochCross = StochCross(LengthSC, DLengthSC,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmStochCross == 1 , 1,
	   iff(posReversal123 == -1 and posmStochCross == -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 )