Souhaits pour le MQL5 - page 100

 
YuraZ >> :

Je vois qu'il existe une fonction printf
.

et comme ce serait bien d'avoir aussi sprintf

Peut-être que la fonction StringFormat() peut la remplacer :

StringFormat

Elle met en forme les paramètres reçus et renvoie une chaîne de caractères.

string StringFormat(
string format, // chaîne de format
... ... // paramètres
) ;

Paramètres

format

[in] Chaîne avec la méthode de formatage. Les règles de formatage sont les mêmes que pour PrintFormat.

...

[in] Paramètres, séparés par une virgule.

Valeur retournée

String.


 
Rosh писал(а) >>

La fonction StringFormat() pourrait peut-être la remplacer :

Je crois comprendre que la fonction StringFormat devrait se voir attribuer un synonyme de sprintf, à l'instar de PrintFormat et printf. Mais dans ce cas, nous devons également implémenter la fonction snprintf.

 
Rosh >> :

L'aide de MQL5 indique :


Uh-huh... Cet événement ne concerne que les indicateurs, qui (pour l'instant ?) ne permettent pas de travailler avec des objets.

On nous a demandé de mettre en œuvre cet indicateur en tant que conseiller expert. Mais pour les Expert Advisors, la fonction de comptage des barres modifiées(OnCalculate) n'est pas disponible.

 
Roffild писал(а) >>

Uh-huh... Seul cet événement concerne les indicateurs qui interdisent (encore ?) de travailler avec des objets.

On nous a demandé de mettre en œuvre un tel indicateur en tant que conseiller expert. Mais la fonction de calcul des barres modifiées(OnCalculate) n'est pas disponible pour les Expert Advisors.

Dans OnCalculate, nous passons le nombre de barres traitées prev_calculé qui est retourné par l'appel précédent de OnCalculate. Vous pouvez compter les barres traitées dans un Expert Advisor en utilisant une variable globale ou une variable locale statique.

 
stringo >> :

Dans OnCalculate, le nombre de barres traitées prev_calculé, qui est renvoyé par l'appel précédent à OnCalculate. Dans un Expert Advisor, vous pouvez compter les barres traitées par vous-même en utilisant une variable locale globale ou statique.

Puis-je savoir dans un conseiller expert qu'un utilisateur a modifié l'horizon temporel du graphique et que toutes les barres doivent être recalculées ?

Ce problème n'existe pas dans les indicateurs.

 
Roffild писал(а) >>

Puis-je savoir dans l'EA que l'utilisateur a modifié l'horizon temporel du graphique et que toutes les barres doivent être recalculées ?

Oui, vous pouvez. La fonction OnDeinit sera d'abord appelée avec les anciens paramètres, puis la fonction OnInit avec les nouveaux.

 
Permettre aux experts d'afficher leurs données dans la "fenêtre de données", car beaucoup doivent réécrire les indicateurs sur les "experts".
 

J'aimerais que mql5 dispose de la coloration syntaxique, et plus important encore, des parenthèses à la fermeture (une paire de parenthèses peut être fermée), de la substitution de fonctions et de texte, de la correction de la syntaxe de l'écriture des commandes et des signes de comparaison >=,<=,=<,=>, de la possibilité de connecter des fenêtres supplémentaires dans le conseiller expert - par exemple ObjWindowCreate(string Name, bool TypeWindow=false) [false - comme fenêtre d'indicateur, true - comme fenêtre séparée pour les paires de devises].

Je conseillerais également de reprendre l'interface de l'éditeur de NotePade++.

J'aimerais pouvoir masquer ou ouvrir le texte des fonctions en cochant le code de la fonction et en cliquant sur le signe moins dans le panneau de gauche en regard du titre de la fonction.

Ajoutez le type de variable comme LineType - afin que les propriétés de l'EA puissent sélectionner séparément le type de la ligne affichée dans ses paramètres.

Pour créer des int distincts pour l'initialisation des paramètres lorsque l'EA fonctionne - exemple int OnChangeProperty() { return(0)}.

Ajouter des fonctions telles que AccountMaxLot() - l'enchère maximale actuelle possible d'un client

Il serait également intéressant d'ajouter à la fenêtre de création de la commande une étiquette qui affiche le montant requis pour le lot sélectionné.

Créez une fonction qui affiche le profit actuel d'un ordre spécifique avec ou sans prise en compte du spread et du swap - par exemple int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)

où le numéro est celui de l'ordre dans la liste des ordres actifs.

Prise en charge des variables de chaîne en unicode et fonction d'insertion - chaîne CharUTF(chaîne Police, chaîne 'u+0021') où u+ est l'en-tête unicode et 0021 est le code du symbole dans la table des symboles.

ou string CharUTF(string Font, string U'0021'), mieux vaut ajouter une représentation de caractère à l'interpréteur, comme une date ou une couleur avec l'en-tête U'xxxxx'.

font également des fonctions pour traduire les chaînes de caractères par string CharToUtf(string Text) et string UtfToChar(string UtfText).

Et en général, il serait préférable de décrire les avatars par type pour plus de commodité :

Activation de l'Expert Advisor OnInit()

Désactiver l'Expert Advisor OnDeinit()

Changement de cadre temporel OnChangeTimeFrame(int TimePeriod=Period())

Changement de zoom OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())

Nouveau prix OnNewPrice()

Création d'une nouvelle fenêtre OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)

Réception d'une demande d'investisseur int OnInvestor (int IndexInvestor - ID de l'investisseur (numéro de compte), string NameInvestor - description de l'investisseur, ..... - paramètres séparés par des virgules pour la commande OrderSend( return(Id Create Order) ))

Créer une commande - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)

Modification de la commande - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)

Événement de clôture de l'ordre par TP, SL, Date ou manuellement OnOrderClose (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Date, Manual], int IndexOrder=OrderNumberHistoryList, bool PriceType=true)

où PriceType est un indicateur de clôture d'ordre true - trade with a positive order balance false - trade with a negative order balance

Dossiers :
 
Peut-être que cela a déjà été mis en œuvre dans certains EA, mais je veux le voir dans la version de base du programme, à savoir, que les étiquettes des graphiques sur lesquels il ya des positions ouvertes ou en attente sont mis en évidence avec une certaine couleur. Par exemple, l'étiquette du graphique sur lequel il y a une position ouverte est mise en évidence en jaune, si le prix s'approche de T/P - en vert, à S/L, respectivement, en rouge. Il serait également très pratique de marquer le raccourci nécessaire avec une certaine couleur. Cette fonction est très utile lorsque vous travaillez avec plusieurs (plusieurs ou tous) instruments. Le samedi et le dimanche, vous faites vos analyses, vous sélectionnez les paires à attendre un signal, vous les marquez d'une belle couleur et vous les surveillez.
 

Et vous pouvez en bas du Mt, où le nom du profil est reporté et ajouter le nom du modèle imposé ?

Nom du profil et donc vous pouvez voir dans la liste des profils (il ya toujours une coche pour savoir où vous êtes), mais quel modèle est maintenant superposé non.

Raison: