초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1373

 
노력하고있어.
 
Nikita Chernyshov # :

버퍼는 색상이 아니라 값으로 포착해야 합니다.

버퍼가 색상을 변경할 때 출력되는 내용을 확인하십시오.

저것들. 버퍼가 2개 있다고 가정해 보겠습니다. 빨간색과 녹색입니다.

Commen을 통해 이 두 버퍼를 출력하고 버퍼가 "활성"일 때 표시되는 내용을 확인합니다. 숫자 값입니다. 이것이 당신이 그들과 상호 작용하는 방법입니다.

mql4에 적합하고 항상 mql5에 적합하지 않은 조언을 제공할 필요가 없습니다.

 
Oleg Kolesov # :
안녕하세요. Expert Advisor에서 색상 인덱스를 어떻게 얻을 수 있습니까? (색상이 변경되면 신호를 얻습니다).

일반적으로 표시기에는 먼저 값 버퍼가 있고 그 다음에는 색상 버퍼가 있습니다.

   SetIndexBuffer ( 0 , buffMACD, INDICATOR_DATA );           // Буфер данных
   SetIndexBuffer ( 1 , colorBuff, INDICATOR_COLOR_INDEX );   // Буфер цвета
   SetIndexBuffer ( 2 , buffSignal, INDICATOR_DATA );         // Буфер данных
   SetIndexBuffer ( 3 , colorSignal, INDICATOR_COLOR_INDEX ); // Буфер цвета

그런 다음 표시기의 핸들을 받으면 첫 번째 또는 세 번째 버퍼의 값을 복사합니다. 표시기에 지정된 색상 수에 따라 0, 0 이상의 정수 값만 있을 수 있습니다. 어드바이저를 프로그래밍할 때 이 모든 것을 알아야 합니다.

 

오류 4202를 피하기 위해 MQL5에서 그래픽 개체를 만드는 방법을 알려주시겠습니까?

MQL4에서는 다음 코드를 사용했습니다.

   string Obj_Rectangle= "Object" ; 

   if ( ObjectFind ( 0 ,Obj_Rectangle)==- 1 )                               
     {
       ObjectCreate ( 0 ,Obj_Rectangle, OBJ_RECTANGLE_LABEL , 0 , 0 , 0 );        
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_CORNER , 0 );
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_XDISTANCE , 100 );
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_YDISTANCE , 100 );
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_XSIZE , 200 );
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_YSIZE , 150 );
       ObjectSetInteger ( 0 ,Obj_Rectangle, OBJPROP_BGCOLOR , clrBlue );
     }
     
   Alert ( _LastError );

그러나 MQL5에서 ObjectFind()는 오류 4202를 반환합니다.

 
leon_17 # :

오류 4202를 피하기 위해 MQL5에서 그래픽 개체를 만드는 방법을 알려주시겠습니까?

MQL4에서는 다음 코드를 사용했습니다.

그러나 MQL5에서 ObjectFind()는 오류 4202를 반환합니다.

객체가 발견되지 않으면 이것은 객체 검색 오류입니다 ...

ERR_OBJECT_NOT_FOUND

4202

그래픽 개체를 찾을 수 없습니다.


그에게 경고 할 필요가 없습니다 ...

 
기꺼이 도와주신 Alex에게 감사드립니다. 또한 원칙이 있습니다. 물고기가 아니라 배고픈 낚싯대입니다.
 
Alexey Viktorov # :

객체가 발견되지 않으면 이것은 객체 검색 오류입니다 ...

ERR_OBJECT_NOT_FOUND

4202

그래픽 개체를 찾을 수 없습니다.


그에게 경고 할 필요가 없습니다 ...

글쎄, 나는 한때 _LastError가 어떤 오류도 반환하지 않아야 한다고 배웠습니다. 그리고 이마저도 시장의 요구사항이었던 것 같다. 이제 모든 것이 그렇게 엄격하지 않습니까?

그러나 내가 이해하는 한 이 오류는 코드의 다른 중요한 오류를 덮어쓸 수 있습니다. 이 오류를 처리하는 방법은 무엇입니까?

 
leon_17 # :

글쎄, 나는 한때 _LastError가 어떤 오류도 반환하지 않아야 한다고 배웠습니다. 그리고 이마저도 시장의 요구사항이었던 것 같다. 이제 모든 것이 그렇게 엄격하지 않습니까?

그러나 내가 이해하는 한 이 오류는 코드의 다른 중요한 오류를 덮어쓸 수 있습니다. 이 오류를 처리하는 방법은 무엇입니까?

_LastError 변수는 mql5 프로그램 실행 중에 발생한 마지막 오류 값을 저장합니다.

누군가가 당신을 나쁘게 가르쳤습니다. _LastError 변수는 다음 오류가 발생할 때까지 수신된 값을 저장합니다.

시장의 요구 사항은 브로커\ds 서버에서 수신된 실행 오류가 없다는 것입니다. 문서를 읽으십시오 ...

Документация по MQL5: Предопределенные переменные / _LastError
Документация по MQL5: Предопределенные переменные / _LastError
  • www.mql5.com
_LastError - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Oleg Kolesov # :
기꺼이 도와주신 Alex에게 감사드립니다. 또한 원칙이 있습니다. 물고기가 아니라 배고픈 낚싯대입니다.
낚싯대 뿐만 아니라 문제 해결에 대해 읽을 수 있는 위치에 대한 설명입니다. 어떤 사람이 문제를 이해하기를 원하면 그가 내 말을 이해할 때까지 시간을 할애할 준비가 되어 있습니다. 그러나 그들이 요구하면 그것을하십시오. 그리고 나는이 템플릿에 따라 그것을 알아낼 것입니다. 그래서 그 사람은 이해하지 못할 것입니다. 그는 그것을 할 사람이 필요하고 적어도 풀은 자라지 않습니다 ...
 
동의한다.
사유: