Apprenez à concevoir un système de trading basé sur le Stochastique

Mohamed Abdelmaaboud | 29 août, 2022

Introduction

Une chose intéressante avec l'analyse technique est que nous disposons de nombreux outils que nous pouvons utiliser individuellement ou de façon combinée avec d’autres outils. En plus de cela, nous disposons d'un outil incroyable, très utile pour améliorer nos résultats et nos performances de trading. Cet outil est la programmation. Elle nous permet de créer des programmes très utiles : nous donnons à l'ordinateur des instructions pour qu'il fasse ce dont nous avons besoin de manière automatique et précise, en fonction de nos conditions.

Cet article est une nouvelle contribution pour essayer de vous enseigner ce qui peut être utile dans le trading technique et la programmation de stratégies de trading. Nous discuterons dans cet article d'un nouvel outil qui peut être utile dans notre trading. Il s'agit de l'indicateur "Oscillateur Stochastique" qui est l'un des plus populaires dans le trading basé sur l'analyse technique. Si vous lisez mes autres articles ici, vous devez savoir que j'aime enseigner les racines des choses pour comprendre tous les détails et le mécanisme de fonctionnement des choses autant que je peux. Nous aborderons donc ce sujet ensemble de la même façon. Les éléments suivants seront abordés dans cet article :

  1. Définition du Stochastique
  2. Stratégie basée sur le Stochastique
  3. Plan du système Stochastique
  4. Système de trading basé sur le Stochastique
  5. Conclusion

Grâce à la rubrique "Définition du Stochastique", nous allons découvrir en détail l'oscillateur stochastique pour savoir ce qu'il est et ce qu'il mesure. Ensuite, dans la section "Stratégie basée sur le Stochastique", nous apprendrons quelques stratégies simples que nous pouvons utiliser. Puis nous concevrons un plan pour ces stratégies simples afin de nous aider à les coder en MQL5 pour pouvoir ensuite les utiliser dans MetaTrader 5 - ceci sera abordé dans la section "Plan du système Stochastique". Ensuite, nous apprendrons comment écrire un code pour concevoir un système de trading pour ces stratégies simples - ceci sera fait dans le sujet "Système de trading basé sur le Stochastique".

Nous utiliserons le terminal de trading MetaTrader 5 et le langage MetaQuotes, qui est intégré à MetaTrader 5. Vous pouvez télécharger MetaTrader 5 à partir du lien suivant :https://www.metatrader5.com/fr/download.

Avertissement : Toutes les informations sont fournies "en l'état" uniquement à des fins d'information et ne sont pas données à des fins de trading ou de conseil. Ces informations ne garantissent aucun type de résultat. Si vous utilisez le contenu de cet article sur l'un de vos comptes de trading, vous le faites à vos propres risques et vous en serez le seul responsable.

Nous allons maintenant commencer notre voyage vers un nouveau sujet intéressant, c’est parti.


Définition du Stochastique

Dans cette partie, nous allons apprendre plus en détail l'un des indicateurs techniques les plus populaires, l'oscillateur Stochastique. Il a été développé par George Lane et est décrit dans le livre "New Trading Systems and Methods" de Perry J. Kaufman. Mais il y a des discussions à ce sujet. L'une d'elles est qu'il n'est pas clair qui a créé l'indicateur Stochastique - ceci est mentionné dans le livre "Technical Analysis, The Complete Resource for Financial Market Technicians" par Charles D. Kirkpatrick et Julie R. Dahlquist. Une autre opinion est que l'indicateur a été popularisé par George Lane comme mentionné dans le livre "Technical Analysis of The Financial Markets" par John J. Murphy.

L'idée derrière l'indicateur Stochastique est la suivante : on a observé que pendant une tendance haussière, les prix ont tendance à se rapprocher de la partie supérieure de la fourchette de prix pendant une période spécifique. Et vice versa, pendant une tendance baissière, les prix ont tendance à se rapprocher de la partie inférieure de la fourchette de prix pendant une période spécifique. Il mesure la relation entre le prix actuel et les prix les plus élevés et les plus bas d'une période spécifique.

