Stratégie de suivi de la dynamique


Date de création: 2023-11-23 13:47:02 Dernière modification: 2023-11-23 13:47:02
Copier: 0 Nombre de clics: 610
1
Suivre
1617
Abonnés

Stratégie de suivi de la dynamique

Aperçu

Cette stratégie est une stratégie de trading automatique qui utilise la taille de l’entité K et l’indicateur de dynamique de la tendance EMA pour juger de la tendance du marché et réaliser des achats et des ventes à bas prix. L’idée de base est de poursuivre les baisses dans les conditions de hausse et de compenser davantage dans les conditions de baisse.

Principe de stratégie

  1. Selon la taille de l’entité de la ligne K, on distingue trois types d’étain: étain d’étain, étain de petite taille et étain de grande taille.
  2. Dans le cas d’une hausse de l’EMA, l’apparition d’un grand point rouge indique que le marché est en train de s’ajuster, ce qui entraîne une hausse de l’offre.
  3. En cas de baisse de l’EMA, si un grand écran vert apparaît, cela indique que le marché est stable et que la position est prise.
  4. Modifier dynamiquement les positions en surveillant en temps réel les variations des entités de la ligne K et les tendances de l’EMA.

Analyse des avantages

  1. La stratégie est claire, la structure du marché est facile à comprendre grâce à des indicateurs simples.
  2. Les paramètres stratégiques sont moins nombreux, plus difficiles à adapter et plus stables.
  3. Il est possible d’effectuer des transactions à basse absorption et à haute volatilité, et de réaliser des bénéfices importants en cas de fortes fluctuations.
  4. Il est important de prendre en compte les tendances et les retournements, et de réagir en temps opportun aux changements de situation.

Risque et optimisation

  1. L’indice ATR peut être combiné avec l’indice ATR.
  2. Il est possible de tester plus de paires de transactions sans tenir compte de l’écart de référence des crypto-monnaies.
  3. Des algorithmes d’apprentissage automatique peuvent être introduits pour aider à déterminer la forme de la ligne K.
  4. Les variétés sélectionnées peuvent être combinées avec l’indicateur de volume commercialisé.
  5. Les paramètres peuvent être ajustés à différentes périodes.

Résumer

L’idée générale de cette stratégie est claire et facile à comprendre. Elle se caractérise principalement par deux caractéristiques: la direction de la ligne principale du marché est déterminée par un simple indicateur EMABOLL, et l’entité de la ligne K est déterminée par un ajustement local, permettant des transactions efficaces à faible absorption et à haute dispersion. La stratégie est très stable et se comporte particulièrement bien dans les crypto-monnaies, ce qui mérite d’être testé et optimisé.

Code source de la stratégie
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)

//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------

timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800

//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------

emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0

crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0

bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0

//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------

buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1

//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(buy, 0.5)
    strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
    strategy.close('long')

//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))