
Эта торговая стратегия использует преимущества двух технических индикаторов, таких как реверс средней линии и трехдневный минимум, используется в комбинации, во время отслеживания тенденции вовремя захватывает возможности для реверса, отфильтровывает некоторые ложные прорывные сигналы и эффективно повышает выигрыш торговой системы.
Стратегия состоит из двух частей:
Комбинация 2-дневного среднего и 20-дневного среднего. Когда 2-дневная средняя и 20-дневная средние линии отклоняются, появляется сигнал “покупаю”
Трехдневная минимальная форма блистания. Появление этой формы является сигналом кратковременного разворота. Условие формирования заключается в следующем: среднедневный минимум, ниже, чем в предыдущий и следующий день, а в следующий день закрытие цены выше, чем предыдущая максимальная цена.
При одновременном появлении обратного сигнала на 2-дневной и 20-дневной средних линиях, а также в соответствии с направлением сигнала с трехдневным минимумом вспышки формы, принимаются операции по покупке или продаже.
В коде сначала вычисляются 2-дневная средняя линия и 20-дневная средняя линия. Когда 2-дневная средняя линия пересекает или пересекает 20-дневную среднюю линию, генерируется сигнал покупки/продажи.
Затем, при обнаружении трехдневного минимума вспышки, устанавливается сигнал направления формы на 1 или -1. Читается форменный сигнал предыдущего дня, сочетается с текущим равнолинейным сигналом и образует окончательный входный сигнал.
Таким образом, с помощью фильтрации комбинации равномерных и форм можно отфильтровать некоторые ложные сигналы, что делает торговую стратегию более надежной.
Сочетание нескольких технических показателей, которые могут играть роль дополнения и проверки, повышает надежность сигнала.
Среднелинейный обрат позволяет вовремя зафиксировать переломный момент и использовать возможность перехода. Трехдневный минимум может подтвердить формирование перехода.
20-дневная средняя линия отслеживает средне- и долгосрочные тенденции, 2-дневная средняя линия используется для захвата входных точек с краткосрочной корректировкой. Комбинация из нескольких временных диапазонов позволяет полностью уловить тенденции.
Эта стратегия не чувствительна к параметрам, ее легко реализовать и оптимизировать.
Обратная форма легко приводит к ошибочным выводам, и требует накопления опыта, чтобы оценить ее надежность.
Сигналы обратного хода могут задерживаться, необходимо наблюдать за формовыми характеристиками и соответствующим образом корректировать позиции.
Необходима оптимизация тестирования для торговых сортов, возможно, потребуется корректировка параметров некоторых сортов.
Для этого необходимо внедрить механизм остановки убытков, чтобы не пропустить важный поворотный момент.
Тестирование различных комбинаций равномерных линий, выбор наилучших параметров равномерных линий для эффекта разновидности.
Внедрение других вспомогательных показателей, таких как количество сделок, Брин-пояса и т. д., для проведения многопоказательной проверки.
Добавлен модуль Stop Loss для управления отступлением и риском.
Оптимизируйте время поступления, чтобы избежать проблем с ранним или поздним поступлением.
Оптимизация параметров для конкретных сортов, повышение адаптации.
Эта стратегия использует преимущества равнолинейного разворота и короткосрочной формы, чтобы реализовать эффективное сочетание двух, что может повысить стабильность и выигрышную вероятность торговой системы. Однако необходимо обратить внимание на контроль риска и проверить и оптимизировать параметры, чтобы адаптироваться к характеристикам разных сортов.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/12/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length ) =>
pos = 0.0
xPrice = close
xXA = ema(xPrice, Length)
nHH = max(high, high[1])
nLL = min(low, low[1])
nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0)))
pos
BarR()=>
pos = 0.0
pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0)))
pos
strategy(title="Combo 2/20 EMA & 3 Day Pattern", shorttitle="Combo", overlay = true)
var I1 = "●═════ 2/20 EMA ═════●"
Length = input(14, minval=1, group = I1)
//var I2 = "●═════ 3-Bar-Reversal-Pattern ═════●"
var misc = "●═════ MISC ═════●"
reverse = input(false, title="Trade reverse", group = misc)
var timePeriodHeader = "●═════ Time Start ═════●"
d = input(1, title="From Day", minval=1, maxval=31, group=timePeriodHeader)
m = input(1, title="From Month", minval=1, maxval=12, group=timePeriodHeader)
y = input(2005, title="From Year", minval=0, group=timePeriodHeader)
StartTrade = true
prePos3Bar = BarR()
posEMA20 = EMA20(Length)
pos3BarR = security(syminfo.tickerid, "D", prePos3Bar[1], barmerge.gaps_off, barmerge.lookahead_on)
pos = iff(posEMA20 == 1 and pos3BarR == 1 and StartTrade , 1,
iff(posEMA20 == -1 and pos3BarR == -1 and StartTrade, -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 )