A estratégia usa três médias móveis de baixa tensão, incluindo a média temática de baixa tensão de 12 períodos, 26 períodos e 55 períodos. As três médias representam, respectivamente, a média rápida, a média rápida e a média lenta. Um sinal de compra é gerado quando a média rápida é atravessada pela média rápida; um sinal de venda é gerado quando a média rápida é atravessada pela média rápida.
O código define a função modelo tema (tema) para calcular a linha média de tema com menor atraso. Sua fórmula de cálculo é: TEMA = 2*EMA - EMA ((EMA), que usa a média móvel de índice secundário EWMA para calcular, é essencialmente uma média móvel de duplo índice, a principal vantagem é a redução significativa do atraso. Isso permite uma resposta mais rápida às mudanças de preço e melhora a atualidade do julgamento de sinais de negociação.
Concretamente, o julgamento de entrada da estratégia é: um sinal de compra é gerado quando a linha média rápida atravessa a linha média rápida e a linha média rápida está acima da linha média lenta; um sinal de venda é gerado quando a linha média rápida atravessa a linha média média rápida e a linha média rápida está abaixo da linha média lenta.
A maior vantagem da estratégia é a rápida e precisa de julgamento de entrada e saída. O desenho de atraso de baixa de trigonometria diminui significativamente o atraso e pode responder rapidamente às mudanças de preço. Ao mesmo tempo, o uso de trigonometria para julgamento cruzado evita erros de julgamento.
Além disso, a estratégia é adequada para negociações de alta frequência, podendo capturar oscilações de preços de curta linha para lucrar. Com o modo de operação de entrada e saída rápida, pode lucrar em mercados com maior volatilidade.
O maior risco da estratégia é a possibilidade de arbitragem ultra curta. A concepção do tempo de atraso de três linhas médias baixas determina que seja extremamente sensível às mudanças de preço, com oscilações ultra curtas em alguns mercados.
Além disso, as transações de alta frequência exigem maiores taxas de comissões e pontos de deslizamento. Se a capacidade de lucrar for insuficiente, é fácil ser arbitragem inversa das taxas de transação.
Além disso, a estratégia exige uma maior capacidade de monitoramento em tempo real dos traders, que necessitam de atualizar os pontos de parada e de suspensão em tempo hábil.
A estratégia pode ser melhorada em vários aspectos:
Otimizar os parâmetros de periodicidade da tríade para melhor adaptá-la às características de diferentes mercados;
Aumentar os indicadores de volatilidade ou de volume de transação para confirmar os sinais e evitar a captação em situações de turbulência;
Combinando mais fatores para definir mecanismos de suspensão de danos, para permitir o rastreamento dinâmico;
Optimizar a gestão de posições e controlar o risco individual por meio da gestão de fundos;
Parâmetros de estratégia de otimização dinâmica em combinação com algoritmos de aprendizado de máquina.
Esta estratégia é uma estratégia de negociação rápida de atraso em três linhas médias baixas. Ela é projetada para capturar oportunidades de linha curta por meio de um atraso baixo, para permitir uma saída rápida e rápida, adequada para negociações de alta frequência. A maior vantagem da estratégia é a rápida e precisa determinação do sinal, a maior desvantagem é a facilidade de ser manipulada em situações de turbulência.
||
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)