L'oscillateur Stochastique se compose de deux lignes, oscillant entre les niveau zéro et 100 :

Il existe plus d'une version de l'oscillateur Stochastique. Les versions les plus populaires sont les deux suivantes :

Nous allons voir les différences entre les méthodes de calcul de l'oscillateur Stochastique.

Voici les étapes du calcul de l'oscillateur Stochastique :

  1. Détermination de la période nécessaire au calcul de l'indicateur.
  2. Détermination du plus haut de la période souhaitée.
  3. Détermination du plus bas de la période souhaitée.
  4. Calcul de %K du Stochastique rapide = 100 * ((close - plus bas) / (plus haut - plus bas))
  5. Calcul de %D du Stochastique rapide = 3 moyennes mobiles de %K du Stochastique rapide.
  6. Calcul de %K du Stochastique lent = %D du Stochastique rapide
  7. Calcul de %D du Stochastique lent = 3 moyennes mobiles de %K du Stochastique lent (qui est le même que le %D du Stochastique rapide) 

Voyons maintenant un exemple de calcul de l'oscillateur Stochastique. Considérons que nous avons les données suivantes :

Jours Clôture Plus Haut Plus Bas
1 100 110 90
2 130 140 120
3 140 160 120
4 130 150 110
5 120 140 100
6 140 150 130
7 160 170 150
8 170 180 160
9 155 170 150
10 140 170 130
11 160 180 155
12 180 190 175
13 190 220 190
14 200 230 200
15 210 215 205
16 200 200 190
17 190 195 180
18 185 105 180
19 195 210 185
20 200 220 190

Pour calculer l'oscillateur Stochastique, nous allons suivre les étapes mentionnées précédemment :

Plus haut des 14 périodes

Plus bas des 14 périodes

Stochastique Rapide - K-D

Stochastique Lent - K-D

Grâce aux étapes précédentes, nous avons calculé manuellement l'oscillateur Stochastique. Heureusement, nous n'avons pas besoin de le calculer manuellement à chaque fois car cet indicateur est intégré et prêt à l'emploi dans le terminal de trading MetaTrader5. Nous pouvons simplement le sélectionner depuis la liste des indicateurs disponibles dans la plateforme en cliquant sur le menu Insérer de MetaTrader 5 comme le montre l'image suivante :

Insertion de l’oscillateur Stochastique

Après avoir choisi l'oscillateur Stochastique, la fenêtre suivante s'ouvre pour déterminer les paramètres de l'indicateur :

 Fenêtre des paramètres du Stochastique

Paramètres de l'indicateur :

  1. Détermine la période
  2. Détermine la période de lissage pour le %D rapide
  3. Détermine la période de lissage pour le %D lent
  4. Détermine le type de prix pour la mesure du rapport
  5. Détermine le type de moyenne mobile qui sera utilisée dans le calcul
  6. Détermine la couleur, le style et l'épaisseur de la ligne de %K
  7. Détermine la couleur, le style et l'épaisseur de la ligne de %D

Après avoir défini les paramètres selon vos préférences, l'indicateur sera attaché au graphique et apparaîtra comme dans l'image suivante :

Stochastique sur le graphique

Après avoir inséré l'oscillateur Stochastique, nous pouvons constater, conformément à l'image précédente, que l'indicateur est tracé dans la fenêtre inférieure avec 2 lignes (%K, %D) oscillant entre zéro et 100.

Selon son calcul, l'oscillateur Stochastique suivra la direction du marché sous une forme spécifique la plupart du temps, car nous savons que les prix de clôture ont tendance à se rapprocher de la fourchette de prix supérieure ou inférieure d'une période spécifique en fonction du mouvement du marché.

Pendant une tendance haussière :

Une tendance haussière est une direction de marché dans laquelle les prix montent en raison du contrôle des acheteurs (ou ’bulls’). Habituellement, les prix créent des bas plus élevés et des hauts plus élevés. Dans ce cas, nous pouvons appeler ce marché un marché haussier.

Dans cette configuration du marché, les prix de clôture ont tendance la plupart du temps à clôturer près de la partie supérieure de la fourchette de prix. Et le Stochastique oscillera entre le niveau 50 et le niveau 100. Par exemple :

Stochastique pendant une tendance haussière

Pendant une tendance baissière :

Une tendance baissière est une orientation du marché dans laquelle les prix baissent en raison du contrôle des vendeurs (ou ’bears’). Les prix créent des sommets moins hauts et des creux plus bas. Dans ce cas, nous pouvons appeler ce marché un marché baissier.

Dans cette configuration du marché, les prix de clôture ont tendance la plupart du temps à se rapprocher de la fourchette inférieure des mouvements de prix. Nous pouvons ainsi constater que l'indicateur Stochastique se déplace entre le niveau 50 et le niveau 0 pendant la période de mouvement à la baisse. Par exemple :

Stochastique pendant une tendance baissière

Pendant les mouvements latéraux :

Un mouvement latéral est un mouvement de prix sans direction claire (ni à la hausse, ni à la baisse). C’est une situation d’équilibre entre les acheteurs et les vendeurs. Il s'agit de tout mouvement, à l’exception d’une tendance haussière et d’une tendance baissière.

Pendant un mouvement latéral, il n'y a pas de mouvement clair à la hausse ou à la baisse, les prix ont tendance à se rapprocher du milieu de la fourchette des prix. Nous pouvons donc constater que la plupart du temps, le Stochastique se déplace autour des niveaux 20 et 80 :

Stochastique pendant un mouvement latéral

Nous avons analysé comment l'indicateur Stochastique se comporte pendant les différents mouvements du marché. Nous devons maintenant apprendre comment l'utiliser.


Stratégie basée sur le Stochastique

Dans cette partie, nous allons parler de la façon dont nous pouvons utiliser cet indicateur au travers de stratégies simples. Nous pouvons obtenir des signaux de l'indicateur Stochastique en fonction de la tendance du marché. Nous allons voir les stratégies suivantes : stratégie en tendance haussière, stratégie en tendance baissière et stratégie en mouvement latéral.

Pour cette stratégie, nous devons vérifier si la ligne %K et la ligne %D sont en dessous du niveau 50. Le signal d'achat sera généré lorsque la ligne %K passera au-dessus de la ligne %D. Les profits peuvent être pris en fonction d'un autre outil comme l'action des prix par exemple, en recherchant un nouveau plus bas.

%K, %D < 50 --> %K > %D = signal d’achat

Pour cette stratégie, nous devons vérifier si la ligne %K et la ligne %D sont au-dessus du niveau 50. Le signal de vente sera généré lorsque la ligne %K passera sous la ligne %D. Les profits peuvent être pris en fonction d'un autre outil comme l'action des prix, par exemple en recherchant un nouveau plus haut.

%K, %D > 50 --> %K < %D = signal de vente

Pour cette stratégie, nous devons vérifier si les lignes %K et %D sont en dessous du niveau 20. Le signal d'achat sera généré lorsque la ligne %K passera au-dessus de la ligne %D. Lorsque les lignes %K et %D sont supérieures à 80, le signal de prise de profit sera généré lorsque la ligne %K passera sous la ligne %D.

%K, %D < 20 --> %K > %D = signal d’achat
%K, %D > 80 --> %K < %D = prise de profit

Pour cette stratégie, nous devons vérifier si les lignes %K et %D sont au-dessus du niveau 80. Le signal de vente sera généré lorsque la ligne %K passera sous la ligne %D. Lorsque la ligne %K et le %D sont inférieurs au niveau 20, le signal de prise des profits sera généré lorsque la ligne %K passera au-dessus de la ligne %D.

%K, %D > 80 --> %K < %D = signal de vente
%K, %D < 20 --> %K > %D = prise de profit

Je voudrais mentionner ici qu'il existe beaucoup de stratégies stochastiques pouvant être utilisées, des stratégies simples aux stratégies compliquées. Cet indicateur peut être utilisé individuellement ou combiné avec un autre outil de manière à donner de meilleurs résultats. Nous ne mentionnons ici que des stratégies simples pour comprendre comment cet indicateur peut être utilisé.


