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

 
Oleg :

동료 여러분, 양초의 원하는 음량에 도달했을 때 소리가 왜 재생을 멈췄는지 말씀해 주십시오.

사운드 파일은 SOUNDS 폴더에 있으며, 경고가 설정되면 파일이 정상적으로 재생되고 표시기에 묵음이 있습니다.

아니면 표시기용 사운드가 포함된 특수 폴더가 필요합니까?


/---- 표시기 계산을 위한 메인 루프

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
범위=(높은[막대]-낮은[막대])/_Point;
IndBuffer[bar]=범위;

if(범위<5)
{
if (prev_calculated > 0 && 플래그==0)
{
플래그=1;
}
}
if(범위>=임계값){
clr=0;
if (prev_calculated > 0 && 플래그==1 )
{
플래그=0;

PlaySound("부저");


}
}

 for (bar=limit; bar>= 0 && ! IsStopped (); bar--)
{
  Range=(high[bar]-low[bar])/ _Point ;
  IndBuffer[bar]=Range;

   if (Range< 5 )
  {
     if (prev_calculated > 0 && Flag== 0 )
    {
      Flag= 1 ;
    }
  }

   if (Range>=Threshold) {
    clr= 0 ;
     if (prev_calculated > 0 && Flag== 1 )
    {
      Flag= 0 ;
       ResetLastError ();
       PlaySound ( "zummer" );
       Print ( __FUNCTION__ , " Error #" , GetLastError () );
    }
  }
}



그리고 여기에 어떤 오류가 발생하는지 쓰십시오.

 
Иван :
모두들 좋은 시간 되세요. 질문: MT4에서 십자형(달러 없는 쌍)이 있는 테스터에서 작업할 때 테스트 중인 계정이 달러인 경우 테스터는 마감된 위치 의 결과를 어떻게 계산합니까? 총포지션을 달러로 환산하는 테스터는 현재 시점의 달러에 대한 크로스의 기준 통화 의 환율을 취합니까, 아니면 연구 구간의 순간에 환율을 취합니까? 나는 현시점에서 그것을 강력히 의심한다. 그렇다면 간격 시간에 강제로 계산할 수 있습니까?

타라스 슬로보디아닉 :

각 틱 에 대해 MODE_TICKVALUE 자체를 계산합니다.

글쎄, 내가 계산했다고 가정 해 봅시다. 그리고 테스터가 곡선 계산이 아닌 내가 계산한 값을 "결과" 테이블에 표시하도록 "요청"할 수 있습니까?
 
Mihail Matkovskij :

https://www.mql5.com/ru/forum/160683/page1208#comment_17279150 예제를 주의 깊게 살펴보십시오. 아무것도 찾지 못하셨나요?

다음은 해당 기능입니다.

조금 더 조심하셔야 합니다!

우리가 서로를 이해하지 못했거나 질문을 정확하게 공식화하지 않았을 수도 있지만 .... MQL4 참조 및 MQL5 참조에서 모든 기능 목록을주의 깊게 살펴 보았습니다.

그들 중 누구도 기능이 없습니다

searshValue( double & array2D[ 2 ][], const int _len, const int _index, const double _value)

나는 찾지 못했다. 나는 당신의 링크에서 예를 보았습니다. 나는 당신이 나에게 던진 코드와 내가 모르는 기능이 있는 코드를 보았습니다. 그러나 내 질문에 대한 답을 찾지 못했습니다. 이 기능은 어느 언어에서 왔는지입니다. 결국 MQL4 에서 온 것이라면   MQL5, 이 언어의 참조에 있는 기능 목록에 있는 것 같습니다.

그런 다음 이것이 사용자 정의 함수라고 가정했습니다. 그러나 Kovalev는 사용자 정의 함수의 계산이 start() 함수의 하한선 밖에서 수행된다고 말합니다.
또한 MT로 코드를 작성할 때 MQL4, MQL5 뿐만 아니라 다른 언어의 기능을 사용할 수 있다는 것도 읽었습니다.

