Caractéristiques du langage mql5, subtilités et techniques - page 72

 

Le champ MqlRates.spread contient la valeur minimale du spread par barre. C'est un non-sens total pour un backtest. Tout le monde peut le réparer en utilisant des symboles personnalisés comme suit

spread = LowAsk - LowBid; // условный код - не показывает обработку некоторых нюансов

Avec un tel écart, les Expert Advisors sur les mêmes ordres Limit sont merveilleusement testés (en termes de qualité et de vitesse) en mode "prix ouverts".

 

Exécution d'un agent de test avec l'option d'utiliser le dossier FILE_COMMON et OpenCL :

metatester64.exe /local /password:tester /address:0.0.0.0:2000
 
 

Le principal avantage de MT4 est son intuitivité et sa simplicité dans le code de programmation.
Pas besoin de prédéfinir ce que vous voulez faire, il y a des tableaux intégrés tels que


iTime("USDCHF",PERIOD_H1,0), ","," iOpen("USDCHF",PERIOD_H1,0),",
iHigh("USDCHF",PERIOD_H1,0),", ", iLow("USDCHF",PERIOD_H1,0),", ",
iClose("USDCHF",PERIOD_H1,0), ", ", iVolume("USDCHF",PERIOD_H1,0) ;


Il existe de nombreuses classes et bibliothèques pour MT5.

Est-il impossible de créer des classes et des bibliothèques qui permettent de programmer dans MT5 comme on le fait dans MT4 ?
 
Stefan Stoyanov:

Le principal avantage de MT4 est son intuitivité et sa simplicité dans le code du programme.
Pas besoin de prédéfinir ce que vous voulez faire, il y a des tableaux intégrés tels que


iTime("USDCHF",PERIOD_H1,0),","," iOpen("USDCHF",PERIOD_H1,0),",
iHigh("USDCHF",PERIOD_H1,0),", ", iLow("USDCHF",PERIOD_H1,0),", ",
iClose("USDCHF",PERIOD_H1,0), ", ", iVolume("USDCHF",PERIOD_H1,0)) ;


Il existe de nombreuses classes et bibliothèques pour MT5.

N'est-il pas possible de créer des classes et des bibliothèques qui permettent de programmer dans MT5 comme on le fait dans MT4 ?

Il y a tellement de bibliothèques qui vous permettent d'écrire du code dans mt5 exactement comme vous l'avez écrit dans mt4.

 
Stefan Stoyanov:

Est-il impossible de créer des classes et des bibliothèques qui permettent de programmer dans MT5 comme on le fait dans MT4 ?

Quand fxsaber partira, demandez-lui d'écrire une bibliothèque pour pouvoir écrire comme dans mql3 et alors vous n'aurez plus à écrire du tout. Tu ne crois pas qu'il est temps de grandir ?

 

Comment puis-je trouver l'heure du terminal, je dois trouver le décalage en heures entre le terminal et le local ?

Il y a aussi TimeGMTOffset(), mais c'est vraiment inutile.

En ce moment, le terminal affiche 23:58, le local affiche 16:54. Mais j'ai besoin de savoir à quelle fréquence GMT le terminal fonctionne. Le lundi au vendredi peut être trouvé avec un tambourin.

Dans l'attente d'une réponse de votre part, merci !

 
Vitaly Muzichenko:

Comment puis-je trouver l'heure du terminal, je dois trouver le décalage en heures entre le terminal et le local ?

Il y a aussi TimeGMTOffset(), mais c'est vraiment inutile.

En ce moment, le terminal affiche 23:58, le local affiche 16:54. Mais nous devons trouver à quel poste GMT le terminal fonctionne. Le lundi au vendredi peut être trouvé avec un tambourin.

Dans l'attente d'une réponse de votre part, merci !

Le terminal dans l'aperçu du marché montre l'heure d'arrivée du dernier tick du serveur du courtier selon l'heure du courtier.

Vous pouvez comparer le prix de clôture d'un instrument chez un courtier inconnu avec l'heure de clôture des mêmes bougies chez un courtier connu.

Calculez le décalage horaire.

 
Kirill Belousov:

Le terminal dans l'aperçu du marché montre l'heure d'arrivée du dernier tick du serveur du courtier selon l'heure du courtier.

Vous pouvez comparer le prix de clôture d'un instrument chez un courtier inconnu avec l'heure de clôture des mêmes bougies chez un courtier connu.

Calculez le décalage horaire.

Mais de cette façon, les chandeliers indiqueront également l'heure du serveur.

Supposons que je démarre maintenant le terminal à partir de n'importe quel concessionnaire, il n'y a pas de cotations, mais il y a la dernière enregistrée dans l'aperçu du marché à 23:58, mais avec quel décalage GMT il fonctionne - n'est pas connu.

Ou suis-je déjà stupide et cela peut être découvert très facilement ?

P.S. Supposons que je me perde dans le temps et que je ne fasse plus la distinction entre le jour et la nuit, les jours de la semaine, l'heure.

Comment savoir qu'il n'y a pas de devis parce que c'est le week-end, ou par exemple le jeudi pas de devis, parce que le serveur traîne dans la salle des marchés ?

Je vois une telle solution, mais je ne vois pas comment la mettre en œuvre si je n'ai pas le temps sur le serveur de négociation :

if( TimeCurrent()<TimeServer()+60 ) return( "нет котировок уже 1 минуту" );
 
Vitaly Muzichenko:

Mais de cette façon, les chandeliers indiqueront également l'heure du serveur.

Supposons que je démarre maintenant le terminal de n'importe quel concessionnaire, il n'y a pas de cotations, mais il y a la dernière enregistrée dans lavue d'ensemble du marché 23:58, mais avec quel décalage GMT il fonctionne - n'est pas connu.

Ou suis-je déjà stupide et cela peut être découvert très facilement ?

P.S. Supposons que je me perde dans le temps et que je ne fasse plus la distinction entre le jour et la nuit, les jours de la semaine, l'heure.

Comment savoir qu'il n'y a pas de devis parce que c'est le week-end, ou par exemple le jeudi aucun devis ne part, parce que le serveur raccroche en traitant ?

En utilisant le prix de clôture, trouvez la bougie sur l'historique d'une société de courtage indépendante, à laquelle vous connaissez le GMTOffset. La différence entre le temps des chandeliers vous donnera la différence entre les sociétés de courtage. Ajoutez à la différence le GMT du connu et obtenez la différence de GMT de l'inconnu.

On ne sait jamais l'heure du serveur commercial. Vous ne connaissez que l'heure de la dernière cotation du symbole.

Il suffit d'utiliser les chandeliers horaires.