새 막대 표시 - 페이지 3

 

안녕 알랭

의견과 개선에 감사드립니다.

"bool NewBar"가 OnTick()의 함수 호출에 의한 전역 변수 스위치인 첫 번째 버전으로 돌아가야 합니다.

또는 나는 그것의 작은 개체를 만듭니다. 어쩌면 가장 현명한 선택일 수도 있습니다.


그리고 - 원인 - "절대로 같은 계산을 두 번 하지 마십시오".

헬무트

 
datetime iTime[];
datetime recent;
datetime projection;
int OnInit()
  {
//---
  int pull=CopyTime(NULL,0,0,1,iTime);
  recent=iTime[0];
  projection=recent+PeriodSeconds();
//---
   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
//---
  if(TimeCurrent()>=projection)
   {
   Print("New Bar "+TimeToString(projection,TIME_DATE|TIME_MINUTES));
   projection=projection+PeriodSeconds();
   }
  }
 

@ 도어크 힐거

언어는 동일하지만 공통되지 않은 기능의 작은 하위 집합이 있습니다.

맙소사 ... 절대 아닙니다!

MQ가 제품 설명에서 지적했듯이

MetaQuotes Language 5는 잘 알려져 있고 인기 있는 С ++ 프로그래밍 언어의 개념을 기반으로 합니다. MQL5는 또한 고급 객체 지향 프로그래밍 언어입니다.

https://www.metatrader5.com/en/automated-trading/mql5

구조, 포인터 및 주소 처리의 몇 가지 차이점 외에 가장 큰 점은 MQL5가 완전히 다른 프로그래밍 패러다임을 허용하는 객체 지향 프로그램 언어의 모든 기능을 제공한다는 것입니다. 이러한 관점에서 MQL5는 분명히 MQL4와 다른 클래스 및 다른 세대의 언어에 속합니다.

또 다른 장점은 속도입니다. 어디서 읽었는지 기억이 나지 않습니다. MQL5는 MQL4보다 실행 속도가 100배 더 빠릅니다.

그리고 여기에 단점이 있습니다. 실행 속도는 더 빠르지만 먼저 전문가 수준의 프로그래밍 개념에 익숙해져야 하는 경우 프로그램 생성 속도가 매우 느립니다 .

이는 MQ의 문제로 이어집니다. 한편으로 그들은 전문가 시장을 확보하거나 유지하기 위해 현대적인 전문 개발 환경을 제공해야 하며, 다른 한편으로는 프로그래밍 과학이 아닌 거래에 관심이 있는 모든 개인 및 준전문 고객을 잃는 것을 스스로 허용할 수 없습니다. .




 
MQ는 이 시점에서 많은 혼란을 야기했습니다.

당신이 옳은 것 같다.

이 문제를 보다 명확하게 하기 위해 우리가 무엇을 할 수 있는지 봅시다.

사람들이 MQL4 포럼에 MQL4 문제를 게시하면 매우 도움이 될 것이라고 생각합니다. MQL5 질문이 있는 경우 MQL5 포럼에 게시해야 합니다.

아주 쉽게 들립니다. . . 어떻게 생각하나요?

처음에는 중재자가 잘못된 게시를 올바른 포럼으로 옮기고 "죄송합니다, 잘못된 포럼 - 참조 ..."라는 힌트를 남기면 유용할 것입니다.

윌버

 

@ 로렌초스 루소스

점점 쉬워지고 있어요 ;-)

내가 걱정하는 것은 TimeCurrent()가 모든 경우에 막대와 동기화되는지 여부입니다.

나는 월요일에 약간의 2h 테스트를 할 것이다.

윌버



 
24시간
 
Willbur :

@ 로렌초스 루소스

점점 쉬워지고 있어요 ;-)

내가 걱정하는 것은 TimeCurrent()가 모든 경우에 막대와 동기화되는지 여부입니다.

나는 월요일에 약간의 2h 테스트를 할 것이다.

윌버



Alain이 이에 대해 저를 수정할 수 있지만 막대의 시간 지평선에서 눈금이 없는 경우에 간격을 찾을 수 있으므로 막대가 제자리에 없을 것입니다.
 
Willbur :

@ 도어크 힐거

맙소사 ... 절대 아닙니다!

MQ가 제품 설명에서 지적했듯이

구조, 포인터 및 주소 처리의 몇 가지 차이점 외에 가장 큰 점은 MQL5가 완전히 다른 프로그래밍 패러다임을 허용하는 객체 지향 프로그램 언어의 모든 기능을 제공한다는 것입니다.




확실히 그렇습니다 :) 하지만 무슨 말인지 압니다. 저는 항상 MQL5를 프로그래밍하고 있다고 생각했습니다. 왜냐하면 저는 객체 지향만을 코딩하기 때문입니다. 기능 하위 집합에서 약간의 차이가 있지만 이 빌드된 MQL4는 더 이상 다른 언어가 아닙니다. 사실 Enhanced-MQL4는 MetaTrader4용 MQL5입니다. 그것이 내가 혼란 부분을 의미했던 것입니다. 저에게 MQL5는 항상 OOP였고 MQL4는 하향식 스파게티였습니다. 그리고 나는 스파게티를 좋아하지 않는다 ;)

편집: 위의 진술은 어디에서 가져왔으며 언제 게시했습니까? 실제로 그것은 첫 번째 가정이 옳았다는 것을 의미하기 때문입니다. MQL5 .... 최고 수준의 혼란 ;)

 
나는 스파게티를 좋아한다.
 
Doerk Hilger :

확실히 그렇습니다 :) 하지만 무슨 말인지 압니다. 저는 항상 MQL5를 프로그래밍하고 있다고 생각했습니다. 왜냐하면 저는 객체 지향만을 코딩하기 때문입니다. 기능 하위 집합에서 약간의 차이가 있지만 이 빌드된 MQL4는 더 이상 다른 언어가 아닙니다. 사실 Enhanced-MQL4는 MetaTrader4용 MQL5입니다. 그것이 내가 혼란 부분을 의미했던 것입니다. 저에게 MQL5는 항상 OOP였고 MQL4는 하향식 스파게티였습니다. 그리고 나는 스파게티를 좋아하지 않는다 ;)

편집: 위의 진술은 어디에서 가져왔으며 언제 게시했습니까? 실제로 그것은 첫 번째 가정이 옳았다는 것을 의미하기 때문입니다. MQL5 .... 최고 수준의 혼란 ;)

향상된 MQL4 ?

들어본 적이 없습니다.

자신이 하는 일을 알고 있다고 확신하기 전에 두 플랫폼의 설명서를 읽어야 할 수도 있습니다.