식별자가 CONST인 변수는 이 함수에 대한 매개변수로 나열됩니다. 저도 아직 만나지 못했습니다.   MQL4와 그것은 또한 나를 혼란에 빠뜨렸습니다.
나는 당신의 프로그래밍 능력 수준이 나와 크게 다르다는 것을 이해합니다. 나는 방금 뭔가를 이해하기 시작했습니다. 그러니 저를 엄하게 판단하지 마시고 여러분의 입장에서 제가 어리석은 질문을 하면 최대한 경솔하게 대하지 말아 주시길 부탁드리며, 여러분에게 아주 기본적인 것들을 설명하는 것이 여러분에게 부담이 될 수 있음을 이해합니다. 따라서 내가 필요한 정보에 대한 링크를 보내거나 무엇을 어디서 읽을지 알려주시면 감사하겠습니다.

그리고 한 가지 더.... 저는 새로운 Expert Advisor를 만들고 당신이 저에게 보낸 첫 번째 코드를 복사하여 오류 없이 코드를 컴파일했습니다. 저는 아무 변경도 하지 않았는데... 그리고 Tester에서 Expert Advisor를 실행한 후 Journal of the Print() 기능에 항목이 하나도 없다는 사실에 매우 놀랐습니다. 반면 Expert Advisor에서는 반복적으로 실행됩니다.
저를 위한 정보 지원과 귀중한 정보에 다시 한 번 감사드립니다.

 
ANDREY :

서로가 잘못 이해했거나 질문을 정확히 작성하지 않은 것일 수도 있지만....핸드북에 있는 모든 기능 목록을 유심히 살펴보니 ...

안드레이, 내가 당신을 엄격하게 판단한다고 생각하지 마세요. 이 기능 또는 저 기능의 출처가 명확하지 않은 경우 해당 기능을 마우스 오른쪽 버튼으로 클릭하고 "정의로 이동 Alt + G" 명령을 선택합니다. 그리고 모르는 것이 있으면 복잡하지 마십시오. 이건 괜찮아.

