Souhaits pour le MQL5 - page 77

 
chv писал(а) >>

Il n'affiche pas de ligne avec un avertissement concernant une fonction inutilisée - le double-clic permet d'accéder à la première ligne du conseiller expert, et non au début de cette fonction.
Quelque chose comme : La fonction "sdfsdgbgfgnh" n'est pas référencée et sera supprimée du fichier exp.

Eh bien, c'est vrai !

:)

Vous avez oublié d'insérer l'appel de fonction dans le conseiller expert.

Le compilateur vous a averti et n'a pas inséré cette fonction dans le fichier exécutable.

L'auteur sait généralement quelles fonctions il a utilisées dans l'Expert Advisor, où elles doivent être appelées et où se trouve le texte de ces fonctions.

Ou peut-être que je me trompe ?

En bref !

Vous pouvez double-cliquer sur les erreurs.

Si vous avez oublié de mettre une parenthèse, vous devrez effectuer une recherche manuelle !

Si vous oubliez d'effectuer un appel de fonction, vous devez le rechercher manuellement !

Quelles sont les autres erreurs sur lesquelles on ne peut pas double-cliquer ?

 
string StringConcatenate(. ...)
Forme une chaîne de caractères à partir des paramètres passés et la renvoie. Les paramètres peuvent être de n'importe quel type. Le nombre de paramètres ne peut pas dépasser 64.
Je voudrais que ps= StringConcatenate(g_Profit) ; fonctionne aussi ! Pourquoi le limiter à moins de 2 paramètres ?
 
vvavva писал(а) >>
string StringConcatenate(. ...)
Forme une chaîne de caractères à partir des paramètres passés et la renvoie. Les paramètres peuvent être de n'importe quel type. Le nombre de paramètres ne peut pas dépasser 64.
J'aimerais que ps= StringConcatenate(g_Profit) ; fonctionne également ! Pourquoi limiter le nombre de paramètres à moins de 2 ?

Parce que c'est une concaténation de chaînes de caractères. ("cordes" est au pluriel).

Dans MQL5, une simple affectation ps=g_Profit fonctionnera, mais le programme générera un avertissement concernant la conversion implicite de type. Pour éviter le message d'avertissement, la conversion explicite peut être effectuée

ps=(string)g_Profit ;

 
stringo писал(а) >>

Parce que c'est une concaténation de chaînes de caractères. ("cordes" est au pluriel).

Dans MQL5, une simple affectation ps=g_Profit fonctionnera, mais avec un avertissement concernant la conversion de type implicite. Pour éviter le message d'avertissement, la conversion explicite peut être effectuée

ps=(string)g_Profit ;

Je comprends que pour STRINGS ! MAIS s'il y a une limite de 64, cela veut dire qu'il y a un contrôle, et s'il y a un contrôle, pourquoi ne pas sauter une variable ?

ce n'est pas compliqué !

en 4 nous pouvons ps=g_Profit ; mais dans le processus, des variables peuvent être ajoutées et il est préférable d'utiliser

string StringConcatenate( ...)
pour l'instant ps= StringConcatenate("",g_Profit) ;

je ne comprends pas bien pourquoi il y a une limite sur une seule variable !?

 
vvavva писал(а) >>

Je comprends que pour STRINGS ! MAIS s'il y a une limite de 64, cela signifie qu'il y a un contrôle, et s'il y a un contrôle, pourquoi ne pas simplement sauter une variable ! ?

Ce n'est pas difficile !

vous pouvez utiliser ps=g_Profit ; mais au cours du processus, des variables peuvent être ajoutées et il est préférable d'utiliser

string StringConcatenate( ...)
pour l'instant ps= StringConcatenate("",g_Profit) ;

Je ne comprends pas pourquoi il doit y avoir une restriction variable !

Il ne s'agit donc pas d'une demande à MQL5 ? Pourquoi l'écrire ici alors ?

 

ce sont des souhaits pour tous les numéros MQL à partir de 4 ! je souhaite qu'il y ait moins de restrictions !

et que les limitations étaient écrites dans l'aide !

si c'est possible !

 
stringo писал(а) >>

Pour éviter un avertissement, une conversion explicite peut être faite

ps=(string)g_Profit ;

C'est magnifique.

 
stringo >> :

Parce que c'est une concaténation de chaînes de caractères. ("cordes" est au pluriel).

Dans MQL5, une simple affectation ps=g_Profit fonctionnera, mais avec un avertissement concernant la conversion implicite de type. Pour éviter le message d'avertissement, la conversion explicite peut être effectuée

ps=(string)g_Profit ;

Dans de nombreuses langues, vous pouvez explicitement convertir par :


ps = g_Profit + "" ;

 

Je vais essayer d'écrire non pas comme un souhait, mais comme quelque chose qui n'est pas actuellement possible de faire dans MT (espérons que les développeurs verront ce qu'il faut faire et comment le faire).

Vous avez besoin d'un indicateur :

  1. Qui reflète la somme de tous les taux de change "réels" des paires de devises dans le terminal et contenant, par exemple, EUR.
  2. Sous le taux "réel" d'une paire de devises, on entend(Ask-Bid)/2 + Bid
  3. L'indicateur doit fonctionner aussi bien sur l'historique que sur le moment présent, c'est-à-dire que tout changement de l'Ask et (ou) du Bid d'une paire de devises sera reflété dans l'indicateur.
  4. Le travail de l'indicateur ne doit pas changer sur l'historique et en mode temps réel, c'est-à-dire que si je l'attache au compte réel et que j'écris toutes ses données dans un fichier, alors j'obtiendrai exactement les mêmes résultats, en l'exécutant dans le testeur pour la même période.

Si MQL5 vous permet de créer de tels indicateurs, il sera d'une grande aide pour créer (et étudier) des systèmes TS multidevises.

 

une demande supplémentaire (à tous les MQL)!

Lorsque vous changez de compte, lorsque le conseiller expert travaille en boucle et que le bouton EA est pressé, les comptes ne correspondent pas !

Supposons que le conseiller expert termine d'abord son travail, puis qu'il modifie le compte, mais que le démarrage (cycle) est toujours en cours et que le compte a déjà été modifié.

et je dois faire des contrôles supplémentaires !

Raison: