
La stratégie utilise trois moyennes mobiles basses, comprenant des moyennes thématiques basses de 12 cycles, 26 cycles et 55 cycles. Ces trois moyennes représentent respectivement: la moyenne rapide, la moyenne rapide et la moyenne lente. Un signal d’achat est généré lorsque la moyenne rapide est traversée par la moyenne rapide sur la moyenne rapide; un signal de vente est généré lorsque la moyenne rapide est traversée par la moyenne rapide.
Le code définit la fonction modèle thema (()) pour calculer la moyenne de la ligne thema avec un faible retard de temps. La formule de calcul est: TEMA = 2*L’EMA est essentiellement une moyenne mobile doublement indexée, dont l’avantage principal est la réduction considérable du retard. Elle permet de répondre plus rapidement aux variations de prix et d’améliorer la rapidité de jugement des signaux de négociation.
En particulier, l’entrée de la stratégie est jugée comme suit: un signal d’achat est généré lorsque la moyenne rapide est traversée sur la moyenne rapide et que la moyenne rapide est supérieure à la moyenne lente; un signal de vente est généré lorsque la moyenne moyenne est traversée sous la moyenne rapide et que la moyenne rapide est inférieure à la moyenne lente.
Le plus grand avantage de cette stratégie réside dans la rapidité et l’exactitude des jugements entrants et sortants. La conception du délai de retard bas de la ligne moyenne triangulaire réduit considérablement le retard et permet de répondre rapidement aux changements de prix.
En outre, la stratégie est adaptée aux transactions à haute fréquence, permettant de profiter des fluctuations de prix de courte durée. Le mode d’opération rapide et rapide permet de profiter des marchés plus volatiles.
Le plus grand risque de cette stratégie réside dans la possibilité d’un arbitrage ultra-courte ligne. La conception du délai de latence bas de la moyenne triangulaire détermine qu’elle est extrêmement sensible aux variations de prix, ce qui entraîne des fluctuations ultra-courte ligne dans certains marchés.
En outre, les transactions à haute fréquence nécessitent des frais de traitement et des points de glissement plus élevés. Si la rentabilité est insuffisante, il est facile d’être arbitragé par les frais de transaction.
En outre, la stratégie exige une capacité de surveillance en temps réel des traders, ce qui nécessite une mise à jour en temps réel des points d’arrêt et de rupture.
Cette stratégie peut être optimisée dans les domaines suivants:
Optimiser les paramètres cycliques de la moyenne triangulaire pour mieux l’adapter aux caractéristiques des différents marchés;
l’ajout d’indicateurs de volatilité ou de volume de transactions pour confirmer les signaux et éviter d’être pris dans une situation de choc;
La mise en place de mécanismes d’arrêt et de freinage, combinés à d’autres facteurs, permettant un suivi dynamique;
Optimiser la gestion des positions et contrôler les risques individuels par le biais de la gestion des fonds;
Les paramètres de stratégie d’optimisation dynamique combinés à des algorithmes d’apprentissage automatique.
Cette stratégie est une stratégie de négociation rapide avec un retard de bas de trois lignes moyennes. Elle est conçue pour capturer des opportunités de courte ligne grâce à un retard de bas de trois lignes moyennes, permettant une sortie rapide et rapide, adaptée aux transactions à haute fréquence. Le plus grand avantage de cette stratégie est la rapidité et l’exactitude de la détection des signaux, le plus grand inconvénient est la facilité d’être piégé dans des situations de choc.
||
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)