프로그래밍을 배우는 방법. 이렇게 하려면 왜 필요합니까?...라는 질문에 답해야 합니다. 거래 로봇 및 기술 분석 프로그램을 만들기 위한 것이라면 MQL에 대한 관련 예제, 레슨 및 기사일 뿐입니다. 어쩌면 책까지도. 그러나 MQL을 알게 되었을 때부터 이미 코드를 잘 알고 있었고 책도 한 권도 읽지 않았지만 설명서는 읽었습니다. 우선 프로그램이 무엇인지 이해하는 것이 좋습니다. 이를 수행하려면 먼저 MQL 이벤트 모델( https://docs.mql4.com/en/basis/function/events )을 연구하십시오. 이것이 기초입니다. 마스터하면 쉽게 진행할 수 있습니다. 아마도 다음이 도움이 될 것입니다. MQL5 소개: 간단한 Expert Advisor 및 표시기 작성 (저는 검색을 사용했습니다). 더 보기: 언어 기초 . 특히: 함수 호출매개변수 전달 (여기서 질문이 있습니다). 연구 중 질문이 있으면(그리고 질문할 것입니다) Google 검색이나 YouTube를 사용할 수 있습니다. 또는 여기에서 질문하십시오. 이상적으로는 C++를 배우는 것이 좋습니다. 구문에 대해 Google에 검색하면 " C++"를 추가할 수도 있습니다.

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
В языке MQL4 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL4: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Mihail Matkovskij :

안드레이, 내가 당신을 엄격하게 판단한다고 생각하지 마세요. 이 기능 또는 저 기능의 출처가 명확하지 않은 경우 해당 기능을 마우스 오른쪽 버튼으로 클릭하고 "정의로 이동 Alt + G" 명령을 선택합니다. 그리고 모르는 것이 있으면 복잡하지 마십시오. 이건 괜찮아.

프로그래밍을 배우는 방법. 이렇게 하려면 왜 필요합니까?...라는 질문에 답해야 합니다. 거래 로봇 및 기술 분석 프로그램을 만들기 위한 것이라면 MQL에 대한 관련 예제, 레슨 및 기사일 뿐입니다. 어쩌면 책까지도. 그러나 MQL을 알게 되었을 때부터 이미 코드를 잘 알고 있었고 책도 한 권도 읽지 않았지만 설명서는 읽었습니다. 우선 프로그램이 무엇인지 이해하는 것이 좋습니다. 이를 수행하려면 먼저 MQL 이벤트 모델( https://docs.mql4.com/en/basis/function/events )을 연구하십시오. 이것이 기초입니다. 마스터하면 쉽게 진행할 수 있습니다. 아마도 다음이 도움이 될 것입니다. MQL5 소개: 간단한 Expert Advisor 및 표시기 작성 (저는 검색을 사용했습니다). 더 보기: 언어 기초 . 특히: 함수 호출매개변수 전달 (여기서 질문이 있습니다). 연구 중 질문이 있으면(그리고 질문할 것입니다) Google 검색이나 YouTube를 사용할 수 있습니다. 또는 여기에서 질문하십시오. 이상적으로는 C++를 배우는 것이 좋습니다. 구문에 대해 Google에 검색하면 " C++"를 추가할 수도 있습니다.

조언과 조언 감사합니다. 나를 위해, 그것은 모두 몇 년 전에 할 일이 없었고 어딘가에 무료 돈을 붙이고 싶다는 욕구에서 모스크바의 Teletrade에서 무료 외환 과정을 수강했다는 사실에서 시작되었습니다. 그러나 과정을 마친 후 비체계적인 거래는 단 한 번의 승리에도 불구하고 보장된 돈 손실이라는 생각이 즉시 내 머리에 자리 잡았습니다. 그래서 시스템을 갖기 전에는 내 돈 가지고 놀지 않겠다는 굳은 결심을 하고, 강의를 마치기도 전에 컴퓨터도 없었습니다. 그리고 일반적으로 저는 비수학적 사고방식을 가진 사람입니다. 그리고 컴퓨터를 사게 된 계기는 바로 코스였고, 컴퓨터를 구입하고 코스에서 MT-4를 로드한 순간부터 지금까지 컴퓨터와 MT에서 헤어나지 못하고 있습니다. 나는 옆에서 나를 바라보고 이 저항할 수 없는 비이성적인 갈망이 어디에서 왔는지 이해할 수 없다. 돈 때문만은 아닌 것 같아요. 나는 돈이 좋다. 나는 일하지 않고 내 모든 시간은 자유다. 그리고 너무 오래 가지 않도록 그것을 차지할 무언가가 필요합니다. FX 전반에 대한 공부와 프로그래밍에 몰두하다 보니 시간이 눈에 띄게 빠르게 흘러가는 것을 알게 되었고, 코스를 마친 후 오랜 시간 컴퓨터를 마스터하면서 동시에 MT의 차트를 보며 시도했습니다. 가격이 한 방향 또는 다른 방향으로 움직이는 방법과 이유를 이해합니다. 일정이 저를 매료시키고 매혹시켰고 제 뇌에 강력한 지배력을 만들었다고 말할 수 있습니다. 컴퓨터, 인터넷, 외환의 구조를 이해하는 과정이 진행되면서 알고리즘 거래에 대해 배우고 그것에 대해 읽기로 결정했습니다. 그리고 그녀는 또한 내가 Kovalev의 교과서에서 약간의 코딩을 배웠을 정도로 나를 끌었습니다. 그리고 교과서의 내용을 더 많이 이해하고 코딩할 때 적용하려고 할수록 코딩을 하려고 하는 생각이 더 많이 떠올랐습니다. 그러나 몇 달 전에 아주 뜻밖에도 우연히 EURO-DOLLAR 및 POUND-DOLLAR 쌍에서 매우 명확하게 나타나는 하나의 패턴을 보았습니다. 이 패턴을 코딩할 수 있었습니다. 그리고 2008년부터 지금까지 테스터에 이 코드가 있는 Expert Advisor는 내가 받아들일 수 있는 드로다운과 함께 지속적으로 올라가는 대차 대조표를 그립니다. 이것은 내가 더 큰 열정을 가지고 MQL4 프로그래밍 연구에 뛰어들도록 하는 추가적인 강력한 동기가 되었습니다. 아직까지는 MQL5 공부를 시작할 만큼 충분히 마스터하지 못했습니다.

그리고 링크와 올바른 길을 가르쳐 주셔서 다시 한 번 감사드립니다.

이것은 대차 대조표입니다

이 일정을 더욱 최적화할 수 있는 방법에 대한 생각이 있습니다. 그러나 지금까지 이러한 모든 생각을 인코딩할 수 있는 충분한 경험이 없습니다.

 
ANDREY :

MQL4를 배우고 MQL5로 넘어가면 더 끌리겠죠... :)

 
Mihail Matkovskij :

MQL4를 배우고 MQL5로 넘어가면 더 끌리겠죠... :)

