Старейшина Рэй Булл, стратегия комбинированной силы.

Автор:Чао Чжан, Дата: 2023-11-21 11:36:48
Тэги:

img

Обзор

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

Логика стратегии

Часть обратного отсчета

Согласно логике обратной стратегии на странице 183 книги Чэнь Цин "Как я утроил свои деньги на рынке фьючерсов" (How I Tripled My Money in The Futures Market): идти длинным, когда цена закрытия выше предыдущего закрытия в течение 2 дней подряд, и 9-дневная стохастическая медленная линия ниже 50; идти коротким, когда цена закрытия ниже предыдущего закрытия в течение 2 дней подряд, и 9-дневная стохастическая быстрая линия выше 50.

Часть силовой установки быка

По данным доктора Александра Эльдера, 13-дневный экспоненциальный скользящий средний показатель (EMA) представляет собой консенсус на рынке. Сила быка измеряет способность покупателей подталкивать цены выше консенсуса на стоимость. Сила медведя отражает способность продавцов подталкивать цены ниже среднего консенсуса на стоимость. Сила быка рассчитывается путем вычитания 13-дневной EMA от максимума дня. Сила медведя вычитает 13-дневную EMA от минимума дня.

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

Комбинированные сигналы

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

Анализ плюсов

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

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

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

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

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

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

Руководство по оптимизации

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

Резюме

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


/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/2020
// 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
// Developed by Dr Alexander Elder, the Elder-ray indicator measures buying 
// and selling pressure in the market. The Elder-ray is often used as part 
// of the Triple Screen trading system but may also be used on its own.
// Dr Elder uses a 13-day exponential moving average (EMA) to indicate the 
// market consensus of value. Bull Power measures the ability of buyers to 
// drive prices above the consensus of value. Bear Power reflects the ability 
// of sellers to drive prices below the average consensus of value.
// Bull Power is calculated by subtracting the 13-day EMA from the day's High. 
// Bear power subtracts the 13-day EMA from the day's Low.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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

BP(Trigger,Length) =>
    pos = 0
    DayHigh = 0.0
    xPrice = close
    xMA = ema(xPrice,Length)
    DayHigh := iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))
    nRes = DayHigh - xMA
    pos := iff(nRes > Trigger, 1,
    	     iff(nRes < Trigger, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Elder Ray (Bull Power)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthBP = input(13, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBP = BP(Trigger,LengthBP)
pos = iff(posReversal123 == 1 and posBP == 1 , 1,
	   iff(posReversal123 == -1 and posBP == -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 )

Больше