오류, 버그, 질문 - 페이지 1456 1...144914501451145214531454145514561457145814591460146114621463...3184 새 코멘트 Slava 2015.12.23 15:23 #14551 Vasyl Nosal : 틱 없이 표시기에 이 문제에 대한 해결책이 있습니까? 그리고 나는 이미 말했다. 텍스트 자체는 렌더링 없이 얻을 수 있는데 크기가 그렇지 않다는 것이 이상합니다. 틱은 어떻게 되나요? 눈금이 없어도 차트가 그려집니다. 텍스트 레이블의 크기는 win api 함수 GetTextExtent를 사용하여 표시 컨텍스트에서 알아냅니다. 디스플레이 컨텍스트는 화면 해상도와 선택한 글꼴 크기를 기반으로 이 정보를 반환합니다. 객체를 처음 생성하면 컨텍스트 표시가 없습니다. 원칙적으로는 생성할 수 있지만 "인공적으로" 계산된 크기가 실제 렌더링 중에 실제로 계산된 크기와 다른 상황에 쉽게 부딪힐 수 있습니다. 따라서 개체가 렌더링될 때까지 개체의 크기를 알 수 없습니다. [삭제] 2015.12.23 15:26 #14552 Vasyl Nosal : 생성 후 ChartRedraw()를 사용 하여 크기를 확인하십시오. [삭제] 2015.12.23 15:57 #14553 Alexey Kozitsyn : 생성 후 ChartRedraw()를 사용 하여 크기를 확인하십시오. 도움이 되지 않습니다. Vladimir Karputov 2015.12.23 16:06 #14554 Vasyl Nosal : 도움이 되지 않습니다. 일반적으로 OnCalculate()의 첫 번째 이벤트보다 빠르지 않은 표시기에 무언가를 그려야 합니다. 이 접근 방식은 차트 생성과 에서 올바른 작업을 보장합니다. 이와 같은 것 - 우리가 생성한 첫 번째 틱에서 다음 틱에서 크기를 요청합니다. //+------------------------------------------------------------------+ //| TestIndicator1.mq4 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window string name= "probe" ; bool first_tick= false ; // false - ещё не было тиков //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- indicator buffers mapping //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- static int count; if (count> 3 ) return (rates_total); // после трёх Алертов выходим. Не за чем слух портить. if (!first_tick) { ObjectCreate ( 0 ,name, OBJ_LABEL , 0 , 0 , 0 ); ObjectSetString ( 0 ,name, OBJPROP_TEXT ,name); first_tick= true ; } else { string text= ObjectGetString ( 0 ,name, OBJPROP_TEXT ); int text_sizeX= int ( ObjectGetInteger ( 0 ,name, OBJPROP_XSIZE )); Alert (text, " " ,text_sizeX); } count++; //--- return value of prev_calculated for next call return (rates_total); } //+------------------------------------------------------------------+ //| Deinit | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { ObjectDelete (name); EventKillTimer (); } //+------------------------------------------------------------------+ [삭제] 2015.12.23 17:09 #14555 Karputov Vladimir : 일반적으로 OnCalculate()의 첫 번째 이벤트보다 빠르지 않은 표시기에 무언가를 그려야 합니다. 이 접근 방식은 차트 생성과 에서 올바른 작업을 보장합니다. 이와 같은 것 - 우리가 생성한 첫 번째 틱에서 다음 틱에서 크기를 요청합니다. 좋은. 주말에 몇 개의 진드기를 시뮬레이션합니다. [삭제] 2015.12.23 17:16 #14556 객체가 렌더링되었는지 여부를 반환하는 함수가 있습니까? Vladimir Karputov 2015.12.23 17:22 #14557 Vasyl Nosal : 좋은. 주말에 몇 개의 진드기를 시뮬레이션합니다. Wi-Fi를 끄면 토요일에 함께 하겠습니다. :). Slava 2015.12.23 17:34 #14558 Vasyl Nosal : 객체가 렌더링되었는지 여부를 반환하는 함수가 있습니까? 크기는 텍스트 레이블에 문의 Alexandr Bryzgalov 2015.12.23 18:05 #14559 WindowRedraw는 틱을 기다리지 않는 데 도움이 되지 않습니까? [삭제] 2015.12.23 18:26 #14560 Alexandr Bryzgalov : WindowRedraw는 틱을 기다리지 않는 데 도움이 되지 않습니까? 아니요. 1...144914501451145214531454145514561457145814591460146114621463...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
틱 없이 표시기에 이 문제에 대한 해결책이 있습니까?
그리고 나는 이미 말했다. 텍스트 자체는 렌더링 없이 얻을 수 있는데 크기가 그렇지 않다는 것이 이상합니다.
틱은 어떻게 되나요? 눈금이 없어도 차트가 그려집니다.
텍스트 레이블의 크기는 win api 함수 GetTextExtent를 사용하여 표시 컨텍스트에서 알아냅니다. 디스플레이 컨텍스트는 화면 해상도와 선택한 글꼴 크기를 기반으로 이 정보를 반환합니다.
객체를 처음 생성하면 컨텍스트 표시가 없습니다. 원칙적으로는 생성할 수 있지만 "인공적으로" 계산된 크기가 실제 렌더링 중에 실제로 계산된 크기와 다른 상황에 쉽게 부딪힐 수 있습니다. 따라서 개체가 렌더링될 때까지 개체의 크기를 알 수 없습니다.
생성 후 ChartRedraw()를 사용 하여 크기를 확인하십시오.
도움이 되지 않습니다.
일반적으로 OnCalculate()의 첫 번째 이벤트보다 빠르지 않은 표시기에 무언가를 그려야 합니다. 이 접근 방식은 차트 생성과 에서 올바른 작업을 보장합니다.
이와 같은 것 - 우리가 생성한 첫 번째 틱에서 다음 틱에서 크기를 요청합니다.
일반적으로 OnCalculate()의 첫 번째 이벤트보다 빠르지 않은 표시기에 무언가를 그려야 합니다. 이 접근 방식은 차트 생성과 에서 올바른 작업을 보장합니다.
이와 같은 것 - 우리가 생성한 첫 번째 틱에서 다음 틱에서 크기를 요청합니다.
좋은. 주말에 몇 개의 진드기를 시뮬레이션합니다.
객체가 렌더링되었는지 여부를 반환하는 함수가 있습니까?
WindowRedraw는 틱을 기다리지 않는 데 도움이 되지 않습니까?