Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 965

 
Artyom Trishkin:

Il n'est pas très agréable et correct de donner des bibliothèques comme matériel de formation pour MQL5 - elles ne produisent aucune connaissance. Les bibliothèques sont nécessaires pour ceux qui comprennent déjà ce qui est quoi.

Qu'est-ce que tu veux dire par beau ? pourquoi tu appliques ça au mot bibliothèque ? il y a un SB, je l'utilise c'est pas beau ?

Je peux écrire et écrire des pilotes sous DOS, ce qui semble être une bonne connaissance, mais sous Windows je ne sais même pas comment écrire des pilotes, mais j'utilise des pilotes prêts à l'emploi de WinAPI - je n'ai aucune connaissance ?

l'homme a une expérience en programmation, au moins les questions sont significatives, j'ai montré les sections de code qui semblent logiques

;)

 

HistoireSélectionner

Demande l'historique des transactions et des ordres pour la période spécifiée du temps serveur.

HistorySelect(
datetimefrom_date,// date d'origine
datetimeto_date//à la date
) ;

Paramètres

de_date

[Date initiale de la demande.

à_date

[Date de fin de la demande.

Valeur retournée

Renvoie la valeur true (vrai) en cas de succès, false (faux) dans le cas contraire.


J'ai une telle fonction de trading, elle ne réagit en aucune façon, elle renvoie toujours false.

if(HistorySelect(0,TimeCurrent())

retour (vrai) ;

 
Igor Makanu:

J'ai également posé cette question, malheureusement seules quelques personnes sur le forum connaissent la réponse, voici le débuthttps://www.mql5.com/ru/forum/6343/page1096#comment_12518595.

voici la solutionhttps://www.mql5.com/ru/forum/6343/page1098#comment_12519819

c'est la solution universelle: https://www.mql5.com/ru/code/16006

Merci, j'y jetterai un coup d'oeil demain...

 
Igor Makanu:

Qu'est-ce que tu veux dire par beau ? pourquoi tu appliques ça au mot bibliothèque ? il y a un SB, je l'utilise c'est pas beau ?

Je peux écrire et écrire des pilotes sous DOS, ce qui semble être une bonne connaissance, mais sous Windows je ne sais même pas comment écrire des pilotes, mais j'utilise des pilotes prêts à l'emploi de WinAPI - je n'ai aucune connaissance ?

l'homme a une expérience en programmation, au moins les questions sont significatives, j'ai montré les sections de code qui semblent logiques

;)

Tout est relatif, et tout semble "sur place".

Dans ce contexte, lorsqu'une personne pose une question sur la manière d'apprendre (de découvrir !) telle ou telle chose, nous ne lui donnons pas d'explication, mais simplement une bibliothèque - dites, utilisez-la, et ne posez pas de questions stupides :)

Bien que, pour être juste, il y avait un lien vers un exemple de fxsaber. Cela aurait été suffisant.

Et lorsque nous avons suivi l'exemple (tige) donne un énorme chaudron avec du poisson prêt à l'emploi, sentant délicieusement, et avec une fumée, le résultat peut être quoi ? C'est ça - "pourquoi ai-je besoin de comprendre quelque chose, si je peux le connecter et ne pas m'en soucier".

Un SB est bon à utiliser. Mais si vous savez comment l'utiliser et ne savez pas faire autre chose, c'est mauvais. Mais nous ne sommes pas comme ça, n'est-ce pas ? Nous commençons par absorber toutes les connaissances que nous pouvons, et avec ce poids sur nos épaules, nous pouvons nous permettre d'utiliser le SB, tout en comprenant clairement comment il fonctionne, ou si nous voulons - l'ouvrir, regarder et tout comprendre.

Règles de connaissances de base en général. C'est ce que je voulais dire.

 
//+------------------------------------------------------------------+
double LowPrice()
{
   double lowest = 1000000;
   
   for(int i=1; i<= BarCount;i++)
   {
      price = iLow(Symbol(),0,i);
      if(price <= lowest)
      lowest = price;
   }
   return(lowest);
}
//+------------------------------------------------------------------+
double HiPrice()
{
   double highest = 0;
   
   for(int i=1; i<= BarCount;i++)
   {
      price = iHigh(Symbol(),0,i);
      if(price >= highest)
      highest = price;
   }
   return(highest);
}
//+------------------------------------------------------------------+
double Zerro()
{  
   
}
//+------------------------------------------------------------------+

Bonjour ! Pouvez-vous me dire comment écrire une fonction de prix moyen ? Zerro. Du maximum au minimum, trouvez le milieu... J'ai écrit deux fonctions mais j'ai du mal à trouver le milieu ... Je dois en quelque sorte soustraire cette moyenne du minimum et l'ajouter au maximum ... Je veux dire pas comme ceci - (LowPrice() +HiPrice()) /2... mais pour sortir la valeur comme ceci - (HiPrice() - LowPrice()) /2 = AAA... et alors cette variable pourrait aussi être utilisée plus loin... --- LowPrice() - AAA, HiPrice + AAA....

 
Alex Pirate:

Bonjour ! Pourriez-vous me dire comment écrire une fonction de prix moyen ? Zerro. Du maximum au minimum, trouvez le milieu... J'ai écrit deux fonctions mais j'ai du mal à trouver le milieu ... Je dois en quelque sorte soustraire cette moyenne du minimum et l'ajouter au maximum ... Je veux dire pas comme ceci - (LowPrice() +HiPrice()) /2... mais pour sortir la valeur comme ceci - ( HiPrice() - LowPrice()) /2 = AAA... et alors cette variable pourrait aussi être utilisée plus loin... --- LowPrice() - AAA, HiPrice + AAA....

Tout est exactement comme vous l'avez écrit, sauf qu'il faut attribuer une valeur à la variable AAA, et non l'inverse.

double ААА = (HiPrice() - LowPrice()) /2;

Et ensuite utiliser cette variable.

Et pourquoi écrirais-tu ta propre fonction au lieu d'utiliser la fonction habituelle ?

int  iHighest( 
   const string        symbol,              // символ 
   ENUM_TIMEFRAMES     timeframe,           // период 
   ENUM_SERIESMODE     type,                // идентификатор таймсерии 
   int                 count=WHOLE_ARRAY,   // число элементов 
   int                 start=0              // индекс 
  );
int  iLowest( 
   const string        symbol,              // символ 
   ENUM_TIMEFRAMES     timeframe,           // период 
   ENUM_SERIESMODE     type,                // идентификатор таймсерии 
   int                 count=WHOLE_ARRAY,   // число элементов 
   int                 start=0              // индекс 
  );
 
Alexey Viktorov:

Tout est exactement comme vous l'avez écrit, sauf qu'il faut attribuer une valeur à la variable AAA, et non l'inverse.

Et ensuite utiliser cette variable.

Et pourquoi écrirais-tu ta propre fonction au lieu d'utiliser la fonction habituelle ?

Merci beaucoup ! !! Je voulais faire quelque chose de similaire à PivotPoint... de sorte qu'il détecte les hauts en début de journée et déplace déjà quelque chose du milieu... mais la distance est exactement celle de la valeur moyenne... Parfois, il va deux fois plus loin s'il atteint un sommet ou un creux...... modèle intéressant...

 
Alex Pirate:

Merci beaucoup !!! je voulais faire quelque chose comme PivotPoint... de sorte qu'il identifie les sommets en début de journée et déplace quelque chose du milieu... mais la distance est exactement ce que la valeur moyenne est... Parfois, il va deux fois plus loin s'il atteint un sommet ou un creux...... modèle intéressant...

Pouvez-vous traduire le surligné en russe ?

 
Alexey Viktorov:

Pouvez-vous traduire le surligné en russe ?

le prix se déplace à partir de la moyenne quotidienne, dans l'une ou l'autre direction exactement à cette distance (AAA-MAX ou AAA-MIN) (du milieu au maximum. Par exemple 50 points) ou vice versa (du milieu au minimum) ... et si le maximum ou le minimum est cassé, alors un autre à la même distance (50 points) est en baisse ou en hausse ... peut-être même deux de ces valeurs ... à (100 points), l'écran est clairement visible ... C'est pourquoi j'ai essayé de calculer cette valeur. pour déterminer exactement où prendre le profit

 
Alex Pirate:

Le prix se déplace à partir de la moyenne quotidienne, dans l'une ou l'autre direction, exactement à cette distance (AAA-MAX ou AAA-MIN) (du milieu au maximum. Par exemple 50 points) ou vice versa (du milieu au minimum) ... et si le maximum ou le minimum est cassé, alors la même distance (50 points) est en baisse ou en hausse ... peut-être même pour ces deux valeurs ... à (100 points), l'écran est clairement visible ... Il suffit d'essayer de calculer cette valeur. Pour déterminer exactement où prendre le bénéfice

Si c'est le cas, quel est l'intérêt de ces fonctions auto-écrites ?

double minPrice = iLow(Symbol(),PERIOD_D1,1);
double maxPrice = iHigh(Symbol(),PERIOD_D1,1);

Vous avez les prix maximum et minimum de la veille et vous définissez le point médian à partir de ces valeurs.

Raison: