Hatalar, hatalar, sorular - sayfa 1256

 
sanyooooook :

OnChartEvent'in test cihazında çalışıp çalışmadığını kim bilebilir?

bir şey istemiyorum

MT5'te de çalışır.
 

Bunu yapıyorum, ancak hiçbir şey yazdırmıyor:

 //+------------------------------------------------------------------+
//|                                             CheckObjectClick.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link        "https:/"
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
string            InpName= "Button" ;             // Имя кнопки
ENUM_BASE_CORNER InpCorner= CORNER_LEFT_LOWER ; // Угол графика для привязки
string            InpFont= "Arial" ;             // Шрифт
int               InpFontSize= 14 ;               // Размер шрифта
color             InpColor= clrBlack ;           // Цвет текста
color             InpBackColor= C'236,233,216' ; // Цвет фона
color             InpBorderColor= clrNONE ;       // Цвет границы
bool              InpState= false ;               // Нажата/Отжата
bool              InpBack= false ;               // Объект на заднем плане
bool              InpSelection= false ;           // Выделить для перемещений
bool              InpHidden= true ;               // Скрыт в списке объектов
long              InpZOrder= 0 ;                 // Приоритет на нажатие мышью

int OnInit ()
  {
//---
   ButtonCreate( 0 , StringConcatenate (InpName, "LIMIT" ), 0 , 20 , 25 , 55 , 20 ,InpCorner, "LIMIT" ,InpFont,InpFontSize,
                InpColor, clrLime ,InpBorderColor,InpState,InpBack,InpSelection,InpHidden,InpZOrder);
   ButtonCreate( 0 , StringConcatenate (InpName, "STOP" ), 0 , 80 , 25 , 60 , 20 ,InpCorner, "STOP" ,InpFont,InpFontSize,
                InpColor, clrRed ,InpBorderColor,InpState,InpBack,InpSelection,InpHidden,InpZOrder);
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   
  }
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
//---
   if (id== CHARTEVENT_OBJECT_CLICK )
   {
       string clickedChartObject=sparam;
       if (clickedChartObject== "ButtonLIMIT" )
      {
        Print ( 1 );
      }
       if (clickedChartObject== "ButtonSTOP" )
      {
        Print ( 2 );
      }
   }
   //int Click=EventChartCustom(id,CHARTEVENT_OBJECT_CLICK);
  }
   bool ButtonCreate( long               chart_ID= 0 ,               // ID графика
                   string             name= "Button" ,             // имя кнопки
                   int                sub_window= 0 ,             // номер подокна
                   int                x= 0 ,                       // координата по оси X
                   int                y= 0 ,                       // координата по оси Y
                   int                width= 50 ,                 // ширина кнопки
                   int                height= 18 ,                 // высота кнопки
                   ENUM_BASE_CORNER   corner= CORNER_LEFT_UPPER , // угол графика для привязки
                   string             text= "Button" ,             // текст
                   string             font= "Arial" ,             // шрифт
                   int                font_size= 10 ,             // размер шрифта
                   color              clr= clrBlack ,             // цвет текста
                   color              back_clr= C'236,233,216' ,   // цвет фона
                   color              border_clr= clrNONE ,       // цвет границы
                   bool               state= false ,               // нажата/отжата
                   bool               back= false ,               // на заднем плане
                   bool               selection= false ,           // выделить для перемещений
                   bool               hidden= true ,               // скрыт в списке объектов
                   long               z_order= 0 )                 // приоритет на нажатие мышью
  {
//--- сбросим значение ошибки
   ResetLastError ();
//--- создадим кнопку
   if ( ObjectFind (name)< 0 )
   {
     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);
//--- установим угол графика, относительно которого будут определяться координаты точки
   //ObjectSet(name,OBJPROP_CORNER,corner);Print(GetLastError());
   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);
//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger (chart_ID,name, OBJPROP_BACK ,back);
//--- переведем кнопку в заданное состояние
   ObjectSetInteger (chart_ID,name, OBJPROP_STATE ,state);
//--- включим (true) или отключим (false) режим перемещения кнопки мышью
   ObjectSetInteger (chart_ID,name, OBJPROP_SELECTABLE ,selection);
   ObjectSetInteger (chart_ID,name, OBJPROP_SELECTED ,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
   ObjectSetInteger (chart_ID,name, OBJPROP_HIDDEN ,hidden);
//--- установим приоритет на получение события нажатия мыши на графике
   ObjectSetInteger (chart_ID,name, OBJPROP_ZORDER ,z_order);
//--- успешное выполнение
   return ( true );
  }
 

yoksa bir yerlerde bir yanlışlık mı var?

Bu HZ nedeniyle daha önce MT4'teki olaylarla neredeyse çalışmıyordum

Not: Normal bir çizelgede, çıktıyla ilgili her şey yolunda.

 
sanyooooook :

yoksa bir yerlerde bir yanlışlık mı var?

Bu HZ nedeniyle daha önce MT4'teki olaylarla neredeyse çalışmıyordum

Not: Normal bir çizelgede, çıktıyla ilgili her şey yolunda.

Daha doğrusu yazdırmıyor. Ama işe yarıyor. Olayı grafiklerle takip etmeye çalışın.

 
svds75 :

Merhaba sevgili forum kullanıcıları. Anlaşılmaz bir durum var.

Aslında mesele şu ki, test cihazındaki (görselleştirici) ChartOpen() işlevini birkaç çizelge açmaya zorlamanın hiçbir yolu yoktur.

Normal modda, her şey çalışır, ancak test cihazında, yardımda yazıldığı gibi sürekli olarak sıfıra değil, aynı sayı 16388'e döner.

Birisi bana neyin yanlış olduğunu söyleyebilirse çok minnettar olurum. Ekli test robotudur.

Arkadaşlar kimse denk gelmedi mi? Yoksa bu yeni bir hata mı? O zaman çoklu para birimini grafiklerle nasıl test edersiniz?
 
sanyooooook :

Not: Normal bir çizelgede, çıktıyla ilgili her şey yolunda.

Muhtemelen yanlış Journal'a bakıyorsunuz ... genel olarak, eğer optimizasyon modu ise , o zaman baskılar orada kapatılır ...

Test Cihazı ayarları ayrıntılarını göster

 
denkir :

Muhtemelen yanlış Journal'a bakıyorsunuz ... genel olarak, eğer optimizasyon modu ise , o zaman baskılar orada kapatılır ...

Test Cihazı ayarları ayrıntılarını göster

Nereye bakacağımı bilmiyorum.)

optimizasyonda ve nesneler oluşturulmaz. Ama optimizasyon yapmıyorum.


 
Global düzeyde bildirilen bir değişkeni denedim, ancak değeri de değişmiyor.
 
sanyooooook :
Global düzeyde bildirilen bir değişkeni denedim, ancak değeri de değişmiyor.
Ve OnChartEvent() 'in test cihazında çalışması gerektiği bilgisi nereden geliyor? Bir şey mi kaçırdım? Benim için işe yaramadı ve işe yaramıyor. Dört ya da beş değil.
 
İşler. Danışmanımla kontrol ettim, butonlardan açılış emirleri var. Bu yüzden basılmıyor, merak ediyorum...
Neden: