
Эта стратегия использует комплексную стратегию ценового обратного отклонения и относительно сильный индекс (RSI), чтобы осуществить определение тренда в органическом сочетании с определением перекупа и перепродажи. В частности, часть ценового обратного отклонения определяет, появился ли сигнал обратного отклонения, а часть RSI используется для определения того, был ли рынок перекупа.
В частности, когда цена закрытия 2 дня подряд ниже, чем цена закрытия предыдущего дня, и на 9 день случайный индикатор низкой канальной линии выше 50, создает сигнал покупки; когда цена закрытия 2 дня подряд выше, чем цена закрытия предыдущего дня, и на 9 день случайный индикатор высокой канальной линии ниже, чем 50, создает сигнал продажи.
RSI частично определяет, является ли рынок перекупленным или перепроданным, основываясь на том, выше ли 70 или ниже 30 относительно сильный индекс. RSI выше 70 является сигналом о перекупе, RSI ниже 30 - сигналом о перепродаже.
Наконец, сигнал обратной цены и сигнал RSI выполняют логическую операцию наклонения и отклонения. То есть, когда оба они являются сигналом покупки или продажи, только тогда на рынке появляется фактический торговый сигнал. Таким образом, эффективно отфильтровывается ложный сигнал одного показателя и улучшается качество сигнала.
Эта стратегия использует одновременно индикатор ценовой формы и индикатор перекупа и перепродажи, оба сигнала требуют синхронизации для выхода на рынок. Таким образом, можно максимально отфильтровать ложные сигналы, которые могут быть получены от одного индикатора, и гарантировать надежность каждого сигнала выхода на рынок.
Часть обмена цены использует форму 123 для определения обмена. Это типичный способ торговли. В то же время, индикатор RSI может определить тенденцию и играть роль вспомогательного подтверждения.
Эта стратегия использует только два часто используемых показателя, среднее количество параметров. Общая структура стратегии проста и понятна, работа с реальным диском не слишком сложна и легко овладевает. Это очень важно для трейдеров на реальных дисках.
Процесс обратной торговли сам по себе имеет вероятность неудачи и не может быть полностью предотвращен. В случае, когда цена формирует сигнал 123, но затем снова возвращается обратно, это приводит к неудаче сделки.
Стратегия сама по себе имеет более свободные критерии, что может привести к появлению большого количества торговых сигналов. Неконтролируемые действия могут привести к чрезмерной частоте операций, увеличению торговых расходов и психологическому стрессу.
RSI по умолчанию считает диапазон сверхпокупа и сверхпродажи 30-70. Это всего лишь экспериментальный параметр, если реальная ситуация не соответствует, легко пропустить правильный сигнал или отправить ошибочный сигнал.
Соответствующая корректировка размеров позиций, контроль одиночных убытков
Добавление условий фильтрации, снижение частоты сделок. Например, добавление решения о движущейся средней линии.
Тестирование диапазона параметров RSI, динамически корректируемого после различных рынков, с установлением разумных значений.
В дополнение к существующему правилу оценки движущихся средних линий, в некоторой степени можно отфильтровывать небольшие диапазоны шума.
Тест определяет оптимальное сочетание параметров RSI, превышающих стоимость покупки и продажи, путем отсчета исторических данных.
В дополнение к существующему методу остановки убытков, можно добавить механизм выхода из целевой прибыли и остановки убытков, чтобы заблокировать прибыль.
Стратегия использует двойную проверку при реверсии цены и RSI, чтобы реализовать реверсию в качестве основной тенденции. Параметры настройки просты, легко овладевать реальным диском.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 16/08/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
// The RSI is a very popular indicator that follows price activity.
// It calculates an average of the positive net changes, and an average
// of the negative net changes in the most recent bars, and it determines
// the ratio between these averages. The result is expressed as a number
// between 0 and 100. Commonly it is said that if the RSI has a low value,
// for example 30 or under, the symbol is oversold. And if the RSI has a
// high value, 70 for example, the symbol is overbought.
//
// 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
mRSI(Length,Oversold,Overbought) =>
pos = 0.0
xRSI = rsi(close, Length)
pos:=iff(xRSI > Overbought, 1,
iff(xRSI < Oversold, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & RSI", 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, "---- RSI ----")
LengthRSI = input(12, minval=1)
Oversold = input(30, minval=1)
Overbought = input(70, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posmRSI = mRSI(LengthRSI,Oversold,Overbought)
pos = iff(posReversal123 == 1 and posmRSI == 1 , 1,
iff(posReversal123 == -1 and posmRSI == -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 )