Erreurs, bugs, questions - page 2173

 
Kirill Belousov:

MT4

Toute information sur les différences/spécificités dans la gestion de la suppression du 1er et du non 1er indicateur dans la liste des sous-fenêtres.

question :

lors de la suppression du premier indicateur de la liste (un total de 5 indicateurs identiques avec des paramètres différents) - les lignes créées par d'autres indicateurs sont supprimées

lorsque le premier n'est pas supprimé - les lignes ne sont pas supprimées


où creuser ?

Il faut toujours creuser dans la documentation.

Faites des distinctions dans les noms d'objets et supprimez-les en tenant compte de ces distinctions.

 
Lorsque vous téléchargez l'historique des tics et que vous travaillez avec un outil, il y a un retard dans l'affichage de l'outil principal, oui, peut-être que le canal est étroit, mais il est nécessaire d'ajuster la priorité du trafic d'une manière ou d'une autre.
 
Alexey Viktorov:

Vous devez toujours creuser dans la documentation.

Faire les différences dans les noms des objets et la suppression en tenant compte de ces différences.

Les noms sont différents et la suppression se fait en tenant compte de cela.


SAUVE-QUOI :

_______________________________________

Lors de la suppression du premier indicateur dans la liste des sous-fenêtres, la sous-fenêtre est complètement vidée de ses objets (même les lignes, les flèches et les étiquettes de texte dessinées manuellement sont supprimées).

Reproduit :

1. créer dans le constructeur un indicateur vide pour une fenêtre séparée (ou prendre n'importe quel indicateur existant, par exemple MACD, etc. de l'ensemble de livraison standard)

2. ajouter 5 indicateurs/copies à une sous-fenêtre

3. Dessinez manuellement une ligne verticale dans une sous-fenêtre (ou tout autre objet).

Si vous supprimez tout indicateur qui n'est pas le premier de la liste des indicateurs, la ligne restera, mais si le premier est dans la liste, tous les objets de la sous-fenêtre seront supprimés (ligne verticale dessinée).

Si vous tracez à nouveau une ligne après avoir supprimé la première, elle sera à nouveau supprimée lorsque la première des lignes restantes sera supprimée. Si le premier n'est pas supprimé, les objets de la sous-fenêtre ne sont pas supprimés.


Où est-ce que c'est écrit dans la documentation ? Qu'est-ce qui le rend si spécial - le premier indicateur dans la liste des sous-fenêtres ?

Il semble qu'il y ait une réinitialisation complète de la sous-fenêtre.


Reproduit par MT4/MT5.

La différence est que dans MT5, les noms des fichiers d'indicateurs doivent être différents. Dans MT4, vous pouvez placer le même fichier indicateur dans une sous-fenêtre sans changer le nom du fichier.


Problème de l'indicateur de la première sous-fenêtre

Tous les objets sont supprimés dans une sous-fenêtre, si l'indicateur était le premier dans la liste des indicateurs d'une sous-fenêtre au moment de sa suppression.

 
Kirill Belousov:

1. créer un indicateur vide pour une fenêtre séparée dans le constructeur (ou prendre un indicateur existant)

C'est tout ce qu'il y a à faire. Désolé, ce n'est plus intéressant. Vous devriez passer à un autre sujet.

 
Alexey Viktorov:

Tout y est. Plus loin, désolé, ce n'est pas intéressant. Vous devriez passer à un autre sujet.

pourquoi dites-vous cela... ? pourquoi même les objets créés manuellement sont-ils supprimés, et pourquoi exactement quand la première copie est supprimée ? ce n'est même pas évoqué.

et il s'avère ensuite que le produit n'est pas accepté sur le marché à cause de ce bug.....
 

Le programme se bloque, chargement interminable des données((. Cela se produit plus d'une fois si vous quittez l'application lorsque la paire dollar/ruble est affichée sur les graphiques.

Capture d'écran

 
AlikMsk:

Le programme se bloque, chargement interminable des données((. J'ai vu cela se produire plus d'une fois si je quitte l'application lorsque la paire USD/RUB est affichée sur les graphiques.


Cela est très probablement dû à l'indicateur du graphique.

 
Artsem:

Ok, j'ai écrit à Finam à ce sujet.

peut-être savez-vous où l'on peut télécharger des devis à long terme ?

Je ne connais que fxtop, mais il n'a que des paires de devises et il est payant.

 
Envoi de 5 millions de tics à l'historique du personnage personnalisé (qui vient d'être créé)
CustomTicksReplace(Name, 0, LONG_MAX, Ticks);

prend 10 secondes. Pourquoi si lentement ?


ZS

void OnStart()
{
  const string Name = "CustomSymbol";  
  CustomSymbolCreate(Name);
  
  const MqlTick NullTick = {0};
  MqlTick Ticks[];
  
  for (int i = ArrayResize(Ticks, 500000) - 1; i >= 0; i--) // 5 000 000 вызывет зависание
    Ticks[i] = NullTick;
    
  CustomTicksReplace(Name, 0, LONG_MAX, Ticks);
}

Il ne faut que 3 secondes pour mettre 500K ticks dans un personnalisé. Si vous le remplacez par 5 millions dans le script, il se bloque. Bug.

 

La devise de profit (SYMBOL_CURRENCY_PROFIT) du symbole personnalisé est réinitialisée après le redémarrage du terminal. De ce fait, la TickValue est souvent nulle, ce qui génère des transactions avec un profit nul dans le testeur de stratégie. A chaque fois, nous devons ramener la valeur de la monnaie de profit à une valeur normale.


Lecture

void OnStart()
{
  const string Name = "EXAMPL";
  
  if (CustomSymbolCreate(Name))
    CustomSymbolSetString(Name, SYMBOL_CURRENCY_PROFIT, "JPY");

  Print(SymbolInfoString(Name, SYMBOL_CURRENCY_PROFIT)); // "JPY" - до перезагрузки Терминала, "MPL" - после.
}
Raison: