Hatalar, hatalar, sorular - sayfa 1375

 
Vladimir Pastushak :

...

872 inşa

Terminali yeniden başlattıktan sonra, tüm grafik nesnelerde TOOLTIP kaybolur ...

İşaretli, tüm araç ipuçları görüntülenir. Neyi yanlış yapıyorum?
 
Artyom Trishkin :
İşaretli, tüm araç ipuçları görüntülenir. Neyi yanlış yapıyorum?

1. Araç ipuçları kaydedilmez.

2. Bir kişi, bir nesne başarıyla oluşturulduğunda bir araç ipucu atadı. Nesne zaten yaratıldığından, araç ipucu programının koşullarına göre atanmamıştır.

 
Slawa :

1. Araç ipuçları kaydedilmez.

2. Bir kişi, bir nesne başarıyla oluşturulduğunda bir araç ipucu atadı. Nesne zaten yaratıldığından, araç ipucu programının koşullarına göre atanmamıştır.

Apaçık. Araç ipuçlarının kaydedilmediğini bilmiyordum. İşlevlerim, "kayıp"ı yeniden atayacakları şekilde yapılandırılmıştır.
 
Artyom Trishkin :
Apaçık. Araç ipuçlarının kaydedilmediğini bilmiyordum. İşlevlerim, "kayıp"ı yeniden atayacakları şekilde yapılandırılmıştır.
Bu yüzden, bir Expert Advisor'da bir arayüz oluştururken ve bir Araç İpucu ile düğmeleri imzalarken, bunu her zaman yapmanız gerektiğini bilmiyordum, çünkü yeniden başlatmanın ardından Araç İpucu silinir..
 
Açık sinyal. ( bir sinyal sağlayıcı oldu ). Bakiyenin yenilenmesi ve işlemlerin bir kısmı çoğaltılır, bunun sonucunda istatistikler bozulur. Nasıl düzeltilir?
 
Sergey Zhukov :
Açık sinyal. ( bir sinyal sağlayıcı oldu ). Bakiyenin yenilenmesi ve işlemlerin bir kısmı çoğaltılır, bunun sonucunda istatistikler bozulur. Nasıl düzeltilir?
Lütfen Servis Masasına bir bilet oluşturun ve sorunu bilette ayrıntılı olarak açıklayın.
 
Vladimir Pastushak :
Bu yüzden, bir Expert Advisor'da bir arayüz oluştururken ve bir Araç İpucu ile düğmeleri imzalarken, bunu her zaman yapmanız gerektiğini bilmiyordum, çünkü yeniden başlatmanın ardından Araç İpucu silinir..
Garip. OnInit() içinde sadece bir arayüz oluştursanız bile, araç ipuçları inşası sırasında yazılır. Neden kayboluyorlar?
 
Artyom Trishkin :
Garip. OnInit() içinde sadece bir arayüz oluştursanız bile, araç ipuçları inşası sırasında yazılır. Neden kayboluyorlar?

Düğmelerle bir tür arayüz oluşturuyorum, oluştururken bir araç ipucu ayarladım. Terminal yeniden başlatıldığında araç tipi silinir ve tekrar yazılması gerekir...

İşte bir araç ipucu ile bir düğme oluşturacak ve araç ipucunu yeniden yükledikten sonra kaybolacak basit bir kod, deneyin ...

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

Düğmelerle bir tür arayüz oluşturuyorum, oluştururken bir araç ipucu ayarladım. Terminal yeniden başlatıldığında araç tipi silinir ve tekrar yazılması gerekir...

İşte bir araç ipucu ile bir düğme oluşturacak ve araç ipucunu yeniden yükledikten sonra kaybolacak basit bir kod, deneyin ...

Nesne oluşturmanın sonucunu kontrol edin :

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

Ve nesne zaten varsa, onu yeniden oluşturamazsınız (hata 4200). Bu nedenle , nesnenin özelliklerindeki (ve özellikle araç ipucundaki) değişikliği uygulayamazsınız.

Daha sonra eklendi: yalnızca mantığın yeniden yapılması gerekiyor, aksi takdirde her onay işaretine bir hata yazdırılacaktır.

 
Karputov Vladimir :

Nesne oluşturmanın sonucuna bir kontrol girin:

Ve nesne zaten varsa, onu yeniden oluşturamazsınız (hata 4200). Bu nedenle , nesnenin özelliklerindeki (ve özellikle araç ipucundaki) değişikliği uygulayamazsınız.

Daha sonra eklendi: yalnızca mantığın yeniden yapılması gerekiyor, aksi takdirde her onay işaretine bir hata yazdırılacaktır.

Tüm parametreleri ayarlıyoruz ve tol tipi dışındaki tüm parametreler kaydediliyor...

Yeniden başlatmanın ardından renk boyutunun tamamı korunur, yalnızca tür silinir ...