Erreurs, bugs, questions - page 1375

 
Artyom Trishkin:
J'ai vérifié, toutes les infobulles sont affichées. Qu'est-ce que je fais de mal ?

1. les infobulles ne sont pas sauvegardées.

2. Une personne a attribué une info-bulle à un objet lorsque celui-ci a été créé avec succès. Comme l'objet était déjà créé, aucune info-bulle n'a été attribuée selon les conditions de son programme.

 
Slawa:

1. les infobulles ne sont pas sauvegardées.

2. Une personne a attribué une info-bulle à un objet lorsque celui-ci a été créé avec succès. Comme l'objet était déjà créé, aucune info-bulle n'a été attribuée selon les conditions de son programme.

Je vois. Je ne savais pas que les infobulles n'étaient pas sauvegardées. Mes fonctions sont tellement construites qu'elles réassigneront les "manquants"
 
Artyom Trishkin:
Je vois, je n'avais pas réalisé que les infobulles n'étaient pas sauvegardées. Mes fonctions sont tellement construites qu'elles réaffecteront les "manquants".
Je ne savais pas que créer une interface dans l'EA et signer les boutons avec un Tultip devait être fait tout le temps, car le Tultip est supprimé après le redémarrage...
 
J'ai ouvert un signal.(Il est devenu un fournisseur de signaux). Le réapprovisionnement des soldes et une partie des transactions sont dupliqués, ce qui entraîne des statistiques faussées. Comment le réparer ?
 
Sergey Zhukov:
J'ai ouvert un signal.(Il est devenu un fournisseur de signaux). Le réapprovisionnement des soldes et une partie des transactions sont dupliqués, ce qui entraîne des statistiques faussées. Comment puis-je corriger ?
Veuillez envoyer votre demande au Service Desk et fournir les détails du problème.
 
Vladimir Pastushak:
Je ne savais pas qu'en créant une interface dans l'EA et en signant les boutons avec un Tultip, il fallait le faire tout le temps, car après le rechargement, le Tultip est supprimé.
C'est étrange. Même si vous construisez simplement l'interface dans OnInit(), au moment de sa construction, les toltypes sont prescrits. Pourquoi disparaissent-ils ?
 
Artyom Trishkin:
Étrange. Même si vous construisez simplement l'interface dans OnInit(), au moment de sa construction, les infobulles sont prescrites. Pourquoi disparaissent-ils ?

Je crée une interface, avec des boutons, lorsque je crée une infobulle. Lorsque je redémarre le terminal, l'infobulle est supprimée et je dois la réécrire...

Voici un code simple qui crée un bouton avec une info-bulle et après le redémarrage, l'info-bulle disparaît, essayez-le ...

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
//+------------------------------------------------------------------+
//| Создает кнопку                                                   |
//+------------------------------------------------------------------+
bool ButtonCreate(const long              chart_ID=0,               // ID графика
                  const string            name="Button",            // имя кнопки
                  const int               sub_window=0,             // номер подокна
                  const int               x=100,                      // координата по оси X
                  const int               y=100,                      // координата по оси Y
                  const int               width=50,                 // ширина кнопки
                  const int               height=18,                // высота кнопки
                  const ENUM_BASE_CORNER  corner=CORNER_LEFT_UPPER, // угол графика для привязки
                  const string            text="Button",            // текст
                  const string            font="Arial",             // шрифт
                  const int               font_size=10,             // размер шрифта
                  const color             clr=clrBlack,             // цвет текста
                  const color             back_clr=C'236,233,216',  // цвет фона
                  const color             border_clr=clrNONE,       // цвет границы
                  const bool              state=false,              // нажата/отжата
                  const bool              back=false,               // на заднем плане
                  const bool              selection=false,          // выделить для перемещений
                  const bool              hidden=true,              // скрыт в списке объектов
                  const long              z_order=0)                // приоритет на нажатие мышью
  {
   ResetLastError();
   if(ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0))
     {
      ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
      ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
      ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
      ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
      ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
      ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
      ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
      ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
      ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
      ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,"ROP_TOOLTIP");
     }
   return(true);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   ButtonCreate();
   ChartRedraw();
  }
//+------------------------------------------------------------------+
 
Vladimir Pastushak:

Je crée une interface, avec des boutons, lorsque je crée une infobulle. Lorsque je redémarre le terminal, l'infobulle est supprimée et je dois la réécrire...

Voici un code simple qui créera un bouton avec une info-bulle et après le rechargement, l'info-bulle disparaîtra, essayez-le ...

Tapez un contrôle sur le résultat de la création de l'objet:

...
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
      ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,"ROP_TOOLTIP");
     }
   else
     {
      Print("Error create button: ",GetLastError());
     }
   return(true);
...

Et si l'objet existe déjà, vous ne pouvez pas le recréer (erreur 4200). Et donc ne pourra pas appliquer la modification des propriétés de l'objet (et de l'info-bulle en particulier).

Ajouté plus tard : il faut juste refaire la logique, sinon chaque tick va imprimer une erreur.

 
Karputov Vladimir:

Saisissez un contrôle sur le résultat de la création de l'objet:

Et si l'objet existe déjà, vous ne pouvez tout simplement pas le recréer (erreur 4200). Et par conséquent, vous ne serez pas en mesure d'appliquer des changements aux propriétés des objets (et aux infobulles en particulier).

Ajouté plus tard : il faut juste refaire la logique, sinon chaque tick va imprimer une erreur.

Nous définissons tous les paramètres et tous les paramètres sont enregistrés sauf le type...

La taille des couleurs est sauvegardée après le rechargement, seul le type de graisse est supprimé...

 
Vladimir Pastushak:

Nous avons réglé tous les paramètres et tous les paramètres sont enregistrés sauf le type de graisse...

La taille des couleurs est sauvegardée après le rechargement, seul le type de graisse est supprimé...

Oui. Correct. OBJPROP_TOOLTIP est supprimé lorsque le terminal est fermé. Mais l'objet lui-même demeure. Lorsque vous essayez de créer directement un tel objet, vous ne pouvez pas le créer et donc, vous ne pouvez pas modifier ses paramètres et OBJPROP_TOOLTIP en particulier.