Fonctions utiles de KimIV - page 106

 
vvg:


Je voulais utiliser cette fonction mais j'ai rencontré la situation suivante : lorsqu'un nouvel extremum apparaît, le niveau de prix ne change pas immédiatement mais reste le même pendant un certain temps. Cela me perturbe pendant les tests.

Veuillez fournir des preuves matérielles

:

symbole, date, heure, prix. Je voudrais répéter votre situation.
 
KimIV:
vvg:


Je voulais utiliser cette fonction, mais j'ai été confronté à la situation suivante : lorsqu'un nouvel extremum apparaît, le niveau de prix ne change pas immédiatement, mais reste le même pendant un certain temps.

Il entrave les tests.

Veuillez fournir des preuves matérielles

:

symbole, date, heure, prix. Je voudrais répéter votre situation.
Bonsoir, j'ai attaché un code à mon EA lui permettant de trader à une certaine période de temps, mais l'EA continue à trader, bien qu'il n'ait pas eu d'erreurs pendant la compilation ! Et je ne peux pas le faire trader sur la volatilité du marché (pour ouvrir une transaction si la volatilité est supérieure à 50) ! Pourriez-vous me montrer comment faire, car je suis déjà épuisé ! Merci d'avance !!!!
Dossiers :
dmx.mq4  3 kb
 

Pourquoi avez-vous placé votre fonction dans les variables globales?

// Empêcher le conseiller expert de négocier C et OP
si (Hour()==20 && Minute()>=59) && (Hour()==08 && Minute()>=59) )
retour ;

Il doit être placé au départ ! Probablement, lorsque la boucle part du début, elle verra la mauvaise condition et sortira sans ouvrir de positions. Cela devrait fonctionner pour vous.


Dossiers :
dmx_1.mq4  3 kb
 
LLIAMAH:

Pourquoi avez-vous placé votre fonction dans les variables globales ?

// Empêcher le conseiller expert de négocier C et OP
si (Hour()==20 && Minute()>=59) && (Hour()==08 && Minute()>=59) )
retour ;

Il doit être placé au départ ! Probablement, lorsque la boucle part du début, elle verra la mauvaise condition et sortira sans ouvrir de positions. Cela devrait vous aider.


Merci, mais malheureusement pas de changement
 
dimas7469:
Merci, mais malheureusement pas de changement

if ( (Hour()==20 && Minute()>=59) && (Hour()==08 && Minute()>=59) ) 
return;

Je vois...

if (Hour()>=21 || Hour()<=9) 
return;

C'est comme ça que ça devrait être.
Pas besoin de compliquer ce qui peut être simplifié...

 
todem:
à quoi sert l'esperluette à la fin de "double &" ?
Cela indique qu'un tableau déclaré dans les variables EA est passé à la fonction par référence. Après le retour de la fonction, ce tableau contiendra les valeurs que cette fonction y a inscrites.
 
Bon après-midi. Chère KimIV. Votre EA e-News-Lucky$ ouvre des ordres stop. Pouvez-vous le refaire pour ouvrir Limits ? Je ne suis pas un expert en programmation informatique :)), c'est pourquoi je sollicite votre aide. J'en serais heureux.
Dossiers :
 

Comment faire :

Si la condition 1 est remplie, il ne faut pas la vérifier à nouveau, et vérifier la condition 2 aux ticks suivants et ainsi de suite ?

static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int j;
   double bid;                                         
   bid=Bid;                                    // Текущая цена продажи
   string
   Symb=Symbol();                               // Название фин.инстр.
double Value_max=1.0000;
double Value_min=0.9980;
double Open_1=Open[1];
double Close_1=Close[1];
//----

//--------------------------------------------------------------- 4 --

double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0);   // Присваиваем пер. Val значение польз. индикатора
if (Условие1)
{
 Val_max=true;                  // 
 Alert("Значение инд. >= Value_max (исп. 1-е усл.)");
}
if (Условие2)
{
 Cl_dn=true;
 Alert("1 бар закрылся падением (исп. 2-е усл.)");
}
if (Условие3 && Cl_dn==true)
{
 Val_min=true;
 Alert("Значение инд. <= Value_min (исп. 3-е усл.)");
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0; j < OrdersTotal(); j++)
    {
     OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() == Symbol())
      {
      if (OrderType() == OP_SELL) return(0);
      }
    }
   
   OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red);  // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return(0);
  }
 
Pouvez-vous me dire s'il existe un script dans le thème qui ferme tous les ordres ouverts lorsque le profit total de n pips est atteint ?
 

Bonjour Igor. J'utilise votre fonction IniFiles.mqh, elle est parfaite pour mes besoins. Merci beaucoup.

Avez-vous (prêt et disposé à acheter)))) la même chose mais pour travailler avec excel ? J'ai essayé plusieurs options comme celle-ci https://www.mql5.com/ru/code. Mais la lecture d'un fichier cellulaire s'accompagne d'une ouverture explicite du fichier sur le bureau à chaque tic. Est-il possible de lire les données des cellules de manière programmée comme dans IniFiles ? J'en ai besoin pour lire les données d'un Quick DDE.