Erreurs, bugs, questions - page 1512

 
Joo Zepper:

Heureusement que je t'ai attrapé. :)

Peut-être qu'il devrait y avoir une fonctionnalité interne pour réinitialiser les paramètres du terminal, afin que vous n'ayez pas à fouiller manuellement dans les fichiers *ini ?
Oui. Ça fait quatre mois que je demande un éditeur de templates.
 
Joo Zepper:
Quelles lignes des fichiers de configuration du terminal doivent être supprimées pour que les fenêtres graphiques ouvertes la dernière fois ne s'ouvrent plus ? Où est-ce que c'est écrit en toutes lettres ?

Aucun.

Les fenêtres des graphiques s'ouvrent en fonction des fichiers chartXX.chr dans le dossier du profil actuel.

 
Alexey Kozitsyn:
C'est bon à savoir ! Merci d'écouter les critiques constructives.
Il n'est pas certain que nous changerons de comportement
 
Slawa:
Il n'est pas certain que nous allons changer les comportements.
Je comprends. Je suis content que vous l'ayez fait.
 

Note dans l'aide de mt 4

à l'aide

Sélectionne un symbole dans la fenêtre MarketWatch ou supprime un symbole de la fenêtre.

boolSymbolSelect(
stringname,// nom du symbole
selectbool// activer ou désactiver
) ;


Cette description est trompeuse, car l'utilisateur peut penser qu'en utilisant l'EA pour sélectionner un symbole dans le Market Watch, il choisit dans une liste de symboles qui existent déjà.

Le texte correct serait Ajoute un symbole à la fenêtre MarketWatch (Market Watch) ou supprime un symbole de cette fenêtre.

Dans ce cas, il n'y aura pas de double interprétation.


SYMBOL_SELECT

Indique que le symbole est sélectionné dans Market Watch.

Certains symboles peuvent ne pas apparaître dans Market Watch, mais être quand même sélectionnés.

bool


De même, j'ai pris mon temps pour indiquer à l'EA quel est le symbole que j'ai sélectionné avec la souris sur Market Watch. Le résultat n'est qu'une perte de temps.

Corriger la description du symbole ajouté/aperçu dans Market Watch.

C'est ce qui m'a fait perdre mon temps, parce que j'ai été trompé...

 

1. Pourquoi l'écran n'est-il pas sauvegardé ?

2016.02.18 21:50:09.043 Capture d'écran : Impossible de sauvegarder le fichier temporaire.

2. ce n'est pas la première fois que je remarque que l'indicateur n'affiche pas de données, mais s'étire jusqu'à zéro ! Pourquoi ?

Il y a environ 20 indicateurs dans une fenêtre. Il y en avait beaucoup plus et tout allait bien. J'ai joint l'indicateur.

Lors de l'installation de l'indicateur, l'onglet "Expert Advisors" affiche un message :

2016.02.18 21:59:40.295 EquityHedgeGraph4 EURUSD,H1 : initialisé
2016.02.18 21:59:40.285 EquityHedgeGraph4 EURUSD,H1 : raison de désinitialisation 5

et quand il s'affiche normalement, alors :

2016.02.18 21:43:39.483 Indicateur personnalisé EquityHedgeGraph4 EURUSD,H1 : chargement réussi.

win 7/64 mt4/950

Dossiers :
 

il y a 3 questions/désirs :

