Objectget 및 objectgetvaluebyshift 질문 - 페이지 2

 
honest_knave :

안녕하세요, 코드 게시 시 SRC 버튼을 이용해 주세요.

노란색 으로 표시된 모든 코드는 'for' 루프 외부에 있습니다.

따라서 'name'의 값은 항상 최종 객체의 이름입니다.


아마도 이것을 시도하십시오(price1 및 price2가 이미 다른 곳에서 선언되었다고 가정):

많은 도움을 주셔서 감사합니다. 가격을 확인하기 위해 인쇄하는 방법1... 작동하는지 확인하려면 저널에서.
 
Rajakumar1 :
많은 도움을 주셔서 감사합니다. 가격을 확인하기 위해 인쇄하는 방법1... 작동하는지 확인하려면 저널에서.
이름을 인쇄하는 것과 같은 방식으로 ...
 int obj_total = ObjectsTotal ();
   string name;
   for ( int j = 0 ; j<obj_total; j++)
     {
      name = ObjectName (j);
       Print (j, "Object - " , name);
       if ( ObjectType (name) == OBJ_TREND && name == "Trendline1-m30" )
        {
         price1 = ObjectGetValueByShift (name, 0 );
         Print ( "price1: " , price1);
        }

       if ( ObjectType (name) == OBJ_TREND && name == "Trendline2-m30" )
        {
         price2 = ObjectGetValueByShift (name, 0 );
         Print ( "price2: " , price2);
        }
     }
 
honest_knave :
이름을 인쇄하는 것과 같은 방식으로 ...
감사해요. EA에 인쇄 명령이 있습니다. 저널 에 인쇄 되지 않습니다. 어디에서 출력을 인쇄합니까?
 
Rajakumar1 :
감사해요. EA에 인쇄 명령이 있습니다. 저널에 인쇄되지 않습니다. 어디에서 출력을 인쇄합니까?

전문가(저널 왼쪽 탭)
 
honest_knave :

전문가(저널 왼쪽 탭)
추세선을 그리는 지표가 있습니다. EA는 지표가 그린 추세선을 기반으로 합니다. 값이 인쇄되지 않는 이유를 확인할 수 있는 방법이 있습니까? 파일을 첨부하고 있습니다. 번거롭게 해서 죄송합니다. 당신의 도움을 주셔서 감사합니다.
 
Rajakumar1 :
추세선을 그리는 지표가 있습니다. EA는 지표가 그린 추세선을 기반으로 합니다. 값이 인쇄되지 않는 이유를 확인할 수 있는 방법이 있습니까? 파일을 첨부하고 있습니다. 번거롭게 해서 죄송합니다. 당신의 도움을 주셔서 감사합니다.


다양한 지점에서 Print 문을 추가하는 코드를 통과해야 합니다.

그렇게 하면 문제를 추적할 수 있습니다.

호출되지 않는 함수나 예상치 못한 변수 값을 찾아야 합니다.

시간이 좀 걸리겠지만 스스로 할 수 있는 일입니다.

예를 들어, 매 틱마다 1씩 증가하는 변수가 있는 EA가 있습니다.

때때로 변수가 0으로 재설정되는 이유를 모르겠습니다.


 #property strict

int myVariable;

int OnInit ()
  {
   myVariable = 0 ;
   Print ( __FUNCTION__ , " // myVariable = " , myVariable);
   EventSetTimer ( 5 );
   return ( INIT_SUCCEEDED );
  }

void OnTimer ()
  {
   myVariable = 0 ;
   Print ( __FUNCTION__ , " // myVariable = " , myVariable);
  }

void OnTick ()
  {
   myVariable++;
   Print ( __FUNCTION__ , " // myVariable = " , myVariable);
  }


그리고 출력:




myVariable이 매 틱마다 1씩 증가하는 것을 볼 수 있지만 OnTimer()가 이를 다시 0으로 재설정하고 있습니다.

이제 문제가 어디에 있는지 알았습니다.

----

또는 일부 사용자가 문제를 보고했지만 MetaEditor에 내장된 디버그 기능을 사용해 볼 수 있습니다. YMMV

 
honest_knave :


다양한 지점에서 Print 문을 추가하는 코드를 통과해야 합니다.

그렇게 하면 문제를 추적할 수 있습니다.

호출되지 않는 함수나 예상치 못한 변수 값을 찾아야 합니다.

시간이 좀 걸리겠지만 스스로 할 수 있는 일입니다.

예를 들어, 매 틱마다 1씩 증가하는 변수가 있는 EA가 있습니다.

때때로 변수가 0으로 재설정되는 이유를 모르겠습니다.



그리고 출력:

감사해요. 파일을 삭제할까요?.



myVariable이 매 틱마다 1씩 증가하는 것을 볼 수 있지만 OnTimer()가 이를 다시 0으로 재설정하고 있습니다.

이제 문제가 어디에 있는지 알았습니다.

----

또는 일부 사용자가 문제를 보고했지만 MetaEditor에 내장된 디버그 기능을 사용해 볼 수 있습니다. YMMV

 
Rajakumar1 :
감사해요. 파일을 삭제할까요?
 
Rajakumar1 :
감사해요. 파일을 삭제할까요?


그것은 당신의 결정입니다. 두 표시기 사이에 거의 800줄의 코드가 있습니다... 누군가 당신을 위해 그것을 살펴볼 시간이 있을 수 있습니다.

그러나 먼저 문제의 범위를 좁혀서 더 빠른 솔루션을 얻을 수 있습니다.

행운을 빕니다


 
honest_knave :


그것은 당신의 결정입니다. 두 표시기 사이에 거의 800줄의 코드가 있습니다... 누군가 당신을 위해 그것을 살펴볼 시간이 있을 수 있습니다.

그러나 먼저 문제의 범위를 좁혀서 더 빠른 솔루션을 얻을 수 있습니다.

행운을 빕니다


많은 도움을 주셔서 감사합니다. 가장 먼저 봐야 할 지역은?. 메타 편집기는 경고만 표시합니다. 오류가 없습니다.