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

 
Maxim Kuznetsov :

첫 번째 경우에는 컴파일러도 "OrderSelect의 결과를 확인해야 함"을 강조 표시합니다. ;-)

첫 번째 변경의 경우 if (!OrderSelect(...)) 계속; 옵션은 동일합니다.

첫 번째 코드는 시각적으로 선형적이며 두 번째 코드는 여기에서 사랑받는 사다리입니다. 나는 첫 번째 옵션을 선호합니다. 읽기가 더 쉽고 일반적으로 깊은 논리적 탭 {{{{ }}}}이 표시되면 무언가를 변경할 때가 되었음을 알 수 있습니다 :-)

고맙습니다. 그리고 래더의 진입이 코드 실행 속도에 영향을 줍니까? 사다리로 녹음하는 것이 더 이해하기 쉽습니다.

 
novichok2018 :

고맙습니다. 그리고 래더의 진입이 코드 실행 속도에 영향을 줍니까? 사다리로 녹음하는 것이 더 이해하기 쉽습니다.

실행 속도 는 주로 알고리즘의 영향을 받습니다. 그리고 코드에서 그것을 어떻게 묘사했는지는 더 이상 그것이 얼마나 중요한지에 대한 본질이 아닙니다.

그것에 대해 생각하지 마십시오.

코드는 나중에 작업할 수 있도록 작성되었습니다. 따라서 원하는대로 작성하고 실제로 눈앞에없는 문제로 머리를 채우지 마십시오.

글쎄요, 속임수와 코딩 기능을 사용하는 데 필요한 속도에는 문제가 없습니다. 단지 보장하지 않습니다.

(거의 없음) 발생하면 실행을 최적화합니다.

 
Maxim Kuznetsov :

실행 속도는 주로 알고리즘의 영향을 받습니다. 그리고 코드에서 그것을 어떻게 묘사했는지는 더 이상 그것이 얼마나 중요한지에 대한 본질이 아닙니다.

그것에 대해 생각하지 마십시오.

코드는 나중에 작업할 수 있도록 작성되었습니다. 따라서 원하는대로 작성하고 실제로 눈앞에없는 문제로 머리를 채우지 마십시오.

글쎄요, 속임수와 코딩 기능을 사용하는 데 필요한 속도에는 문제가 없습니다. 단지 보장하지 않습니다.

(거의 없음) 발생하면 실행을 최적화합니다.

정말 감사합니다! 매우 이해하기 쉽습니다.

 
MT4 프로그램의 이전 폴더에서 XP Windows에서 거래 작업을 수행할 수 있습니까? 그렇다면 설치하는 방법은 무엇입니까?
 
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.06
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Alexander Layzerevich :
질문에 도움을 주세요: https://www.mql5.com/en/forum/160683/page833#comment_11585085

도움이 될지는 모르겠지만 다음과 같습니다.

- MT5에서 코드의 일부를 가져와 MT4에 "첨부"하려고 합니다. MT4에서는 표시기가 다르게 호출됩니다.

- 함수 헤더를 올바르게 선언하지 않았습니다.

- MT4에는 내장 CopyBuffer() 함수가 없습니다.

일반적으로 그렇게 작동하지 않습니다. 코드의 일부를 고정하는 다른 옵션을 찾으십시오. MQL4 및 MQL5의 구문은 95% 유사하지만 플랫폼 간에 코드 섹션을 아무 생각 없이 복사할 수는 없습니다.

 
Igor Makanu :

도움이 될지는 모르겠지만 다음과 같습니다.

- MT5에서 코드의 일부를 가져와 MT4에 "첨부"하려고 합니다. MT4에서는 표시기가 다르게 호출됩니다.

- 함수 헤더를 올바르게 선언하지 않았습니다.

- MT4에는 내장 CopyBuffer() 함수가 없습니다.

