Errori, bug, domande - pagina 1375

 
Vladimir Pastushak:

...

Costruire 872

Dopo aver riavviato il terminale, il TOOLTIP scompare in tutti gli oggetti grafici ...

Selezionato, tutti i tooltip sono visualizzati. Cosa sto facendo di sbagliato?
 
Artyom Trishkin:
Ho controllato, tutti i tooltip sono visualizzati. Cosa sto facendo di sbagliato?

1. i tooltip non vengono salvati.

2. Una persona ha assegnato un tooltip a un oggetto quando è stato creato con successo. Poiché l'oggetto era già stato creato, nessun tooltip è stato assegnato secondo le condizioni del suo programma.

 
Slawa:

1. i tooltip non vengono salvati.

2. Una persona ha assegnato un tooltip a un oggetto quando è stato creato con successo. Poiché l'oggetto era già stato creato, nessun tooltip è stato assegnato secondo le condizioni del suo programma.

Capisco, non sapevo che i tooltip non vengono salvati. Le mie funzioni sono così costruite che riassegneranno i "mancanti"
 
Artyom Trishkin:
Capisco, non avevo capito che i tooltip non vengono salvati. Le mie funzioni sono così costruite che riassegneranno "mancanti".
Non sapevo che creare un'interfaccia nell'EA e firmare i pulsanti con un Tultip dovesse essere fatto di continuo, perché il Tultip viene cancellato dopo il riavvio...
 
Ha aperto un segnale.(È diventato un fornitore di segnali). La ricostituzione della bilancia e parte degli scambi sono duplicati, con il risultato di statistiche distorte. Come risolvere il problema?
 
Sergey Zhukov:
Ha aperto un segnale.(È diventato un fornitore di segnali). La ricostituzione della bilancia e parte degli scambi sono duplicati, con il risultato di statistiche distorte. Come posso correggere?
Invia la tua richiesta al Service Desk e fornisci i dettagli del problema.
 
Vladimir Pastushak:
Non sapevo che creando un'interfaccia nell'EA e firmando i pulsanti con un Tultip bisogna farlo sempre, perché dopo aver ricaricato il Tultip viene cancellato.
È strano. Anche se si costruisce solo l'interfaccia in OnInit(), al momento della sua costruzione, i toltypes sono prescritti. Perché stanno scomparendo?
 
Artyom Trishkin:
Strano. Anche se si costruisce semplicemente l'interfaccia in OnInit(), al momento della sua costruzione, i tooltip sono prescritti. Perché scompaiono?

Creo un'interfaccia, con dei pulsanti, quando creo un tooltip. Quando riavvio il terminale, il tooltip viene rimosso e devo scriverlo di nuovo...

Ecco un semplice codice che crea un pulsante con un tooltip e dopo il riavvio il tooltip scomparirà, provatelo...

//+------------------------------------------------------------------+
//|                                                      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:

Creo un'interfaccia, con dei pulsanti, quando creo un tooltip. Quando riavvio il terminale, il tooltip viene rimosso e devo scriverlo di nuovo...

Ecco un semplice codice che creerà un pulsante con un tooltip e dopo il ricaricamento il tooltip scomparirà, provatelo...

Digita un controllo sul risultato della creazione dell'oggetto:

...
      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);
...

E se l'oggetto esiste già, non è possibile ricrearlo (errore 4200). E quindi non sarà in grado di applicare la modifica delle proprietà dell'oggetto (e del tooltip in particolare).

Aggiunto in seguito: basta rifare la logica, altrimenti ogni tick stamperà un errore.

 
Karputov Vladimir:

Inserisci un controllo sul risultato della creazione dell'oggetto:

E se l'oggetto esiste già, semplicemente non potete ricrearlo (errore 4200). E di conseguenza non sarete in grado di applicare modifiche alle proprietà degli oggetti (e ai tooltip in particolare).

Aggiunto in seguito: basta rifare la logica, altrimenti ogni tick stamperà un errore.

Abbiamo impostato tutti i parametri e tutti i parametri sono salvati tranne il tipo...

La dimensione del colore viene salvata dopo il ricaricamento, solo il tipo di grasso viene cancellato...