오류, 버그, 질문 - 페이지 1256

 
sanyooooook :

테스터에서 OnChartEvent가 작동하는지 누가 압니까?

난 아무것도 원하지 않아

MT5에서도 작동합니다.
 

나는 이것을하지만 아무 것도 인쇄하지 않습니다.

 //+------------------------------------------------------------------+
//|                                             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 );
  }
 

아니면 어딘가에 문제가 있습니까?

HZ 때문에 MT4 초기에 이벤트 작업을 거의 하지 않았습니다.

추신: 일반 차트에서 모든 것이 인쇄물에 문제가 없습니다.

 
sanyooooook :

아니면 어딘가에 문제가 있습니까?

HZ 때문에 MT4 초기에 이벤트 작업을 거의 하지 않았습니다.

추신: 일반 차트에서 모든 것이 인쇄물에 문제가 없습니다.

정확히는 인쇄되지 않습니다. 하지만 작동합니다. 그래픽으로 이벤트를 추적하십시오.

 
svds75 :

친애하는 포럼 사용자 여러분 안녕하세요. 이해할 수 없는 상황이 하나 있습니다.

사실 요점은 테스터(비주얼라이저)의 ChartOpen() 함수가 두 개의 차트를 열도록 강제할 방법이 없다는 것입니다.

일반 모드에서는 모든 것이 작동하지만 테스터에서는 도움말에 쓰여진 대로 0이 아니라 동일한 숫자 16388을 지속적으로 반환합니다.

누군가 나에게 무엇이 잘못되었는지 알려 주시면 매우 감사하겠습니다. 첨부된 것은 테스트 로봇입니다.

친구, 아무도 만나지 않았습니까? 아니면 최근 버그인가요? 그렇다면 그래픽으로 다중 통화를 테스트하는 방법은 무엇입니까?
 
sanyooooook :

추신: 일반 차트에서 모든 것이 인쇄물에 문제가 없습니다.

당신은 아마도 잘못된 저널을 보고 있을 것입니다 ... 일반적으로 최적화 모드가 이면 인쇄가 꺼집니다 ...

테스터 설정 세부정보 표시

 
denkir :

당신은 아마도 잘못된 저널을 보고 있을 것입니다 ... 일반적으로 최적화 모드가 이면 인쇄가 꺼집니다 ...

테스터 설정 세부정보 표시

어디를 봐야할지 모르겠습니다.)

최적화 시 개체가 생성되지 않습니다. 그러나 나는 최적화하지 않습니다.


 
전역 수준에서 선언된 변수를 통해 시도했지만 그 값도 변경되지 않습니다.
 
sanyooooook :
전역 수준에서 선언된 변수를 통해 시도했지만 그 값도 변경되지 않습니다.
그리고 OnChartEvent() 가 테스터에서 작동해야 한다는 정보는 어디에서 왔습니까? 내가 뭐 놓친 거 없니? 그것은 나를 위해 작동하지 않았고 작동하지 않습니다. 4, 5가 아닙니다.
 
공장. 나는 나의 고문에게 확인했고, 버튼에서 주문을 여는 것이 있습니다. 그래서 인쇄가 안되는건지...