Nouveau MetaTrader 4 Client Terminal 387 et MetaTrader 4 Data Center build 387 - page 10

 
nen:

Ce n'est pas un bug du mode visuel. Il s'agit exactement de mettre à zéro les tampons des indicateurs - réinitialiser les tampons avec la version 388.

Hélas, vous vous trompez. C'est un travail standard du mécanisme appelé IndicatorCounted() - réinitialisation des tampons d'indicateurs lors de changements significatifs de l'historique (ce mécanisme était dans toutes les versions).

Dans ce cas, il y a un bug en mode visuel (je ne l'ai pas trouvé en mode réel pendant la semaine). J'ai déjà décrit ce qu'est le bug.

 
AlexSTAL:
J'ai complètement trouvé la raison de ce comportement dans le post ci-dessous.

Merci d'avoir vérifié, c'est maintenant clair de quel côté creuser.

Nous allons essayer de le trouver, de le corriger et de publier une mise à jour dès que possible.

 
AlexSTAL:
Voilà, vous répondez à votre propre question.

Mon erreur, IndicatorCounted() ne s'applique pas aux développements récents. C'est le cas dans le ZUP. Et il ne capte pas cette réinitialisation.
 
Je veux vous informer que dans le terminal et dans la dernière build il y a un Bug, à savoir l'indicateur iBands quand on spécifie le paramètre de déviation 0.8 met 0. Je comprends que ce paramètre appartient à int et doit être un entier. Mais lorsque l'indicateur est attaché au graphique, la valeur de l'écart peut être inférieure à 1. Pourquoi est-il possible de définir une déviation inférieure à 1 sur le graphique, mais pas dans le conseiller expert ...... ou comment surmonter ce problème ...............
 
VOLDEMAR:
Je veux vous informer que dans le terminal et dans la dernière build il y a un Bug, à savoir l'indicateur iBands quand on spécifie le paramètre de déviation 0.8 met 0. Je comprends que ce paramètre appartient à int et doit être un entier. Mais lorsque l'indicateur est attaché au graphique, la valeur de l'écart peut être inférieure à 1. Pourquoi est-il possible de définir une valeur inférieure à 1 sur le graphique, mais pas dans le conseiller expert ...... ou comment surmonter ce problème ...............
Il en a toujours été ainsi, pour autant que je m'en souvienne. Si ce n'est pas le cas, Slava (stringo) me corrigera.
 
VOLDEMAR:
Je veux vous faire savoir que dans le terminal et dans la dernière version il y a un bug à savoir l'indicateur iBands quand on spécifie le paramètre de déviation 0.8 met 0 . Je comprends que ce paramètre appartient à int et doit être un entier. Mais lorsque l'indicateur est attaché au graphique, la valeur de l'écart peut être inférieure à 1. Pourquoi est-il possible de définir une déviation inférieure à 1 sur le graphique, mais pas dans le conseiller expert ...... ou comment l'éviter ..............

Oui. Regardez le type de paramètres passés.

c'est int.

utilisez donc iCustom BBands

 
sergeev:

Oui. Regardez le type de paramètres passés.

c'est int

utilisez donc iCustom BBands

et comment l'utiliser ? ????

jamais utilisé ....

 
VOLDEMAR:

et comment l'utiliser ? ????

jamais utilisé ....

C'est une bonne raison de commencer. Il y a toujours une première fois à tout. :)
 

Il manque manifestement au terminal une fonction comme GetTerminalState qui devrait renvoyer un code (ensemble de bits) permettant de "demander" directement au terminal ce qu'il est en train de faire, par exemple IsConnected (qui, soit dit en passant, ne renvoie pas toujours le résultat correct après les reconnexions) ne renvoie que oui ou non :

- hors ligne (essaie de se connecter, ne fonctionne pas, reste immobile)

- se connecter (essayer de se connecter)

- connecté (connecté au serveur)

Dans le dernier cas, une clarification est également nécessaire :

- HistoryOrdersLoading, HistoryOrdersLoaded (téléchargé, tout l'historique des commandes est téléchargé.)

- HistoryBarsLoading, HistoryBarsLoaded (téléchargé, l'historique complet par prix.)

De même, pendant le traitement des ordres, il est utile de savoir qu'une commande d'ouverture d'un ordre a été envoyée et que le terminal attend maintenant son ouverture, sa modification ou sa fermeture. Les ordres ne sont jamais exécutés immédiatement et il serait bon de savoir à quoi pense le terminal (les ticks font tic-tac mais le terminal ne négocie pas - pourquoi ?).

Vous pouvez également "emballer" le statut d'autorisation de fonctionnement/de négociation de l'EA.

 
nen:

Bien.

Le soumettre à un test visuel. Conseiller expert en moyenne mobile.

Réglage du ZUP.

Euro. Heures d'ouverture.

Veuillez noter que mon code suit l'échange d'historique. Donc il se réinitialise lorsque l'histoire est échangée.

Plus tôt dans ce fil, j'ai posté un morceau de code. Toute l'optimisation est là.

Je colle des photos ici. Mon code "gonflé" est destiné à dessiner des images, c'est tout. Il ne traite pas de l'auto-trading. Si une image est dessinée de manière incorrecte, il s'agit d'un bogue.

Première photo. Une petite histoire. Un rayon est dessiné. Tout est normal.

Presque immédiatement après le début des tests, plusieurs rayons en zigzag ont été dessinés, un papillon a été dessiné. Voler normalement.

Voler plus loin. VOTRE réinitialisation a eu lieu. Les logiciels ne peuvent pas suivre cela. IL N'EXISTE PAS DE MÉTHODE DE ROUTINE POUR SUIVRE LA RÉINITIALISATION.

Comme l'optimisation du calcul est activée, et qu'il n'y a pas de signal pour un re-calcul complet, nous voyons le résultat :

Un peu d'histoire nouvelle s'est accumulée. Un rayon en zigzag a été dessiné :

Si nous réinitialisons maintenant l'indicateur, il y aura une initialisation initiale et tout ressemblera à ceci :

Et ainsi de suite. Il n'existe pas de capacité interne permettant de suivre la réinitialisation du tampon de YOUR indicator.

Et vous ne pouvez pas recalculer l'indicateur à chaque tick. Fais un tel gâchis toi-même. Vous avez fait beaucoup de choses dans cet esprit depuis longtemps. Et nous avons eu beau vous parler de nombreux bugs, vous ne les avez pas compris. Et maintenant, alors que de nombreux programmeurs sont simplement fatigués de se battre avec vous et ont créé leurs propres solutions de contournement de vos bugs, vous commencez à organiser des choses sournoises.

Votre code est devenu aussi gros. Et vous avez peu d'idée des conséquences de vos innovations.

Testons-le davantage.


Encore une fois, votre réinitialisation a été effectuée plusieurs fois. Il devrait ressembler à ceci :

Est-il difficile à reproduire ? Ou peut-être que vous n'en avez pas envie ?

Et plus loin dans les tests, tout est dans la même veine.

Ne rejette pas la faute sur les autres. Le code est gonflé.

-------

En conclusion, je le répète. Je ne m'inquiète pas pour moi. Je peux éviter par programmation tous vos bugs pour moi-même. Mais les utilisateurs - et ils sont nombreux - ne pourront pas le faire.

J'ajouterai. Je n'ai jamais vendu aucun de mes indicateurs et je n'ai développé aucun de mes indicateurs contre rémunération. Je pense que lorsque les méta-citations pourront tout changer fondamentalement comme dans les constructions 387-388, personne de l'extérieur ne sera capable de bâtir une bonne affaire sur le développement en utilisant les langages MQL(*). Vous ne pouvez pas encore offrir aux développeurs tiers un cadre de développement stable.

Tous les développements payants utilisant vos langues sont considérés comme une sorte d'esquive.


A fait tout ce qui était décrit. Mais avec quelques modifications.

  1. Dans le terminal du client, j'ai réglé la sortie dans le journal à OUR buffers reinitialization.
  2. Dans l'indicateur ZUP mettre l'impression lors de la suppression du papillon.

Voici le journal.

15:45:16 Compiling 'ZUP_v92'
15:45:16 ZUP_v92 EURUSD,H1: loaded successfully
15:45:40 ZUP_v92 EURUSD,H1: initialized
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=1094
15:45:41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:08 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
...
15:55:15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:15 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1035
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036

Après la dernière suppression de papillon (deux lignes supprimées en triangle), il n'y a pas eu de réinitialisation du tampon !

À propos, le même comportement est reproduit dans votre build 225 préféré