OnDeinit dans les indicateurs

 

Pourquoi, après avoir ouvert un graphique, les indicateurs attachés au graphique ne déclenchent pas deinit ?

C'est logique !

 

plus de détails, mais juste une supposition de ce que vous voulez dire (à propos du glisser-déposer de la vue d'ensemble du marché à un graphique avec un indicateur ???)

 

Par exemple, l'indicateur dessine les zones de support et de résistance pour les 3 derniers jours. Deinit supprime respectivement les zones. Le soir j'éteins le PC, le matin je l'allume et voilà, 4 zones sont affichées (3 anciennes et une nouvelle).

Je demande que le deinit soit déclenché avant le init, et après avoir libéré l'indicateur.

 
Je me demande comment l'indicateur va détecter ce qui doit être supprimé si ce qui doit être supprimé n'est pas défini dans le deinit ?
 
eevviill:


Veuillez vous assurer que le deinit est déclenché avant le init, et après que l'indicateur soit détaché.

Alors dites-le vous-même - quel est le problème ?

void OnDeinit(const  int reazon)
{
// .........................
}
int OnInit(void)
  {
   string short_name;
// -------
    OnDeinit(0);
// -------
// .............................
//--- initialization done
   return(INIT_SUCCEEDED);
  }
 
eevviill:

Par exemple, l'indicateur dessine les zones de support et de résistance pour les 3 derniers jours. Deinit supprime respectivement les zones. Le soir j'éteins le PC, le matin je l'allume et voilà, 4 zones sont affichées (3 anciennes et une nouvelle).

Je demande que le deinit soit déclenché avant le init, bien, et après avoir détaché l'indicateur.

Dans le build 670 - bug avec la raison de la désinitialisation lors de la fermeture du terminal (retourne 4 - tableau fermé et requiert 9 - le terminal est fermé)

Écrit - corrigé, la version 711 fonctionne bien.

 
C'est un autre bug qui existe depuis des années, de build en build. Je m'y suis habitué, je désinitialise pendant l'initialisation comme décrit ci-dessus.
 
eevviill:

Par exemple, l'indicateur dessine les zones de support et de résistance pour les 3 derniers jours. Deinit supprime respectivement les zones. Le soir j'éteins le PC, le matin je l'allume et voilà, 4 zones sont affichées (3 anciennes et une nouvelle).

Je demanderais à deinit de se déclencher avant l'init, et après avoir détaché l'indicateur.

Sij'éteins mon PC le soir, on peut supposer qu'un arrêt sera lancé et que le terminal sera tué en tant que processus lors de l'arrêt du PC...

Si le terminal est fermé, OnDeinit fonctionne bien et supprime les objets ( 711 build)...

 

Non, ça ne l'est pas. J'éteins le terminal normalement.

Si Deinit est mis dans Init, cela ne fonctionne pas non plus.

Seule la fonction de suppression des objets personnalisés a aidé.

 
Comptez le nombre total d'objets sur le graphique, peut-être que d'autres horaires sont bouchés ? Le temps pour effectuer la désinitialisation est limité et vous n'aurez peut-être pas le temps de passer en revue tous les objets.
 
Les gars, si vous voulez un écran vide avant d'afficher un indicateur/conseiller/script, vous devrez l'effacer.