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

 
MakarFX #:
Qu'est-ce qui ne va pas avec celui-là ?

oui à tout le monde, ça ne correspond pas au format question-réponse et c'est un formatage stupide, on ne peut pas insérer une ligne de code dans le texte sans la faire passer à la ligne suivante, on ne peut pas citer un morceau de code correctement : tout le message est collé en dehors de la poche.

 
Nerd Trader #:

A partir d'un, OrdersTotal retournera zéro s'il n'y a pas de commande. Mais pour une raison quelconque.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

donne une boucle infinie, et donc >= non.

Existe-t-il une autre plateforme plus pratique pour communiquer sur mql ?

Il s'agit du site web des développeurs de la plateforme et du langage MQL.

Où d'autre pouvez-vous obtenir les réponses les plus précises ?

Et votre question relève d'une mauvaise compréhension de la façon de travailler avec les tableaux.

 
Aleksei Stepanenko #:

la boucle n'est pas réglée correctement :

ça devrait être comme ça :

Pourquoi ? Tout le monde écrit avec des égaux, mais est-ce bien correct ? Pourquoi avons-nous besoin d'une itération de la boucle si les positions sont 0 ?
 
Nerd Trader #:

A partir d'un, OrdersTotal retournera zéro s'il n'y a pas de commande. Mais pour une raison quelconque.

for ( int i = OrdersTotal() ; i > 0 ; i -- )

donne une boucle infinie et donc >= pas.

s.w. existe-t-il une autre plateforme plus pratique pour la communication mql ?
Pourquoi est-ce que ça donne une boucle infinie ? ça ne m'en donne pas une, seulement j'ai mql5
 
Non, c'est bon. S'il n'y a pas de positions, alors i=OrdersTotal()-1 sera égal à -1. Et la condition de boucle i>=0 ne sera pas exécutée immédiatement. Et le programme n'entrera pas dans la boucle.
 
est supérieur ou égal à, car le premier élément du tableau doit également être compté, et son indice dans le tableau est zéro.
 
Aleksei Stepanenko #:
est supérieure ou égale à, car le premier élément du tableau doit également être pris en compte, et son index dans le tableau est zéro.
Oh, c'est vrai, merci. Mais c'est une béquille, bien sûr. Tout comme l'ensemble du MQL, bien sûr.
 

Bonjour !

Les variables sont déclarées comme suit

input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

Dans le code mql4, la ligne est comme ceci

startTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ",startHour));
endTime=StringToTime(StringConcatenate(TimeToString(TimeCurrent(),TIME_DATE)," ", endHour));

Le compilateur mql5 donne l'erreur '(TimeToString' - variable attendue),warning(conversion implicite de 'number' en 'string')

Pouvez-vous me dire comment le corriger ?

 
grimc124 #:

...

Pouvez-vous me dire comment le réparer ?

Ne pas dupliquer le code (principe DRY = Don't Repeat Yourself) Utiliser des fonctions. Par exemple :

datetime SetTime(datetime dtime, string stime) {
    return StringToTime(TimeToString(dtime, TIME_DATE) + " " + stime);
}

Toute chaîne invalide est convertie en temps zéro

 
Artyom Trishkin #:

Il s'agit du site web des développeurs de la plateforme et du langage MQL.

Où d'autre pouvez-vous obtenir les réponses les plus précises ?

Votre question témoigne d'un manque de compréhension de la manière de travailler avec des tableaux.

OrdersTotal, à 1 ordre, il retourne 1 et non 0. Quand il y a 0 ordre, il retourne 0.

"Il s'agit d'un site web des développeurs de la plateforme et du langage MQL. Où d'autre pouvez-vous obtenir les réponses les plus précises ? "

- Ce n'est pas parce qu'il s'agit d'une ressource pour les développeurs que c'est le bon endroit pour le faire, comme s'il existait des ressources spécifiquement conçues pour le format question-réponse.

Raison: