123 Стратегия комбинирования реверсионных и STARC полос

Автор:Чао Чжан, Дата: 2023-12-04 13:38:30
Тэги:

img

Обзор

Эта стратегия генерирует более точные торговые сигналы путем сочетания стратегии 123 Reversal и стратегии STARC Bands. Стратегия 123 Reversal оценивает возможности отскока вниз через K-линейные паттерны отклонения. Стратегия STARC Bands использует ценовые прорывы полос для определения направления тренда. Использование обеих стратегий может сделать торговые сигналы более надежными при использовании преимуществ каждой стратегии.

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

123 Стратегия отмены

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

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

Короткий сигнал: когда цена закрытия ниже цены закрытия предыдущего дня в течение двух дней подряд, а 9-дневная скользящая средняя скоростной линии K превышает 50, перейдите на короткий курс.

Стратегия STARC Bands

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

STARC - это сокращение от Stoller Average Range Channels. Индикатор назван в честь его создателя, Мэннинга Столлера.

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

Использование стратегий 123 Reversal и STARC Bands улучшает точность торговых сигналов. Стратегия 123 Reversal захватывает возможности для обратного движения. Стратегия STARC Bands определяет направление тренда.

Кроме того, стратегия 123 Reversal помогает избежать погони за новыми максимумами или минимумами после прорыва рынка.

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

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

Еще один риск заключается в неправильной настройке параметров, что может привести к плохой стратегии.

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

Есть возможности для дальнейшей оптимизации этой стратегии:

  1. Добавить стратегии стоп-лосса, такие как стоп-цены или стоп-индикаторы, чтобы избежать больших потерь в сделках;

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

  3. Проведение оптимизации параметров для поиска наиболее подходящих комбинаций параметров для продукта и сроков;

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

Резюме

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


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/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
// A type of technical indicator that is created by plotting two bands around 
// a short-term simple moving average (SMA) of an underlying asset's price. 
// The upper band is created by adding a value of the average true range 
// (ATR) - a popular indicator used by technical traders - to the moving average. 
// The lower band is created by subtracting a value of the ATR from the SMA.
// STARC is an acronym for Stoller Average Range Channels. The indicator is 
// named after its creator, Manning Stoller.
//
// 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


STARC(LengthMA,LengthATR,K) =>
    pos = 0.0
    xMA = sma(close, LengthMA)
    xATR = atr(LengthATR)
    xSTARCBandUp = xMA + xATR * K
    xSTARCBandDn = xMA - xATR * K
    pos := iff(close > xSTARCBandUp, 1,
             iff(close < xSTARCBandDn, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & STARC Bands", 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, "---- STARC Bands ----")
LengthMA = input(5, minval=1)
LengthATR = input(15, minval=1)
K = input(1.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSTARC = STARC(LengthMA,LengthATR,K)
pos = iff(posReversal123 == 1 and posSTARC == 1 , 1,
	   iff(posReversal123 == -1 and posSTARC == -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 )

Больше