이게 얼마나 빨리 일어나는지 보자...

 
Mihail Matkovskij :

이 기능 또는 저 기능의 출처가 명확하지 않은 경우 해당 기능을 마우스 오른쪽 버튼으로 클릭하고 "정의로 이동 Alt + G" 명령을 선택합니다. 그리고 모르는 것이 있으면 복잡하지 마십시오. 이건 괜찮아.

저에게는 소중한 메뉴입니다. 그리고 당신에게서 그 기능과 그 기능에 대해 알게 되었을 때 매우 기뻤습니다. 그러나 어떤 이유에서인지 이 항목은 저에게 적합하지 않습니다. 다른 옵션을 시도했습니다.

그는 함수 위에 마우스를 놓고(대괄호 앞의 위치로) 마우스 오른쪽 버튼을 눌렀습니다. 컨텍스트 메뉴 에서 "정의로 이동 Alt+G" 메뉴가 활성화됩니다. 나는 그것을 클릭하지만 아무 일도 일어나지 않습니다. 영문 레이아웃과 대문자로 Alt + G를 누릅니다. 아무 일도 일어나지 않습니다.

클릭한 후 디렉토리로 이동해야 한다는 것을 올바르게 이해하고 있습니까? 아니면 마우스 오른쪽 버튼을 클릭한 기능이 설명된 위치로 이동해야 합니까?
MT-4 빌드 1260이 있습니다.
Metaeditor 도움말을 읽었지만 이 기능에 대한 정보를 찾지 못했습니다. 그리고 이 항목은 나에게 매우 가치가 있습니다. MetaEditor의 일부 설정이 누락되었을 수 있습니까?
이 항목이 저에게 효과가 없는 이유에 대한 생각을 공유해 주시면 감사하겠습니다.

이것은 내 MetaEditor의 도구 모음입니다. 많은 버튼이 활성화되어 있지 않습니다. 버튼 중 하나가 아닐까요?


 
ANDREY :

조언과 조언 감사합니다. 나를 위해, 그것은 모두 몇 년 전에 할 일이 없었고 어딘가에 무료 돈을 붙이고 싶다는 욕구에서 모스크바의 Teletrade에서 무료 외환 과정을 수강했다는 사실에서 시작되었습니다. 그러나 과정을 마친 후 비체계적인 거래는 단 한 번의 승리에도 불구하고 보장된 돈 손실이라는 생각이 즉시 내 머리에 자리 잡았습니다. 그래서 시스템을 갖기 전에는 내 돈 가지고 놀지 않겠다는 굳은 결심을 하고, 강의를 마치기도 전에 컴퓨터도 없었습니다. 그리고 일반적으로 저는 비수학적 사고방식을 가진 사람입니다 . 그리고 컴퓨터를 사게 된 계기는 바로 코스였고, 컴퓨터를 구입하고 코스에서 MT-4를 로드한 순간부터 지금까지 컴퓨터와 MT에서 헤어나지 못하고 있습니다. 나는 옆에서 나를 바라보고 이 저항할 수 없는 비이성적인 갈망이 어디에서 왔는지 이해할 수 없다. 돈 때문만은 아닌 것 같아요. 나는 돈이 좋다. 나는 일하지 않고 내 모든 시간은 자유다. 그리고 너무 오래 가지 않도록 그것을 차지할 무언가가 필요합니다. FX 전반에 대한 공부와 프로그래밍에 몰두하다 보니 시간이 눈에 띄게 빠르게 흘러가는 것을 알게 되었고, 코스를 마친 후 오랜 시간 컴퓨터를 마스터하면서 동시에 MT의 차트를 보며 시도했습니다. 가격이 한 방향 또는 다른 방향으로 움직이는 방법과 이유를 이해합니다. 일정이 저를 매료시키고 매혹시켰고 제 뇌에 강력한 지배력을 만들었다고 말할 수 있습니다. 컴퓨터, 인터넷, 외환의 구조를 이해하는 과정이 진행되면서 알고리즘 거래에 대해 배우고 그것에 대해 읽기로 결정했습니다. 그리고 그녀는 또한 내가 Kovalev의 교과서에서 약간의 코딩을 배웠을 정도로 나를 끌었습니다. 그리고 교과서의 내용을 더 많이 이해하고 코딩할 때 적용하려고 할수록 코딩을 하려고 하는 생각이 더 많이 떠올랐습니다. 그러나 몇 달 전에 아주 뜻밖에도 우연히 EURO-DOLLAR 및 POUND-DOLLAR 쌍에서 매우 명확하게 나타나는 하나의 패턴을 보았습니다. 이 패턴을 코딩하는 데 성공했습니다. 그리고 2008년부터 지금까지 테스터에 이 코드가 있는 Expert Advisor는 내가 받아들일 수 있는 드로다운과 함께 지속적으로 올라가는 대차 대조표를 그립니다. 이것은 내가 더 큰 열정을 가지고 MQL4 프로그래밍 연구에 뛰어들도록 하는 추가적인 강력한 동기가 되었습니다. 아직까지는 MQL5 공부를 시작할 만큼 충분히 마스터하지 못했습니다.

