
Эта стратегия использует три низких временных пролонгированных движущихся средних, включая низкие временные пролонгированные тематические средние значения 12 циклов, 26 циклов и 55 циклов. Эти три средние значения соответственно представляют собой: быстрый средний, средний средний и медленный средний.
В коде определена шаблонная функция tema (tema) для вычисления средней линии тем с низкой задержкой времени. Формула вычисления: TEMA = 2*EMA - EMA ((EMA), использующий вторичный индексный скользящий средний EWMA для расчета, по сути, является двойным индексом скользящего среднего, главным преимуществом которого является значительное снижение задержки. Таким образом, можно быстрее реагировать на изменения цен, повышая реальность суждения о торговых сигналах.
В частности, вход в эту стратегию определяется следующим образом: появление сигнала покупки при прохождении среднескоростной средней линии на быстрой средней линии и быстрой средней линии выше, чем медленная средняя линия; появление сигнала продажи при прохождении среднескоростной средней линии под быстрой средней линией и быстрой средней линии ниже, чем медленная средняя линия.
Наибольшее преимущество данной стратегии заключается в том, что она позволяет быстро и точно оценивать результаты выхода на рынок. Разработка задержек на низких треугольниках значительно уменьшает задержку и позволяет быстро реагировать на изменения цен. При этом использование треугольника для перекрестного оценивания позволяет избежать ошибочных выводов.
Кроме того, эта стратегия подходит для высокочастотного трейдинга и позволяет получать прибыль от колебаний цен на коротких линиях. С помощью операционной модели быстрого входа и выхода можно получать прибыль на рынке с большим количеством колебаний.
Наибольший риск этой стратегии заключается в возможности сверхкороткого арбитража. Дизайн трехмерной низкой задержки определяет, что она чрезвычайно чувствительна к изменениям цен, и в некоторых рынках может возникнуть сверхкороткое колебание.
Кроме того, высокочастотные сделки требуют больших комиссионных и скользящих точек.
Кроме того, стратегия требует от трейдеров более высоких возможностей для мониторинга в реальном времени, требуя своевременного обновления стоп-лосс и стоп-стоп.
Эта стратегия может быть оптимизирована в следующих аспектах:
оптимизировать циклические параметры треугольной середины, чтобы она лучше адаптировалась к особенностям различных рынков;
Добавление волатильности или объема торгов для подтверждения сигнала, чтобы избежать попадания в ситуацию волатильности;
Вместе с другими факторами для установки механизмов остановки и остановки, для динамического отслеживания;
Оптимизация управления позициями, контроль риска в отдельных позициях посредством средств управления;
Динамическая оптимизация параметров стратегии в сочетании с алгоритмами машинного обучения.
Эта стратегия представляет собой стратегию быстрого трейдинга с задержкой на низком уровне трех средних линий. Она разработана для быстрого быстрого выхода с низкой задержкой и подходит для высокочастотных трейдингов.
||
The strategy is named “Low Lag Triple Moving Average Fast Trading Strategy”. Its main idea is to determine entries and exits based on the golden cross and death cross of three moving averages with different parameters and low lag design.
The strategy uses three low-lag moving averages, including 12-, 26-, and 55-period low-lag TEMA. These three MAs represent fast, medium and slow MAs. When the fast MA crosses over the medium MA, a buy signal is generated. When the fast MA crosses below the medium MA, a sell signal is generated. By using the crossover of the three MAs to determine market entry and exit points, high frequency trading can be achieved.
The template function tema() is defined in the code to calculate the low-lag TEMA. Its calculation formula is: TEMA = 2*EMA - EMA(EMA). It uses the double exponential moving average EWMA for calculation. Essentially it is a double smoothed EMA with the main merit of largely reducing the lagging effect. Thus it can respond to price changes faster and improve the timeliness of trading signals.
Specifically, the entry rules of this strategy are: when the fast MA crosses over the medium MA and the fast MA is above the slow MA, a buy signal is generated. When the fast MA crosses below the medium MA and the fast MA is below the slow MA, a sell signal is generated.
The biggest advantage of this strategy is that the entries and exits are determined quickly and accurately. The low-lag design of the three MAs greatly reduces the lagging effect so that they can respond to price changes rapidly. Also, using the crossover of three MAs to determine signals avoids false signals.
In addition, this strategy is suitable for high-frequency trading to capture profits from short-term price fluctuations. Through fast entries and exits it can profit from high volatility markets.
The biggest risk is that ultra short-term whipsaws may occur. Due to the high sensitivity to price changes from the low-lag design, some markets may experience high-frequency oscillations. Then whipsaws are very likely to happen.
Also, high-frequency trading requires paying relatively high commissions and slippage costs. If the profiting ability is insufficient, it is easy to suffer losses from the trading costs.
Moreover, this strategy requires the trader to have strong real-time monitoring abilities to update the stop loss and take profit timely.
The strategy can be optimized from the following aspects:
Optimize the period parameters of the three MAs to better suit different market characteristics.
Add volatility indicators or volume indicators to confirm signals and avoid whipsaws in ranging markets.
Incorporate more factors to set up dynamic trailing stop mechanisms.
Optimize position sizing to control single trade risks through money management techniques.
Incorporate machine learning algorithms to dynamically optimize the strategy parameters.
This is a low-lag triple moving average fast trading strategy. Through its low-lag design, fast entries and exits can be achieved, which is suitable for high-frequency trading to capture short-term opportunities. The biggest advantage of this strategy is that its signal determination is fast and accurate. The biggest disadvantage is that it is prone to be whipsawed in ranging markets. This article comprehensively summarizes this trading strategy through detailed analysis of its rationale, advantages, risks and optimization directions.
[/trans]
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("scalping low lag tema etal", shorttitle="Scalping tema",initial_capital=10000, overlay=true)
mav = input(title="Moving Average Type", defval="temadelay", options=["nkclose", "ema", "emadelay", "fastema", "tema", "temadelay"])
lenb = 3
N = input(8)
K = input(1.2)
fracCap = input(1.0)
in = close + K*mom(close,N)
source = close
length = 8
sigma = 12.0
offset = 0.9
p = 4
// length = 10
// sigma = 6.0
// offset = 0.85
tema(src,len) => fastemaOut = 2*ema(src, len) - ema(ema(src, len), len)
a = 0.0
b = 0.0
c = 0.0
if mav == "nkclose"
a := ema(in, 12)
b := a[1]
c := a[2]
if mav == "ema"
a := ema(close, 12)
b := ema(close, 26)
c := ema(close, 55)
if mav == "emadelay"
a := ema(close, 12)
b := a[1]
c := a[2]
if mav == "fastema"
a := ema(in, 12)
b := ema(in, 26)
c := ema(in, 55)
if mav == "tema"
a := tema(close, 12)
b := tema(close, 26)
c := tema(close, 55)
if mav == "temadelay"
a := tema(close, 12)
b := a[1]
c := a[2]
TP = input(200)
SL = input(130)
TS = input(1)
// TP = input(50)
// SL = input(110)
// TS = input(1)
orderSize = floor((fracCap * strategy.equity) / close)
long = cross(a, c) and a > b
short = cross(a, c) and a < b
plot(a, title="12", color=color.red, linewidth=1)
plot(b, title="26", color=color.blue, linewidth=1)
plot(c, title="55", color=color.green, linewidth=1)
strategy.entry("Long", strategy.long, qty=orderSize, when=long)
strategy.entry("Short", strategy.short, qty=orderSize, when=short)
// strategy.entry("Long", strategy.long, 100.0, when=long)
// strategy.entry("Short", strategy.short, 100.0, when=short)
// strategy.entry("Long", strategy.long, 100.0, when=long)
// strategy.entry("Short", strategy.short, 100.0, when=short)
// strategy.entry("Long", strategy.long, 1.0, when=long)
// strategy.entry("Short", strategy.short, 1.0, when=short)
TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
// strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long)
// strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short)
// strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=long[1])
// strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP, when=short[1])
strategy.exit("Close Long", "Long", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "Short", qty_percent=100, profit=TPP, loss=SLP, trail_points=TSP)