1. Problème avec les fenêtres (sur tous mes ordinateurs) : lors du déploiement de fenêtres intégrées, un "trou" apparaît sur le côté droit entre le bord de la fenêtre et le bord du shell (dans le terminal et l'éditeur)

2. Le malheureux verre...

No 1 - outre son inconfort général, il reste collé au terminal où il ne peut être enlevé car sa dernière position est sauvegardée... Pour le récupérer, je dois rétrécir le terminal et "jeter" le gobelet sur le bureau... et ce, en période de volatilité des marchés ! C'est génial... ! Et le verre de marché est bloqué dans le terminal, parce que vous essayez d'étirer le verre de marché à l'écran entier pour voir au moins un peu plus de prix, parce qu'il est impossible d'ajuster la taille de la police et l'espacement des lignes dans le verre de marché conduit au fait que sur l'écran 1366x768 vous pouvez voir seulement environ 10 niveaux vers le haut et vers le bas, qui est clairement pas assez

#2 - la position de la fenêtre est mémorisée mais les derniers réglages dans la vitre ne le sont pas... En particulier, lorsque vous ouvrez le gobelet, vous devez constamment appuyer sur "zoom arrière" jusqu'au bout.

3. copyTicks()

J'en déduis que le problème n'a pas encore été résolu (alors que les nouvelles fonctionnalités ont été annoncées il y a 8 mois) ? Les données sont incohérentes (Real, broker "Otkritie") : drapeaux, ticks doublés (et dépensés), pas de millisecondes du tout (c'est-à-dire que les données sont : 20:01:00.000, 20:05:36.000, etc.) ! La présence de millisecondes est importante ! De plus, il n'y a pas de réponse pour vérifier les drapeaux BUY/SELL...

Et il n'y a pas non plus de moyen d'obtenir un identifiant de transaction (si cela était ajouté à la fonctionnalité, il ne serait pas nécessaire de vérifier les ticks par rapport à une période d'échantillonnage spécifique).

Exemple :

il y a un temps de ticks en échange (sec.msec=volume) : 03.100=5, 03.150=5, 03.300=5, 03.400=10... Je tire des ticks pour toute la journée à 2000 (limite) et une partie d'un paquet capture les deux premiers avec un temps de retour de 03.000 sec... comment puis-je savoir à quel tick je me suis arrêté sans un ID de transaction ? par lequel dois-je commencer s'ils sont tous supposés être à 03.000 ? ??? Ajouter l'ID de l'échange

Voici le comparateur (il suffit de récupérer les 200 derniers ticks et de sortir les données de la boucle).

________________

Ah oui, voici les données du système :

 
Ivan:

il y a 3 questions/désirs :

1. Problème avec les fenêtres (sur tous mes ordinateurs) : lors du déploiement de fenêtres intégrées, un "trou" apparaît sur le côté droit entre le bord de la fenêtre et le bord de l'enveloppe.

...

J'ai parfois la moitié du prix coupée sur le côté droit du graphique.
 
Ivan:

il y a 3 questions/désirs :

1. Problème avec les fenêtres (sur tous mes ordinateurs) : lors du déploiement de fenêtres intégrées, un "trou" apparaît sur le côté droit entre le bord de la fenêtre et le bord du shell (dans le terminal et l'éditeur)

Sur Windows 10 x64, je n'ai jamais rencontré cette erreur sur la version 1241. Après la commande "Expand", la fenêtre graphique est entièrement déployée, sans aucun trou :

La fenêtre après qu'elle ait été dépliée dans toute son étendue

Vous avez probablement modifié certains paramètres à l'intérieur du système d'exploitation (peut-être en vous lançant dans la réduction des fonctions régulières du système d'exploitation ou en nettoyant le registre ou autre...).

Ivan:

...

2. Le malheureux verre...

No 1 - en plus de l'inconvénient général, il est toujours coincé dans le terminal d'où il ne peut pas être extrait, car son dernier emplacement est sauvegardé... pour l'extraire, il faut réduire le terminal et "jeter" le gobelet sur le bureau... et ce, en période de volatilité des marchés ! C'est génial... ! Et le verre de marché est bloqué dans le terminal, parce que vous essayez d'étirer le verre de marché à l'écran entier pour voir au moins un peu plus de prix, parce qu'il est impossible d'ajuster la taille de la police et l'espacement des lignes dans le verre de marché conduit au fait que sur l'écran 1366x768 vous pouvez voir seulement environ 10 niveaux vers le haut et vers le bas, qui est clairement pas assez

#2 - la position de la fenêtre est mémorisée mais les derniers réglages dans la vitre ne le sont pas... En particulier, lorsque vous ouvrez la vitre, vous devez constamment appuyer sur "zoom arrière" jusqu'au bout.

Lorsque vous faites glisser le verre avec la souris, appuyez sur "Shift" ou "Ctrl" ou "Alt" à ce moment-là.

Ivan:


3. copyTicks()

Je suppose que le problème n'est pas encore résolu (après l'annonce des nouvelles fonctions il y a 8 mois) ? Les données sont incohérentes (Real, broker "Otkritie") : les drapeaux sont désactivés, les ticks doublés (et dépensés), pas de millisecondes du tout (c'est-à-dire que les données sont : 20:01:00.000, 20:05:36.000, etc.) ! La présence de millisecondes est importante ! De plus, il n'y a pas de réaction pour vérifier les drapeaux BUY/SELL...

Mon conseil serait de faire une demande à ServiceDesk avec une description détaillée, avec votre code (qui montre les tics), avec des captures d'écran.

 

Lequel est le meilleur, du point de vue de la performance, comme ceci :

  template <typename T>
  void SetProperty( const int id, const T Value, const int Modifier = 0 ) const
  {
    const string sType = typename(T);

    if (sType == "double")
      ::ObjectSetDouble(this.Chart, this.Name, id, Modifier, (double)Value);
    else if (sType == "string")
      ::ObjectSetString(this.Chart, this.Name, id, Modifier, (string)Value);
    else
      ::ObjectSetInteger(this.Chart, this.Name, id, Modifier, (long)Value);

    return;
  }

ou par la surcharge des méthodes?