MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1744

 
누가 어렵지 않은지 알려주십시오, mql5, 전문가는 때때로 시간 값을 적어 두어야 나중에 읽을 수 있지만 충돌 등이있을 수 있으며 시간이 지워집니다. 터미널의 전역 변수에 datetime을 쓸 수는 있지만 두 번도 문제가되지 않습니까? 아니면 더 나은 다른 방법이 있습니까? 고맙습니다!
 
Fast235 # :

전문가를 위한 도움, 말하자면 교사를 고용하는 것이 더 빠릅니다. 저를 믿으세요. 더 저렴하고 빠릅니다.

그러나 훈련을 위해서는 전문적인 매니아가 필요하며 깊은 프로뿐만 아니라 기본을 올바르게 설명해야합니다. 그게 전부입니다. 나머지 1만 페이지. 다양한 정보...

조언 해주셔서 감사합니다!

 

어느 것이 더 나은지 알려주세요:

하나의 OnTick 블록에 모든 것을 쓰시겠습니까 아니면 기능별로 분리하시겠습니까? 즉, OnTick에서 함수 호출 하려면

(문제는 대부분 코드 최적화와 일부 전망 및 함정에 관한 것입니다)
 
freelancerAntonyan 전역 변수에 datetime을 쓸 수는 있지만 두 번도 문제가되지 않습니까? 아니면 더 나은 다른 방법이 있습니까? 고맙습니다!
충돌이 발생하면 GV에도 아무 것도 기록되지 않습니다. 그리고 원칙적으로 문제가 없습니다. 쓸 때만 명시적 유형 캐스팅을 적용하고 읽을 때도 적용합니다.
 
freelancerAntonyan 전역 변수에 datetime을 쓰는 것은 가능하지만 이중이면 문제가 없을까요? 아니면 더 나은 다른 방법이 있습니까? 고맙습니다!

Union을 통해 모든 유형을 작성하여 두 배로 만들고 다시 읽을 수 있습니다.

 
Ivan Butko 함수 호출 만 하려면 (문제는 대부분 코드 최적화와 일부 전망 및 함정에 관한 것입니다)

함수 호출이 더 정확합니다.

기능만 논리적으로 완전하고 이해할 수 있어야 하므로 OnTik에서는 코드에 의한 작업 논리를 이해할 수 있습니다.

 
MakarFX # :
여기에서 파일을 받으세요. 듣도보도 못한 새롭네요.

*.mq4 파일의 이름을 확장자로 바꾸고 컴파일을 시도하면 아무 것도 나오지 않으며 컴파일러는 MT5인 것처럼 컴파일을 시도합니다.

(

 #ifdef __MQL4__

#else

#endif

파일 이름을 다시 *.mq4로 변경할 때까지 작동하지 않습니다.

이 문제를 해결하는 방법, 전문가의 누군가가 알고 있습니까?

 
Valeriy Yastremskiy # :

함수 호출이 더 정확합니다.

기능만 논리적으로 완전하고 이해할 수 있어야 하므로 OnTik에서는 코드에 의한 작업 논리를 이해할 수 있습니다.

고마워, 내 말은
 
Sergey Zhukov # :

*.mq4 파일의 이름을 확장자로 바꾸고 컴파일을 시도하면 아무 것도 나오지 않으며 컴파일러는 MT5인 것처럼 컴파일을 시도합니다.

(

파일 이름을 다시 *.mq4로 변경할 때까지 작동하지 않습니다.

이 문제를 해결하는 방법, 전문가의 누군가가 알고 있습니까?

전혀 컴파일되지 않습니다!

파일을 던집니다. 내부에서 모든 기능을 제거할 수 있습니다.

 
Sergey Zhukov # :

*.mq4 파일 이름 바꾸기

Sergey, 파일 이름을 바꾸는 이유를 잘 이해하지 못했지만 다음과 같이 작동합니다.


포함1.mqh:

 void go()
   {
   #ifdef __MQL5__
       printf ( "Это пятёрка" );
   #else
       printf ( "Это четвёрка" );
   #endif
   }

script1.mq4 및 script1.mq5:

 #include <include1.mqh>

void OnStart ()
   {
   go();
   }


알겠습니다. 이것이 문제입니다.

__MQL4__

지금 언어에는 그런 것이 없습니다.