Двойная TEMA-форекс является наиболее распространенной стратегией для отслеживания ценовых тенденций. Эта стратегия использует тройную скользящую среднюю TEMA с двумя различными параметрами, генерируя многосигналы, когда быстрая линия пересекает медленную линию снизу, а когда быстрая линия пересекает медленную линию сверху. Эта стратегия может эффективно отслеживать ценовые тенденции и получать лучшую прибыль, когда тенденция ясна.
Стратегия использует TEMA как основной технический показатель. Формула расчета TEMA:
TEMA = (3*EMA1) - (3*EMA2) + EMA3
Из них EMA1, EMA2 и EMA3 - это индексированные скользящие средние EMA длиной N. TEMA может быстрее реагировать на изменения цен, рассчитывая EMA три раза.
Стратегия использует более короткие TEMA в качестве быстрых линий, более длинные TEMA в качестве медленных линий. Когда быстрые линии пересекают медленные линии, то цены начинают расти, генерируя многосигналы; когда быстрые линии пересекают медленные линии, то цены начинают падать, плавное положение.
Ключом к этой стратегии является установка параметров и определение условий. Установка быстрой линии с более коротким периодом, например, 20 дней, позволяет быстрее улавливать изменения цен. Установка медленной линии с более длительным периодом, например, 60 дней, позволяет исключать ложные прорывы.
Эта стратегия имеет следующие преимущества:
Используя TEMA, можно быстрее реагировать на изменения цен и улавливать обратные тенденции.
Двойная структура TEMA позволяет отфильтровывать ложные прорывы и вводить высоковероятные трендовые сделки.
Настройка параметров может быть гибкой и может быть скорректирована в зависимости от рынка.
Стратегическая логика проста и понятна, реализация легко понятна, использование средств высоко.
Лучше получать прибыль в трендовых ситуациях и эффективнее работать на рынке с четкой тенденцией.
Также существуют следующие риски:
В результате, в результате сборов, часто возникают убытки в торговле.
Если параметры установлены неправильно, может быть создано слишком много ложных сигналов.
Невозможность эффективно реагировать на кратковременные изменения, вызванные внезапными событиями.
Есть определенная задержка, возможно, мы пропустим короткую линию.
В условиях сильных потрясений риски открытия позиции высоки.
Необходимо своевременно корректировать параметры, чтобы адаптироваться к изменениям рынка, требуется определенный опыт оптимизации параметров.
Соответствующие меры управления рисками:
Оптимизируйте параметры, чтобы избежать чрезмерной чувствительности.
В сочетании с другими показателями фильтрует входные сигналы.
Использование стоп-лосса на выезде обеспечивает контроль за одиночными потерями.
Снижение размеров позиций, контроль рисков в отдельных сделках.
Добавление параметров для оптимизации суждений и механизмов человеческого вмешательства.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизация параметров скоростных и медленных линий, чтобы они лучше адаптировались к различным видам и условиям. Можно ввести механизм оптимизации динамических параметров.
Добавление комбинаций других показателей, таких как MACD, Бринбанд и т. д., повышает эффективность сигнала.
Добавление стратегий сдерживания убытков, таких как сдерживание движения, сдерживание времени, сдерживание ATR и т. Д., чтобы контролировать убытки.
В сочетании с индексом VIX следует избегать открытия позиции в паническом состоянии.
Введение количественных показателей энергии, чтобы при значительном увеличении количества энергии можно было подумать о строительстве складов.
Оптимизация стратегий управления капиталом, таких как торговля квотами, управление позициями и т. д.
Автоматическая оптимизация параметров в сочетании с машинным обучением.
Двойная стратегия TEMA - это стратегия, которая использует индикатор трендового индекса для отслеживания тенденций. Она полезна для захвата ценовых тенденций и торговли при четкой тенденции. Но также необходимо обратить внимание на контроль риска, чтобы избежать ненадлежащего использования, которое приводит к потере.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nickrober
//@version=4
strategy(title="TEMA Cross Backtest", shorttitle="TEMA_X_BT", overlay=true, commission_type=strategy.commission.percent, commission_value=0, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Backtest inputs
FromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
FromDay = input(defval=1, title="From Day", minval=1, maxval=31)
FromYear = input(defval=2020, title="From Year", minval=2010)
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=2017)
// Define backtest timewindow
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true
//TEMA Section
xLength = input(20, minval=1, title="Fast Length")
xPrice = close
xEMA1 = ema(xPrice, xLength)
xEMA2 = ema(xEMA1, xLength)
xEMA3 = ema(xEMA2, xLength)
xnRes = (3 * xEMA1) - (3 * xEMA2) + xEMA3
xnResP = plot(xnRes, color=color.green, linewidth=2, title="TEMA1")
yLength = input(60, minval=1, title="Slow Length")
yPrice = close
yEMA1 = ema(yPrice, yLength)
yEMA2 = ema(yEMA1, yLength)
yEMA3 = ema(yEMA2, yLength)
ynRes = (3 * yEMA1) - (3 * yEMA2) + yEMA3
ynResP = plot(ynRes, color=color.red, linewidth=2, title="TEMA2")
fill(xnResP, ynResP, color=xnRes > ynRes ? color.green : color.red, transp=75, editable=true)
// Buy and Sell Triggers
LongEntryAlert = xnRes > ynRes
LongCloseAlert = xnRes < ynRes
ShortEntryAlert = xnRes < ynRes
ShortCloseAlert = xnRes > ynRes
// Entry & Exit signals
strategy.entry("Long", strategy.long, when = xnRes > ynRes and window())
strategy.close("Long", when = xnRes < ynRes)
//strategy.entry("Short", strategy.short, when = xnRes < ynRes and window())
//strategy.close("Short", when = xnRes > ynRes)