Plan du système Stochastique

Dans cette partie, nous allons concevoir un plan pour les stratégies mentionnées précédemment. Ce plan nous aidera à créer un système de trading facilement. Ce plan sera un guide, étape par étape, pour identifier ce que le programme doit faire exactement.

%K, %D < 50 --> %K > %D = signal d’achat

Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 50. S'ils sont en dessous du niveau 50, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal d'achat. Si (%K, %D) sont supérieurs ou égaux au niveau 50, le programme ne fera rien.

L'image suivante est le modèle de cette stratégie en tendance haussière :

Schéma de la stratégie Stochastique en tendance haussière

%K, %D > 50 --> %K < %D = signal de vente

Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 50. S'ils sont au dessus du niveau 50, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de vente. Si (%K, %D) sont inférieurs ou égaux au niveau 50, le programme ne fera rien.

L'image suivante montre le plan de cette stratégie :

Schéma de la stratégie Stochastique en tendance baissière

Signal d'achat

%K, %D < 20 --> %K > %D = signal d’achat

%K, %D > 80 --> %K < %D = prise de profit

Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 20. S'ils sont en dessous du niveau 20, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal d'achat. Si %K et %D sont supérieurs ou égaux au niveau 20, le programme ne fera rien. Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 80. S'ils sont au dessus du niveau 80, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de prise de profit. Si %K et %D sont inférieurs ou égaux au niveau 80, le programme ne fera rien.

L'image suivante montre le plan de cette stratégie :

Schéma de la stratégie Stochastique en tendance latérale - achat

Signal de vente

%K, %D > 80 --> %K < %D = signal de vente

%K, %D < 20 --> %K > %D = prise de profit

Le programme doit d’abord vérifier %K et %D, et décider s'ils sont en dessous ou au-dessus du niveau 80. S'ils sont au dessus du niveau 80, il ne fera rien jusqu'à ce que la ligne %K passe en-dessous de la ligne %D pour donner le signal de vente. Si %K et %D sont inférieurs ou égaux au niveau 80, le programme ne fera rien. Le programme doit d’abord vérifier (%K, %D) et décider s'ils sont en dessous ou au-dessus du niveau 20. S'ils sont en dessous du niveau 20, il ne fera rien jusqu'à ce que la ligne %K passe au-dessus de la ligne %D pour donner le signal de prise de profit. Si %K et %D sont supérieurs ou égaux au niveau 20, le programme ne fera rien.

L'image suivante est un plan pour le signal de vente de la stratégie en mouvement latéral :

Schéma de la stratégie Stochastique en tendance latérale - vente

Nous avons jusqu’à présent examiné des stratégies simples utilisant l'indicateur Stochastique, et nous avons conçu des plans pour ces stratégies afin de nous aider à créer un système de trading. Dans la partie suivante, nous verrons comment concevoir ce système de trading.


Système de trading basé sur le Stochastique

Nous allons maintenant commencer une partie intéressante de cet article pour apprendre à coder un système de trading pour ces stratégies. La programmation est un outil formidable qui nous aide à trader efficacement. Elle nous permet d'exécuter notre plan et notre stratégie de manière disciplinée, sans impliquer d'émotions dans nos décisions de trading, en plus de la précision d'exécution. Mais le plus important est de tester toute stratégie avant de l'exécuter. Ecrivons notre système de trading en fonction des stratégies discutées précédemment...

Nous devons tout d’abord écrire le code fournissant les valeurs des lignes stochastiques sur le graphique. Nous apprendrons ligne par ligne ce que nous écrivons pour être capable après cette étape de comprendre et de créer le système de trading.

Nous devons tout d’abord créer des tableaux pour les lignes %K et %D. Nous allons utiliser le type "double" qui présente des valeurs avec une partie fractionnaire :

double Karray[];
double Darray[];

Nous devons ensuite trier ces tableaux créés à partir des données actuelles en utilisant la fonction "ArraySetAsSeries" :

ArraySetAsSeries(Karray, true);
ArraySetAsSeries(Darray, true);

Puis, nous devons définir l'indicateur "Stochastic". Nous utiliserons la fonction "iStochastic" qui sera représentée par la variable "StochDef" :

int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);

Nous remplissons ensuite le tableau avec les données des prix en utilisant la fonction "CopyBuffer" :

CopyBuffer(StochDef,0,0,3,Karray);
CopyBuffer(StochDef,1,0,3,Darray);

Enfin, nous calculerons la valeur des lignes %K et %D. Nous utiliserons le type "float" pour diminuer la taille des fractions et pour être approximatif :

float KValue = Karray[0];
float DValue = Darray[0];

La dernière ligne de code affichera la valeur des lignes %K et %D sur le graphique, sur deux lignes, avec la fonction "Comment" :

Comment("%K value is ", KValue,"\n""%D Value is ",DValue);

Voici le même code complet, en un seul bloc :

//+------------------------------------------------------------------+
//|                       Simple Stochastic System - Lines Value.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
//creating arrays for %K line and %D line   
   double Karray[];
   double Darray[];
   
//sorting arrays from the current data   
   ArraySetAsSeries(Karray, true);
   ArraySetAsSeries(Darray, true);

//defining the stochastic indicator   
   int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);

//filling arrays with price data   
   CopyBuffer(StochDef,0,0,3,Karray);
   CopyBuffer(StochDef,1,0,3,Darray);

//calculating value of %K and %D line of cuurent data  
   float KValue = Karray[0];
   float DValue = Darray[0];
   
//commenting calcualted values on the chart   
   Comment("%K value is ",KValue,"\n"
   "%D Value is ",DValue);
      
  }
//+------------------------------------------------------------------+

Jusqu'à présent, nous avons écrit le code d'un programme qui affiche les valeurs actuelles des lignes de l'indicateur Stochastique sur le graphique. Nous devons maintenant exécuter ce programme sur notre terminal de trading Meta Trader 5 :

Navigateur 1

Après avoir glissé et déposé le fichier de ’Simple Stochastic System - Lines Value’, la fenêtre suivante s'ouvrira :

Fenêtre de l’Expert Simple Stochastic System - Lines Value


Après avoir appuyé sur OK, le programme sera attaché au graphique comme dans l'image ci-dessous :

Expert Simple Stochastic System - Lines Value attaché

Et nous pouvons alors voir que le programme génère les valeurs des lignes stochastiques comme dans l'image ci-dessous :

Expert Simple Stochastic System - Lines Value

Nous allons maintenant commencer à coder le système de trading pour nos stratégies. Nous devons créer un système de trading capable de présenter le signal approprié sous la forme d’un commentaire sur le graphique en fonction de la stratégie utilisée. C’est parti...

%K, %D < 50 --> %K > %D = signal d’achat

Le code suivant crée un système de trading selon la stratégie en tendance haussière :

//+------------------------------------------------------------------+
//|                  Simple Stochastic System - Uptrend Strategy.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   string signal="";
   
   double Karray[];
   double Darray[];
   
   ArraySetAsSeries(Karray, true);
   ArraySetAsSeries(Darray, true);
   
   int StochDef = iStochastic(_Symbol,_Period,14,3,3,MODE_SMA,STO_LOWHIGH);
   
   CopyBuffer(StochDef,0,0,3,Karray);
   CopyBuffer(StochDef,1,0,3,Darray);
   
   double KValue0 = Karray[0];
   double DValue0 = Darray[0];
   
   double KValue1 = Karray[1];
   double DValue1 = Darray[1];
   
   if (KValue0<50&&DValue0<50)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "BUY";
      }      
      
   Comment("SSS - Uptrend Strategy - Signal is ",signal);
      
  }
//+------------------------------------------------------------------+

Les différences sont les suivantes :

Création d'une variable "signal", vide par défaut, que nous calculerons par la suite :

string signal="";

Création de deux variables pour les valeurs de %K (0,1) et de deux variables pour les valeurs de %D (0,1) pour les données des deux dernières barres :

   double KValue0 = Karray[0];
   double DValue0 = Darray[0];
   
   double KValue1 = Karray[1];
   double DValue1 = Darray[1];

Pour évaluer le croisement entre %K et %D, %K doit casser %D vers le haut et passer au-dessus de lui après ce croisement. Ceci correspond à la ligne de code du "if" :

   if (KValue0<50&&DValue0<50)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "BUY";
      }      
      

Si le croisement est réalisé, c’est un signal "ACHAT" et la variable "signal" sera affectée. Nous avons alors besoin d'un commentaire avec ce signal sur le graphique, ce qui est fait avec la ligne de code suivante :

Comment("SSS - Uptrend Strategy - Signal is ",signal);

Nous avons créé le code du programme. Après l’avoir compilé, nous le trouverons dans la fenêtre du Navigateur :

Navigateur 2

Après avoir glissé et déposé ce fichier sur le graphique, la fenêtre suivante apparaîtra :

 Fenêtre Simple Stochastic System - Uptrend


Après avoir appuyé sur OK, le programme sera attaché au graphique :

Simple Stochastic System - Uptrend attaché

Le signal apparaîtra ensuite comme dans l'exemple suivant lors du test :

Simple Stochastic System - Uptrend - achat

%K, %D > 50 --> %K < %D = signal de vente

Le code suivant correspond au programme exécutant cette stratégie en tendance baissière :

//+------------------------------------------------------------------+
//|                Simple Stochastic System - Downtrend Strategy.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   string signal="";
   
   double Karray[];
   double Darray[];
   
   ArraySetAsSeries(Karray, true);
   ArraySetAsSeries(Darray, true);
   
   int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
   
   CopyBuffer(StochDef,0,0,3,Karray);
   CopyBuffer(StochDef,1,0,3,Darray);
   
   double KValue0 = Karray[0];
   double DValue0 = Darray[0];
   
   double KValue1 = Karray[1];
   double DValue1 = Darray[1];
         
   if (KValue0>50&&DValue0>50)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "SELL";
      }
      
   Comment("SSS - Downtrend Strategy - Signal is ",signal);
      
  }
//+------------------------------------------------------------------+

Les différences sont les suivantes :

   if (KValue0>50&&DValue0>50)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "SELL";
      }
      

   Comment("SSS - Downtrend Strategy - Signal is ",signal);

Après la compilation, nous pourrons trouver le fichier de ce programme dans la fenêtre du Navigateur :

Navigateur 3

Glissez et déposez ce fichier sur le graphique. La fenêtre suivante s'ouvrira :

Fenêtre Simple Stochastic System - Downtrend

Après avoir appuyé sur OK, le fichier sera attaché au graphique :

Fenêtre Simple Stochastic System - Downtrend attaché 

 Le signal apparaîtra sous la forme d’un commentaire sur le graphique selon les conditions de cette stratégie :

Fenêtre Simple Stochastic System - Downtrend - vente

%K, %D < 20 --> %K > %D = signal d’achat

%K, %D > 80 --> %K < %D = signal de prise de profit

Le code suivant permet de créer un programme capable d'exécuter cette stratégie en cas de mouvement latéral :

//+------------------------------------------------------------------+
//|           Simple Stochastic System - Sideways - Buy Strategy.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   string signal="";
   
   double Karray[];
   double Darray[];
   
   ArraySetAsSeries(Karray, true);
   ArraySetAsSeries(Darray, true);
   
   int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
   
   CopyBuffer(StochDef,0,0,3,Karray);
   CopyBuffer(StochDef,1,0,3,Darray);
   
   double KValue0 = Karray[0];
   double DValue0 = Darray[0];
   
   double KValue1 = Karray[1];
   double DValue1 = Darray[1];
   
   if (KValue0<20&&DValue0<20)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "BUY";
      }      
      
   Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);
   
    if (KValue0>80&&DValue0>80)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "Take Profit";
      }
      
   Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);  
      
  }
//+------------------------------------------------------------------+

Les différences sont les suivantes :

   if (KValue0<20&&DValue0<20)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "BUY";
      }      
      

   Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

    if (KValue0>80&&DValue0>80)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "Take Profit";
      }
      

   Comment("SSS - Sideways - Buy Strategy - Signal is ",signal);

Après avoir été compilé, le fichier de ce système de trading apparaîtra dans la fenêtre du Navigateur :

Navigateur 4

Glissez et déposez le fichier sur le graphique. La fenêtre suivante sera alors ouverte :

Fenêtre Simple Stochastic System - Sideways - Buy

Après avoir appuyé sur OK, le fichier sera automatiquement attaché au graphique :

Simple Stochastic System - Sideways - Buy attaché

Le signal sera affiché sous la forme d’un commentaire sur le graphique selon cette stratégie. L'image suivante montre ce signal :

Simple Stochastic System - Sideways - Buy - achat

Exemple du signal "take profit" :

Simple Stochastic System - Sideways - Buy - TP

%K, %D > 80 --> %K < %D = signal de vente

%K, %D < 20 --> %K > %D = signal de prise de profit

Voici le code de cette stratégie :

//+------------------------------------------------------------------+
//|          Simple Stochastic System - Sideways - Sell Strategy.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
void OnTick()
  {
   string signal="";
   
   double Karray[];
   double Darray[];
   
   ArraySetAsSeries(Karray, true);
   ArraySetAsSeries(Darray, true);
   
   int StochDef = iStochastic(_Symbol,_Period,5,3,3,MODE_SMA,STO_LOWHIGH);
   
   CopyBuffer(StochDef,0,0,3,Karray);
   CopyBuffer(StochDef,1,0,3,Darray);
   
   double KValue0 = Karray[0];
   double DValue0 = Darray[0];
   
   double KValue1 = Karray[1];
   double DValue1 = Darray[1];  
   
    if (KValue0>80&&DValue0>80)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "SELL";
      }
      
   Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
   
   if (KValue0<20&&DValue0<20)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "TAKE PROFIT";
      }         
   Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
  }
//+------------------------------------------------------------------+

Les différences sont les suivantes :

    if (KValue0>80&&DValue0>80)
      if ((KValue0<DValue0) && (KValue1>DValue1))
      {
         signal = "SELL";
      }
   Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  
   if (KValue0<20&&DValue0<20)
      if ((KValue0>DValue0) && (KValue1<DValue1))
      {
         signal = "TAKE PROFIT";
      }   
   Comment("SSS - Sideways - Sell Strategy - Signal is ",signal);  

Après avoir été compilé, le fichier de ce système de trading apparaîtra dans la fenêtre du Navigateur :

Navigateur 5

Glissez et déposez ce fichier sur le graphique. La fenêtre suivante s'ouvrira :

Fenêtre Simple Stochastic System - Sideways - Sell

Après avoir appuyé sur OK, le programme sera attaché au graphique pour commencer à générer des signaux :

Simple Stochastic System - Sideways - Sell - attaché

L'image suivante est un exemple de signal de vente généré par cette stratégie :

Simple Stochastic System - Sideways - Sell - vente

L'image suivante est un exemple de signal de prise de bénéfices généré par cette stratégie :

Simple Stochastic System - Sideways - Sell - TP

Conclusion

Nous voici à la fin de cet article. Nous avons vu ensemble les bases de la création d'un système de trading simple en utilisant l'indicateur technique "Oscillateur Stochastique" qui est l'un des indicateurs les plus populaires dans le monde du trading. J'espère que vous avez compris ce qu'est l'oscillateur Stochastique, ce qu'il mesure et comment le calculer - nous l'avons examiné en détail. J'espère que vous avez appris quelque chose de nouveau, sur la façon d'utiliser l'indicateur Stochastique et quelques stratégies simples. L'article présente également un plan de ces stratégies sur la base desquelles il est possible de créer un système de trading facilement. Nous avons également examiné comment concevoir un système de trading basé sur ces stratégies simples.

J'espère que vous avez trouvé cet article utile, et qu'il vous aidera à trouver de nouvelles idées en vous donnant un aperçu de l'un des indicateurs les plus populaires et les plus utiles - l’oscillateur Stochastique, dans le monde du trading.