Aide au codage - page 784

 

J'aime vraiment cet indicateur mais il se repeint légèrement, j'ai besoin d'aide pour le réparer s'il vous plaît

J'ai pu utiliser cet indicateur pour générer ce résultat (https://www.forexfactory.com/siglot/199244) en le négociant manuellement (assez stressant cependant) avec mon système que je suis prêt à partager une fois que je serai capable d'automatiser cet indicateur dans le système sans qu'il se repeigne.


//+------------------------------------------------------------------+
//|                                                  Entry Point.mq4 |
//|                                                                  |
//|                                                                  |
//| Volatility quality index originaly developed by                  |
//| Thomas Stridsman (August 2002 Active Trader Magazine)            |
//|                                                                  |
//| Price pre-smoothing and filter added by raff1410                 |
//+------------------------------------------------------------------+
#property copyright "mladen"
#property link      "mladenfx@gmail.com"

#property indicator_separate_window
#property indicator_minimum 0.0
#property indicator_maximum 100.0
#property indicator_buffers 5
#property indicator_color1 CLR_NONE
#property indicator_color2 CLR_NONE
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 CLR_NONE

extern int KPeriod = 21;
extern int DPeriod = 12;
extern int Slowing = 3;
extern int method = 0;
extern int price = 0;
extern string WPR = "";
extern int ExtWPRPeriod = 14;
extern double ZoneHighPer = 70.0;
extern double ZoneLowPer = 30.0;
extern bool Modeone = TRUE;
extern bool PlaySoundBuy = FALSE;
extern bool PlaySoundSell = FALSE;
int Grima = 0;
extern string FileSoundBuy = "analyze buy";
extern string FileSoundSell = "analyze sell";
double stasi[];
double Regio[];
double Ray[];
double Dalio[];
double Mekno[];
int Tekno = 0;
int Dupon = 0;
int Travel = 0;
int DTra = 0;
int AsTra = 0;
int xTra = 0;

int init() {

   IndicatorBuffers(5);
   SetIndexStyle(0, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(0, stasi);
   SetIndexStyle(1, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(1, Regio);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 5);
   SetIndexArrow(2, 244);
   SetIndexBuffer(2, Ray);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 5);
   SetIndexBuffer(3, Dalio);
   SetIndexArrow(3, 244);
   SetIndexStyle(4, DRAW_LINE, EMPTY, 0);
   SetIndexBuffer(4, Mekno);
   Tekno = KPeriod + Slowing;
   Dupon = Tekno + DPeriod;
   SetIndexDrawBegin(0, Tekno);
   SetIndexDrawBegin(1, Dupon);
   SetIndexDrawBegin(4, ExtWPRPeriod);
   SetIndexEmptyValue(2, 0);
   SetIndexEmptyValue(3, 0);
   return (0);
}

int start() {
   double priceField;
   double highCal;
   double lowCal;
   double moov;
   double morz;
   double ore;
   double larzo;
   int shaft;
   int indiCount = IndicatorCounted();
   if (Bars <= Dupon) return (0);
   if (indiCount < 1) {
      for (int iterat0 = 1; iterat0 <= Tekno; iterat0++) stasi[Bars - iterat0] = 0;
      for (iterat0 = 1; iterat0 <= Dupon; iterat0++) Regio[Bars - iterat0] = 0;
   }
   if (indiCount > 0) indiCount--;
   int iterat1 = Bars - indiCount;
   for (iterat0 = 0; iterat0 < iterat1; iterat0++) {
      stasi[iterat0] = iStochastic(NULL, 0, KPeriod, DPeriod, Slowing, method, priceField, MODE_MAIN, iterat0);
      Regio[iterat0] = iStochastic(NULL, 0, 21, DPeriod, Slowing, method, priceField, MODE_SIGNAL, iterat0);
   }
   iterat0 = Bars - ExtWPRPeriod - 1;
   if (indiCount > ExtWPRPeriod) iterat0 = Bars - indiCount - 1;
   while (iterat0 >= 0) {
      highCal = High[iHighest(NULL, 0, MODE_HIGH, ExtWPRPeriod, iterat0)];
      lowCal = Low[iLowest(NULL, 0, MODE_LOW, ExtWPRPeriod, iterat0)];
      if (!Bhat(highCal - lowCal, 0.0)) Mekno[iterat0] = (highCal - Close[iterat0]) / (-0.01) / (highCal - lowCal) + 100.0;
      iterat0--;
   }
   if (indiCount > 0) indiCount--;
   iterat1 = Bars - indiCount;
   for (iterat0 = iterat1 - 1; iterat0 >= 0; iterat0--) {
      moov = Regio[iterat0];
      morz = Regio[iterat0 + 1];
      ore = stasi[iterat0];
      larzo = stasi[iterat0 + 1];
      if (ore > moov && larzo < morz && larzo < ZoneLowPer && morz < ZoneLowPer) {
         Ray[iterat0] = 100;
         shaft = iBarShift(NULL, 0, DTra);
         if (Modeone && shaft != iterat0 && xTra == 1) Ray[shaft] = 0;
         DTra = Time[iterat0];
         xTra = 1;
      } else Ray[iterat0] = 0;
      if (ore < moov && larzo > morz && larzo > ZoneHighPer && morz > ZoneHighPer) {
         Dalio[iterat0] = 100;
         shaft = iBarShift(NULL, 0, AsTra);
         if (Modeone && shaft != iterat0 && xTra == -1) Dalio[shaft] = 0;
         AsTra = Time[iterat0];
         xTra = -1;
      } else Dalio[iterat0] = 0;
   }
   if (PlaySoundBuy && Ray[Grima] > 0.0) {
      if (Travel != Time[Grima]) PlaySound(FileSoundBuy);
      Travel = Time[Grima];
   }
   if (PlaySoundSell && Dalio[Grima] > 0.0) {
      if (Travel != Time[Grima]) PlaySound(FileSoundSell);
      Travel = Time[Grima];
   }
   return (0);
}

bool Bhat(double Atat0, double Atat1) {
   bool Modenine = NormalizeDouble(Atat0 - Atat1, 8) == 0.0;
   return (Modenine);
}
 
Mayowa Daniel Sonaike:


Ne postez pas deux/trois/quadruple fois !

J'ai supprimé vos messages en double.

 

Bonjour. Quelqu'un pourrait-il m'aider à placer des ordres d' achat et de vente lorsque des flèches apparaissent sur le graphique ? J'utilise les flèches de l'indicateur WADDAH atr explosion. Toute aide serait la bienvenue. Merci

<fichier ex4 supprimé>

 
Bonjour, pouvez-vous m'aider. Comment puis-je ajouter un design à mon modèle de graphique et l'afficher comme l'image ci-jointe, et comment puis-je ajouter un seuil comme l'arrêt de la transaction lorsqu'un certain montant est atteint ou que le solde du compte est atteint à un montant x. J'ai joint mon code et s'il vous plaît n'hésitez pas à ajouter plus et à modifier...
Dossiers :
Capture.JPG  128 kb
 
Eustorgio Trentino:
Bonjour, pouvez-vous m'aider. Comment puis-je ajouter un design sur mon modèle de graphique et le montrer comme l'image ci-jointe, et comment puis-je ajouter un seuil comme l'arrêt de la transaction lorsqu'un certain montant est atteint ou que le solde du compte est atteint à x montant.

Ne pas doubler/tripler le poste !

J'ai supprimé vos doublons.

 
Les gars, j'ai besoin d'aide, est-ce qu'il est possible de faire un back-test de l' année précédente, par exemple de janvier 2020 à décembre 2020, car j'utilise MT4 et lorsque je fais un back-test de l' année précédente, cela ne fonctionne pas.
 
Eustorgio Trentino:
Les gars, j'ai besoin d'aide. Est-il possible de faire un back-test de l' année précédente, par exemple de janvier 2020 à décembre 2020, car j'utilise MT4 et lorsque je fais un back-test de l' année précédente, cela ne fonctionne pas.

Tant que vous disposez de suffisamment de données historiques pour le symbole, vous pouvez bien sûr le faire.

 
Bonjour, Bonjour tout le monde comment allez-vous ... J'espère que vous avez une bonne santé en ces temps difficiles

Il y a la possibilité d'ajouter l'option de JMA Jurik moving average? ?

Je remercie un bon programmeur avec un bon cœur peut m'aider sans demander une rémunération en retour ... Je vous remercie d'avance, ... salutations à tous... Merci

... salutations
Dossiers :
 
Merci à tous pour ces exemples.
 
ok
Raison: