그래픽 개체를 만드는 방법을 배우는 방법? MQL4. - 페이지 4

 
Integer :

생성하기 전에 ObjectFind() 함수를 사용하여 객체가 존재하는지 확인할 수 있습니다. 당신은 아무것도 할 수 없습니다. 알겠습니다. 끔찍한 실수가 아닙니다.

많은 개체. 개체 이름에 막대 시간을 추가하면 고유한 이름을 얻을 수 있습니다.

빔을 잘라냅니다. 속성 ObjectSet(이름,OBJPROP_RAY,거짓);

우와! 나는 당신의 생각을 읽었습니다. 이미 마쳤어. 이름 에 현재 시간을 할당했습니다 .

빔을 잘라냅니다. 즉, 나는 옛 이름을 기억하고 거짓을 넣었습니까?

 
forexman77 :

...

빔을 잘라냅니다. 즉, 나는 옛 이름을 기억하고 거짓을 넣었습니까?

생성 직후 생성 된 동일한 이름으로 ObjectSet()을 호출합니다.
 

표시기 하위 창(MQL4)인 Expert Advisor에서 개체를 그리려고 합니다.

표시기는 하나뿐이므로 하위 창은 1번이어야 합니다.

 long    chart_ID= 0 ;         // ID графика
int win_idx= 1 ;
string nameobj=TimeToStr(Time[ 0 ]);       
             //--- сбросим значение ошибки
             ResetLastError ();
             //--- создадим трендовую линию по заданным координатам
           if (! ObjectCreate (chart_ID,nameobj, OBJ_TREND ,win_idx,Time[index],maximum1,Time[ 1 ],TRENDmax[ 1 ]))
            {
             Print ( __FUNCTION__ ,
                   ": не удалось создать линию тренда! Код ошибки = " , GetLastError ());
             return ( 0 );
            } 

도면이 없습니다. 오류 4206(지정한 하위 창을 찾을 수 없음)

시각적으로 어드바이저는 정상적으로 거래를 엽니다. 즉, " Time[index],maximum1,Time[ 1 ],TRENDmax[ 1 ]" 변수가 맞습니다.

 
forexman77 :

표시기 하위 창(MQL4)인 EA에서 개체를 그리려고 합니다.

표시기는 하나뿐이므로 하위 창은 1번이어야 합니다.

도면이 없습니다. 오류 4206(지정한 하위 창을 찾을 수 없음)

"1" 을 ChartWindowFind() 로 바꿉니다.
 
Karputov Vladimir :
"1" 을 ChartWindowFind()로 바꿉니다.

Expert Advisor에서 짧은 지표 이름 을 얻는 방법은 무엇입니까?

지표 자체에 짧은 이름을 만들었습니다.

IndicatorShortName( "fraktalSDV" );
 

스크립트를 만들었습니다:

 void OnStart ()
  {
string    shortName= "fraktalSDV" ; 
long    chart_ID= 0 ;         // ID графика
int win_idx= ChartWindowFind (chart_ID,shortName);
Alert ( "Окно = " , win_idx);
  }

창이 정상적으로 나타납니다.

고문에서:

 string    shortName= "fraktalSDV" ; 
long    chart_ID= 0 ;         // ID графика
int win_idx= ChartWindowFind (chart_ID,shortName);
         Print ( "shortName=" ,shortName);
         string nameobj=TimeToStr(Time[ 0 ]);          
             //--- сбросим значение ошибки
             ResetLastError ();
             //--- создадим трендовую линию по заданным координатам
           if (! ObjectCreate (chart_ID,nameobj, OBJ_TREND ,win_idx,Time[index],maximum1,Time[ 1 ],TRENDmax[ 1 ]))
            {
             Print ( __FUNCTION__ ,
                   ": не удалось создать линию тренда! Код ошибки = " , GetLastError ());
             return ( 0 );
            } 

하위 창 번호 -1을 얻습니다.

 
forexman77 :

스크립트를 만들었습니다:

창이 정상적으로 나타납니다.

고문에서:

하위 창 번호 -1을 얻습니다.

하위 창의 차트에 "fraktalSDV"라는 짧은 이름의 표시기가 있습니까?  
 
Karputov Vladimir :
하위 창의 차트에 "fraktalSDV"라는 짧은 이름의 표시기가 있습니까?  
테스터에서 시각화를 켜면 실행이 끝날 때 나타납니다.
 
forexman77 :
테스터에서 시각화를 켜면 실행이 끝날 때 나타납니다.
지표 템플릿을 만들고 이 템플릿을 테스터로 저장합니다.
 
Karputov Vladimir :
지표 템플릿을 만들고 이 템플릿을 테스터로 저장합니다.

즉, 지표가 있는 차트 프로필을 만드시겠습니까?

테스터에서 표시기 를 시작하려고했는데 슬로우 모드에서 그려집니다.