
Эта стратегия основана на динамических показателях прямоугольного канала и двулинейных показателях, что позволяет реализовать более полную систему торговли акциями. Сначала стратегия использует быструю ЭМА и медленную ЭМА для построения двулинейных торговых сигналов.
Рассчитывается средняя линия между 5-дневным циклом быстрых ЭМА и 50-дневным циклом медленных ЭМА. Быстрые ЭМА отражают недавние изменения цен, а медленные ЭМА отражают долгосрочные тенденции.
Преобразование EMA в TEMA (трехкратное скольжение средних), используя взвешенный метод расчета TEMA, повышает чувствительность кривой и быстрее улавливает изменения цен.
При прохождении медленной TEMA через быструю TEMA появляется сигнал “покупать”; при прохождении медленной TEMA через быструю TEMA появляется сигнал “продавать”. Принцип двойного равнолинейного пересечения широко применяется для количественной торговли.
Расчет ширины ценового канала, формирующий зону канала. Только когда цена пробивает канал, рассматривается возможность подачи торгового сигнала. Это позволяет отфильтровать ложные сигналы и подтвердить начало реальной тенденции.
Показатель SAR определяет направление общей тенденции и используется в сочетании с двулинейными торговыми сигналами, чтобы избежать ненужных обратных операций.
Двухлинейный скрещивание в сочетании с прорывом канала позволяет эффективно идентифицировать начало тренда, фильтровать шум и делать сигналы купли-продажи более точными и надежными.
TEMA-кривая более чувствительна, чем EMA-кривая, и может быстрее улавливать изменения цен.
Использование множества комбинаций показателей позволяет создать механизм проверки между показателями, избежать ограничений одного показателя и сделать стратегию более всеобъемлющей и надежной.
Гибкость в настройке параметров стратегии, адаптивность в корректировке и оптимизации в зависимости от рыночных условий, такие как циклы EMA, ширина каналов и т. Д.
Существует вероятность резких колебаний цен на акции в краткосрочной перспективе, что может привести к остановке.
В результате внезапных событий произошел разрыв в ценах на акции, что привело к невозможности их продажи по ожидаемой цене.
Двойная равномерная скрещивание не может полностью избежать возникновения ложного сигнала, все еще есть определенная погрешность.
Неправильная настройка параметров может привести к слишком частому или задержанному торговому сигналу.
Для проверки можно использовать дополнительные показатели, такие как KD, MACD и т. д., что делает стратегию более надежной.
Можно установить динамический цикл, чтобы скорректировать EMA и параметры каналов в зависимости от уровня рыночных колебаний, что делает стратегию более гибкой.
Можно создать модели машинного обучения, обучить большому количеству исторических данных, автоматически оптимизировать параметры и уменьшить вмешательство человека.
Поскольку мы не знаем, что делать, мы можем использовать текстовую аналитику, новостные эмоции и другие методы, чтобы оценить рыночную атмосферу и избежать бесполезной торговли во время важных новостей.
Эта стратегия с помощью быстрого и медленного пересечения TEMA сверяется с торговым сигналом, затем в сочетании с ценовым каналом и показателем SAR проверяется, чтобы эффективно идентифицировать начало тенденции цен на акции, совершать покупку и продажу в разумных местах. Несколько пакетов показателей проверяют друг друга, чтобы повысить надежность сигнала. Это более стабильная и эффективная стратегия торговли акциями.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TEMA_System_SAR", overlay=true)
//Collect inputs parameters
fastEmaPeriod = input(5, minval=1, title="Fast TEMA Period")
slowEmaPeriod = input(50, minval=1, title="Slow TEMA Periods")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 4, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2010, title = "From Year", minval = 2000)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2000)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 09, 15) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 15, 30) // backtest finish window
window() => true
fastEma = ema(close, fastEmaPeriod)
slowEma = ema(close, slowEmaPeriod)
//convert EMA into TEMA
ema1 = ema(close, fastEmaPeriod)
ema2 = ema(ema1, fastEmaPeriod)
ema3 = ema(ema2, fastEmaPeriod)
fastTEMA = 3 * (ema1 - ema2) + ema3
// convert EMA into TEMA
ema4 = ema(close, fastEmaPeriod)
ema5 = ema(ema1, fastEmaPeriod)
ema6 = ema(ema2, fastEmaPeriod)
slowTEMA = 3 * (ema4 - ema5) + ema6
buy = close > fastTEMA
sell = close < fastTEMA
plot(fastTEMA, title = 'fast TEMA', linewidth=2, color=white)
plot(slowTEMA, title = 'slow TEMA', linewidth=2, color=yellow)
strategy.entry("long",strategy.long, when = window() and buy)
strategy.entry("short", strategy.short, when = window() and sell)