그리고 링크와 올바른 길을 가르쳐 주셔서 다시 한 번 감사드립니다.

이것은 대차 대조표입니다

이 일정을 더 최적화할 수 있는 방법에 대한 생각이 있습니다. 그러나 지금까지 이러한 모든 생각을 인코딩할 수 있는 경험이 충분하지 않습니다.

프로그래머에게 가장 중요한 것은 문제를 설정하고 해결할 수 있는 방법을 찾는 것입니다. 그리고 이것이 수학적 사고방식을 결정합니다. 마인드를 다시 만들 수 있다면 ... 신의 축복이 있습니다.

그리고 mql4로 작성하려고 하고 언어 유사성을 찾기 위해 mql5 문서 를 지속적으로 조사하는 경우 mql4를 처리하고 이미 mql5를 처리했다는 점을 고려하십시오. 언어는 너무 유사하여 차이점을 나열하는 것이 유사성을 나열하는 것보다 쉽습니다.

Kovalev의 교과서는 너무 오래 전에 작성되었으므로 대부분의 경우 교과서의 예제에 사용된 방법이 얼마 동안 작동한다는 사실에도 불구하고 무언가를 작성하기 전에 현대적인 방법을 찾아야 합니다.

이 기사 는 mql5로 전환하는 것뿐만 아니라 Sergey Kovalev가 설명한 mql4와 최신 mql4의 차이점을 이해하는 데 매우 유용합니다.
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
Alexey Viktorov :

프로그래머에게 가장 중요한 것은 문제를 설정하고 해결할 수 있는 방법을 찾는 것입니다. 이것이 수학적 사고방식을 결정하는 것입니다. 마인드를 다시 만들 수 있다면 ... 신의 축복이 있습니다.

그리고 mql4로 작성하려고 하고 언어 유사성을 찾기 위해 mql5 문서 를 지속적으로 조사하는 경우 mql4를 처리하고 이미 mql5를 처리했다는 점을 고려하십시오. 언어는 너무 유사하여 차이점을 나열하는 것이 유사성을 나열하는 것보다 쉽습니다.

Kovalev의 교과서는 너무 오래 전에 작성되었으므로 대부분의 경우 교과서의 예제에 사용된 방법이 얼마 동안 작동한다는 사실에도 불구하고 무언가를 작성하기 전에 현대적인 방법을 찾아야 합니다.

소중한 정보 감사합니다.

수학적 사고방식에 대해. 처음부터 시작해서 .... 너무 오래됐지만 .... Kovalev의 교과서를 어느 정도 마스터했고, 오류 없이 컴파일되는 원시 코드를 작성하는 방법도 배웠고, "grail"과 유사한 코드도 작성했습니다. .... 즉, 내 마음가짐이 내가 필요한 방향으로 바뀌고 있다는 뜻입니다.
어렵지 않은지 알려주세요... MQL5 기능은 MetaEditor 4에서 실행되나요?

감사해요