일반적으로, 그것은 그렇게 작동하지 않을 것입니다, 코드의 일부를 망치는 다른 옵션을 찾으십시오 - MQL4 및 MQL5의 구문은 95% 유사하지만 플랫폼 간에 아무 생각 없이 코드 섹션을 복사할 수는 없습니다.

죄송합니다. MT5의 코드를 표시하는 것을 잊었습니다.

함수 호출 Deviation(int kanal)이 작동하지 않습니다.

제대로 하는 방법을 묻고 싶었습니다.

 
Igor Makanu :

기사 https://www.mql5.com/ru/articles/18 의 예를 하나씩 따르십시오.

옵션으로 64비트 dll용 프로젝트를 컴파일 중이고 MT4 터미널은 32비트이므로 32비트 .dll용으로 프로젝트를 구성하고 컴파일해야 합니다.

거기에 질문도 하고, 거기에 제안된 예시도 해보고, 실제로 실험한 사진도 올렸어요. 예, 이러한 버전에는 이와 같은 것이 있습니다. 일반적으로 이 모든 것이 도움말에 있어야 하며, 뉘앙스를 연결하는 방법입니다. 나는 코드가 있는 링크를 받았고, 이 수업을 열었다가 너무 세게 닫았습니다. 일반적으로 정보에 대한 조롱은 없습니다. 원하는 대로 하세요. 좋아요, 죄송합니다. 20년 안에 프로그래밍 경험이 있을 것입니다. 이 주제로 돌아오겠습니다. 64세 미만의 해당 편집을 이해하는 방법, 알아내는 방법은 무엇입니까?

 
Seric29 :

64세 미만의 해당 편집을 이해하는 방법, 알아내는 방법은 무엇입니까?

Visual Studio 에서 프로젝트 속성을 보면 dll을 컴파일할 플랫폼에 대한 설정이 있어야 합니다. MT4에서는 32비트 코드가 필요합니다.

추신 : VS 설정에 대한 Google 검색

 
Igor Makanu :

도움이 될지는 모르겠지만 다음과 같습니다.

- MT5에서 코드의 일부를 가져와 MT4에 "첨부"하려고 합니다. MT4에서는 표시기가 다르게 호출됩니다.

- 함수 헤더를 올바르게 선언하지 않았습니다.

- MT4에는 내장 CopyBuffer() 함수가 없습니다.

일반적으로, 그것은 그렇게 작동하지 않을 것입니다, 코드의 일부를 망치는 다른 옵션을 찾으십시오 - MQL4 및 MQL5의 구문은 95% 유사하지만 플랫폼 간에 아무 생각 없이 코드 섹션을 복사할 수는 없습니다.

아무것도 명시되어 있지 않다

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론

알렉산더 레이제레비치 , 2019.05.06 17:21

다음 기능을 사용하여 MT5 에서 표시기 데이터를 가져오려고 합니다.

 //************************************************************************************************/
double Envelopes( string symb, ENUM_TIMEFRAMES TF_1, int period, int method, int shift, int price, double Deviation( ENUM_TIMEFRAMES TF_2, int kanal) , int buff, int index)
{
   double buf[ 1 ];
   int handle= iEnvelopes ( Symbol (), TF_1, period, method, shift, price, Deviation(TF_2, kanal), buff);
   if (handle< 0 )
   {
     Print ( "Failed to create handle ATR, Error: " , GetLastError ());
     return ( WRONG_VALUE );
   } else
   {
     if ( CopyBuffer (handle, 0 ,index, 1 ,buf)< 0 )
    {
     Print ( "Failed to copy data from the indicator ATR, Error: " , GetLastError ());
     return ( WRONG_VALUE );
    }
   }
   return (buf[ 0 ]);
}
//************************************************************************************************/

오류 메시지를 표시합니다.


MT5용 코드 수정 방법을 알려주세요

강조 표시는 함수 선언과 다르지 않습니다. 함수의 입력 매개변수에 함수가 선언되어 있음을 알 수 있습니다.