Mt4 Fin de l'assistance. - page 31

 
Vladimir Pastushak:

4 cycles, c'est pas cool ? à 600 caractères dans l'aperçu du marché chaque minute le terminal va mourir ....

De quoi parlez-vous ? La minuterie fonctionne 1 fois par minute. Ce n'est rien du tout.

Et l'utilisateur accède à la fonction New_bar() quand il le souhaite.

 
Alexey Viktorov:
En ce qui concerne le commentaire du code : Que faire si nous devons définir l'ouverture de la période en cours et d'un seul caractère à la fois dans le programme ? Est-ce que toute cette construction va tourner en boucle ? Ce serait irrationnel.

J'ai complètement mal compris le code.

Les nouveaux événements de la barre de symboles sont capturés en boucle une fois par minute. Automatiquement. Si le nombre actuel de barres n'est pas égal au nombre de barres enregistrées dans le tableau, nous mettons le drapeau d'un nouvel événement de barre dans le tableau Events_new_bar[][].

 

Alexey Viktorov:


ps ; Et pourquoi lancer une minuterie en millisecondes ? Une seconde minuterie n'est-elle pas suffisante ?

Vous pouvez également régler une deuxième minuterie. Puis écrivez "Timer_frequency = 1000".

 

Je l'ai mis, je l'ai testé, ça ne marche pas.

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Новый_бар(Symbol(), PERIOD_M1)) Print("M1 = ",Time[0]);
   if(Новый_бар("EURUSD", PERIOD_M5)) Print("M5 = ",Time[0]);
  }
Donne toujours des faux
 
Vladimir Pastushak:

4 cycles, c'est cool, non ? Avec 600 caractères par minute dans la vue d'ensemble du marché, le terminal va mourir. ....

Je me demande si quelqu'un en a vraiment autant ?

J'en ai 16 - et je me demande déjà si la charge n'est pas trop importante ?

C'est vrai, j'ai un calendrier minimum de M15... Mais quand même, je me demande quand la charge sur le terminal commence à être critique ?

 
Реter Konow:

Qu'est-ce que tu veux dire ? La minuterie fonctionne une fois par minute. Ce n'est rien du tout.

Et New_bar() est appelé quand l'utilisateur le souhaite.


La fonction "nouvelle barre" est généralement exécutée à chaque tick... Cet appel à chaque tic est fait pour économiser les ressources. Réalisez comment votre fonction "économise" les ressources, elle les consomme.

 
George Merts:
... Mais quand même, je me demande quand la charge sur le terminal commence à être critique ?

Quand le processeur se met à genoux et ne peut plus se relever.

Respectueusement.

 
Реter Konow:

J'ai complètement mal compris le code.

Les nouveaux événements de la barre de symboles sont capturés en boucle une fois par minute. Automatiquement. Si le nombre actuel de barres n'est pas égal à celui enregistré dans le tableau, nous mettons le drapeau de l'événement nouvelle barre dans le tableau Events_new_bar[][].

Voyons un autre exemple d'utilisation de la POO.

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie

Mt4 Fin de l'assistance.

Alexey Viktorov, 2017.09.11 13:08

Je pense que j'ai trouvé un exemple primitif de l'utilité de la POO. Voici une fonction pour remplir un tableau avec une valeur spécifiée. Il existe huit variétés selon le type de tableau.

Imaginez que vous deviez écrire une fonction qui doit passer un ensemble de paramètres, puis un autre, puis un troisième... En utilisant l'approche algorithmique, vous obtiendrez N noms de fonctions différents. Il semblerait qu'il n'y ait aucun problème, vous pouvez écrire 8 fonctions telles que ArrayInitializeInt()ArrayInitializeDouble() et ainsi de suite. Mais c'est agréable de ne pas penser au type de tableau, il suffit d'utiliser une fonction dans tous les cas, et à quel point il est sûr de mélanger le tableau que vous mettez là...


Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

Installé, testé, ne fonctionne pas

Le résultat est toujours faux.

1. Exécutez l'EA sur M1.

2. Il faut attendre que le bar actuel soit complètement terminé. Au premier bar, l'événement n'est pas fixé. Je l'ai fait exprès. Ensuite, vous devez attendre aussi longtemps que le délai que vous envoyez à la fonction le suggère.

Je l'ai essayé sur une minute et ça a marché.

 
Dmitry Fedoseev:

La fonction "nouvelle barre" est normalement exécutée à chaque tick... Cet appel à chaque tic est fait pour économiser les ressources. Réalisez comment votre fonction "économise" les ressources, elle les consomme.

Vous ne savez manifestement pas comment lire les codes. )) Où les engloutit-il ?