Aide au codage - page 731

 

Cher mladen,

L'ea ci-jointe se bloque lors de la sauvegarde des paramètres et je dois redémarrer mt4 !

Y a-t-il un problème avec les codes ?

Merci.

Dossiers :
 
oguz:

Cher mladen,

L'ea ci-jointe se bloque lors de la sauvegarde des paramètres et je dois redémarrer mt4 !

Y a-t-il un problème avec les codes ?

Merci.

Aucun problème apparent qui pourrait causer cela
 
mladen:
Aucun problème apparent qui pourrait causer cela

Nous vous remercions de votre intérêt.

@mladen,

L'ea ci-jointe est très rentable. Mais il a beaucoup d'erreur(s) sur le dernier mt4.

Pourriez-vous les corriger ?

Merci.

Dossiers :
 
oguz:

Nous vous remercions de votre intérêt.

@mladen,

L'ea ci-jointe est très rentable. Mais il a beaucoup d'erreur(s) sur le dernier mt4.

Pourriez-vous les corriger ?

Merci.

Essayez-le (la même chose est valable pour celui-ci aussi : je ne sais pas s'il fonctionnera à cause de certains avertissements restés dans le code)
Dossiers :
 
mladen:
Essayez-le (la même chose est valable pour celui-ci aussi : je ne sais pas s'il fonctionnera à cause de certains avertissements restés dans le code).

Je vais le tester :)

Merci pour ce que vous avez fait.

 

Bonjour ,

J'essaie d'obtenir le signal de gann hilo mais cela ne fonctionne pas.

par exemple :
Je règle le hilo gan = 30 minutes et 4 smoothed, parce que je veux voir la direction du trade,

mais je n'arrive pas à obtenir le signal d' achat ou de vente correctement de l'indicateur à l'EA.

le"Hilo_Handle" ne prend pas la bonne valeur ;-(

//+------------------------------------------------------------------+
//|                                                      ea-hilo.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

//------- input -----------------------------------------------------+
input ushort                           Hilo_Periodo=4;
input ENUM_MA_METHOD                   Hilo_Metodo=MODE_SMA;

//------- global variables ------------------------------------------+
double Hilo_Handle = INVALID_HANDLE; //Hilo Handle
double Hilo_ma[1]; //hilo ma
double Hilo_cl[1]; //hilo close
int    Shift=1;    //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar
datetime ctm[1];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1)
     {
      return(false);
     }

     //---- get Hilo Moving Average
     Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo);
     if(Hilo_Handle!=INVALID_HANDLE)
        ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle);  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
        if(CopyBuffer(Hilo_Handle,0,Shift,1,Hilo_ma)==-1 ||
            CopyClose(_Symbol,PERIOD_CURRENT,0,1,Hilo_cl)==-1
            //CopyClose(_Symbol,PERIOD_CURRENT,Shift,1,Hilo_cl)==-1
            ) return;
            
         //Hilo Buy
         if (Hilo_cl[0]>Hilo_Handle) {
         Comment ("BUY SIGNAL "+Hilo_cl[0]+">"+Hilo_Handle);
         return;
         }
         else
         //Hilo Sell
         if (Hilo_cl[0]<Hilo_Handle) {
         Comment ("SELL SIGNAL "+Hilo_cl[0]+"<"+Hilo_Handle);
         return;
         }
         Comment ("NO SIGNAL");
  }
//+------------------------------------------------------------------+
Dossiers :
 

Très cher MLADEN

Voici un problème d'erreur, qui peut être éliminé de deux façons : ..... en ajoutant "t" avant (tdelete) et en ajoutant "pendingorder" (deletependingorder) après la suppression ....... Ma question est la suivante : quelle est la meilleure façon de procéder ?

Votre avis et vos conseils sont les bienvenus.

Salutations


 
baraozemo:

Bonjour ,

J'essaie d'obtenir le signal de gann hilo mais cela ne fonctionne pas.

par exemple :
Je règle le hilo gan = 30 minutes et 4 smoothed, parce que je veux voir la direction du trade,

mais je n'arrive pas à obtenir le signal d'achat ou de vente correctement de l'indicateur à l'EA.

le"Hilo_Handle" ne prend pas la bonne valeur ;-(

//+------------------------------------------------------------------+
//|                                                      ea-hilo.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

//------- input -----------------------------------------------------+
input ushort                           Hilo_Periodo=4;
input ENUM_MA_METHOD                   Hilo_Metodo=MODE_SMA;

//------- global variables ------------------------------------------+
double Hilo_Handle = INVALID_HANDLE; //Hilo Handle
double Hilo_ma[1]; //hilo ma
double Hilo_cl[1]; //hilo close
int    Shift=1;    //Bar on which indicators are checked: 0 - shaped bar, 1 - the first shaped bar
datetime ctm[1];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(CopyTime(_Symbol,PERIOD_CURRENT,0,1,ctm)==-1)
     {
      return(false);
     }

     //---- get Hilo Moving Average
     Hilo_Handle=iCustom(_Symbol,PERIOD_CURRENT,"gann_hi_lo_activator_ssl",Hilo_Periodo,Hilo_Metodo);
     if(Hilo_Handle!=INVALID_HANDLE)
        ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),Hilo_Handle);  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
        if(CopyBuffer(Hilo_Handle,0,Shift,1,Hilo_ma)==-1 ||
            CopyClose(_Symbol,PERIOD_CURRENT,0,1,Hilo_cl)==-1
            //CopyClose(_Symbol,PERIOD_CURRENT,Shift,1,Hilo_cl)==-1
            ) return;
            
         //Hilo Buy
         if (Hilo_cl[0]>Hilo_Handle) {
         Comment ("BUY SIGNAL "+Hilo_cl[0]+">"+Hilo_Handle);
         return;
         }
         else
         //Hilo Sell
         if (Hilo_cl[0]<Hilo_Handle) {
         Comment ("SELL SIGNAL "+Hilo_cl[0]+"<"+Hilo_Handle);
         return;
         }
         Comment ("NO SIGNAL");
  }
//+------------------------------------------------------------------+
Pourquoi comparez-vous la valeur avec une poignée ? Une poignée est une poignée - elle ne peut pas être comparée à une valeur.
 
mntiwana:

Très cher MLADEN

Voici un problème d'erreur, qui peut être supprimé de deux manières différentes : ..... en ajoutant "t" avant (tdelete) et en ajoutant "pendingorder" (deletependingorder) après avoir supprimé ....... Ma question est la suivante : quelle est la meilleure méthode ?

Votre avis et vos conseils sont les bienvenus.

Salutations


delete est un mot réservé dans le nouveau metatrader 4. Si une fonction, une variable ou toute autre partie du code, à l'exception de l'opérateur régulier new delete, utilise ce nom, il doit être renommé - l'ajout de "t" est une solution rapide, mais tout autre nom que "delete" fera l'affaire.
 
mladen:
delete est un mot réservé dans le nouveau metatrader 4. Si une fonction, une variable ou toute autre partie du code, à l'exception du nouvel opérateur de suppression, utilise ce nom, il doit être renommé - l'ajout de "t" est juste une solution rapide, mais n'importe quel nom, à l'exception de "delete", fera l'affaire.

Très cher MLADEN

Merci pour l'aide du guide. C'est clair maintenant, merci.

et comment supprimer ce genre d'avertissements ? ..... et si on laisse ces avertissements tels quels, cela affecte-t-il la fonctionnalité du code ?

"vérifier la précédence des opérateurs pour une erreur éventuelle ; utiliser les parenthèses pour clarifier la précédence".

Que faut-il ajouter ou faire avec ?

salutations