Combiner plusieurs indicateurs techniques


Date de création: 2023-12-20 11:04:15 Dernière modification: 2023-12-20 11:04:15
Copier: 0 Nombre de clics: 662
1
Suivre
1621
Abonnés

Combiner plusieurs indicateurs techniques

Aperçu

Cette stratégie utilise la combinaison de plusieurs indicateurs techniques pour réaliser une stratégie de négociation de courte ligne complète. Cette stratégie a plusieurs modes de négociation, tels que le suivi de la tendance, la rupture de la transaction et le renversement de la transaction. Elle peut s’adapter à la plupart des environnements de marché.

Principe de stratégie

  1. La stratégie utilise d’abord l’indicateur de canal de corps de bougie, combiné avec les canaux de prix les plus élevés et les plus bas pour déterminer la direction et la force de la tendance actuelle.
  2. Deuxièmement, l’utilisation de l’indicateur EMA moyen couramment utilisé pour déterminer la direction de la tendance de la ligne moyenne longue. L’utilisation d’une combinaison de deux indicateurs EMA pour filtrer les faux signaux.
  3. La stratégie utilise ensuite l’indicateur Hull MA pour déterminer si le prix actuel est un surachat ou une survente. L’indicateur Hull MA a la capacité de déterminer plus précisément le point de basculement.
  4. Enfin, la stratégie utilise la fonction de sécurité pour ouvrir des cycles plus élevés afin de déterminer la direction de la tendance du grand cycle et de générer un signal de transaction.

La combinaison de ces stratégies permet de capturer les tendances de la période intermédiaire et de déterminer la direction de l’évolution globale en fonction de la période longue, permettant ainsi de réaliser une stratégie de négociation universelle.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans l’utilisation intégrée de plusieurs indicateurs techniques pour la négociation de portefeuilles, permettant de réaliser simultanément plusieurs modes de négociation tels que le suivi de la tendance, le trading inversé et le trading de rupture, ce qui est très universel et adapté à la plupart des environnements de marché.

Plus précisément, les principaux avantages de cette stratégie sont les suivants:

  1. L’utilisation de l’indicateur de canal de corps de bougie pour déterminer la rupture de l’entité permet d’identifier efficacement le signal de rupture.
  2. L’utilisation d’une combinaison de deux EMA pour filtrer les faux signaux améliore la précision du signal.
  3. L’utilisation de l’indicateur Hull MA pour déterminer les zones de survente et de survente permet de déterminer plus précisément les points de basculement.
  4. Les signaux de croisement de prix d’ouverture avec des lignes K de plus haute fréquence peuvent être évités pour éviter d’être induits en erreur par le bruit.
  5. La combinaison de plusieurs modes de négociation rend la stratégie plus omniprésente et universelle.

Analyse des risques

Bien que la stratégie combine plusieurs indicateurs pour réaliser une stratégie de négociation générique, la négociation comporte des risques, dont les principaux sont:

  1. Les transactions de rupture sont facilement induites en erreur par de faux signaux de rupture.
  2. Les contrats de change sont sujets à des pertes en cas de choc.
  3. La capacité de filtrage combinée de l’EMA double est encore limitée et pourrait supprimer les signaux normaux.
    1. L’indicateur Hull MA est encore insuffisamment précis pour l’ajustement de la courbe.

Nous pouvons optimiser pour ces risques de plusieurs façons:

  1. L’utilisation d’indicateurs plus stables pour aider à juger et éviter les fausses percées.
  2. Il a ajouté: “Nous avons besoin d’une stratégie de réduction des pertes et d’une stratégie de contrôle des pertes”.
  3. Ajustez les paramètres de la double EMA pour trouver la meilleure combinaison.
  4. L’expérience a permis d’intégrer plus d’indicateurs pour juger de la survente.

Direction d’optimisation

Selon l’analyse ci-dessus, la stratégie peut être optimisée principalement dans les directions suivantes:

  1. Les jugements auxiliaires sont effectués à l’aide de combinaisons d’indicateurs plus courants et plus stables, tels que la moyenne de Karman, les bandes de Brin, etc.
  2. Il a ajouté: “Nous devons renforcer nos stratégies d’arrêt des pertes et contrôler strictement les pertes individuelles”.
  3. Optimisation des paramètres pour trouver la meilleure combinaison de paramètres
  4. L’augmentation du jugement des modèles d’apprentissage automatique et l’utilisation de l’intelligence artificielle pour juger des zones de survente.
  5. Augmentation de la logique de jugement adaptatif, afin d’adapter les stratégies en fonction de la dynamique des différents environnements de marché.

Résumer

La stratégie utilise un large éventail d’indicateurs pour effectuer des transactions combinées, permettant une combinaison organique de plusieurs modes de négociation, tels que le suivi de tendances, la rupture de transactions et le renversement de transactions. C’est une stratégie de négociation de courte ligne très polyvalente et universelle. Le plus grand avantage de cette stratégie est qu’elle est large et adaptée à la plupart des environnements de marché.

Code source de la stratégie
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////