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

 
novichok2018 :

모두들 안녕!

포럼 에서 가격이 특정 시간(초) 동안 통과한 포인트 수를 계산하는 함수를 찾았습니다. int ItemsPerSecond(const int seconds, MqlTick &tick), 코드에 삽입하고 컴파일했습니다. 모든 것이 정상이지만 시도할 때 그것을 호출하면 컴파일러는 잘못된 매개 변수 수를 비명을 지릅니다.

내가 무엇을 잘못하고 있지?

읽지 마세요:

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
novichok2018 :

무슨 일이에요?

모두 자고 있습니까 죽었 습니까?

웃으면서 :)

 
Artyom Trishkin :

읽지 마세요:

이고르 마카누 : 터무니없는 질문에 답을 쓰기 엔 너무 게으르다

"똑똑한" 신사 여러분!

당신은 어떻게 든 포럼의 어느 지점에 있는지 끊임없이 잊어 버립니다. 나는 당신을 생각 나게 할 수 있습니다 : 스레드는 " 초보자질문 ..."입니다. 그리고 당신이 이미 초보자를 도울 수 있다고 생각한다면(과시하지 않기 위해 여기에 왔습니까?), 당신에게 어리석고 터무니없는 것처럼 보이고 초보자가 이해하기 어려운 질문에 삐딱하게 인상을 찌푸릴 필요가 없습니다. 당신의 도움 없이 밖으로.

요점 - 나는 언어의 기초에서 "함수 호출"을 최소 20번 읽었으며 이 특정 경우에 어떤 매개변수를 입력해야 하는지 명확하지 않습니다.

그렇다면 누군가가 초조함을 넘어 구체적인 조언을 해줄까요?

고맙습니다.

 
novichok2018 :

"똑똑한" 신사 여러분!

당신은 어떻게 든 포럼의 어느 지점에 있는지 끊임없이 잊어 버립니다. 나는 당신을 생각 나게 할 수 있습니다 : 스레드는 " 초보자질문 ..."입니다. 그리고 당신이 이미 초보자를 도울 수 있다고 생각한다면(과시하지 않기 위해 여기에 왔습니까?), 당신에게 어리석고 터무니없는 것처럼 보이고 초보자가 이해하기 어려운 질문에 삐딱하게 인상을 찌푸릴 필요가 없습니다. 당신의 도움 없이 밖으로.

요점 - 나는 언어의 기초에서 "함수 호출"을 최소 20번 읽었으며 이 특정 경우에 어떤 매개변수를 입력해야 하는지 명확하지 않습니다.

그렇다면 누군가가 초조함을 넘어 구체적인 조언을 해줄까요?

고맙습니다.

이것이 내 지점인지 어떻게 잊을 수 있습니까? :)

"Any" - 우리가 음료의 힘에 대해 이야기할 수 있다는 것을 의미하지는 않습니다 ... "의미 있는" 질문입니다. 그리고 당신이 묻는 것은 모든 프로그래밍 언어의 기본이고, 당신은 단순히 사람들을 당신의 질문으로 멈추게 합니다. 기본을 가르쳐야 할까요? 그러나 이것은 이 주제와 포럼 자체의 범위를 벗어납니다.

나는 당신에게 도움을 줄 수 있는 링크를 주었습니다. 따라서 지식에 이르는 길을 알려주는 사람들에 대한 그러한 태도로 "그냥 당신을 위해 모든 것을하십시오"가 아니라 오랫동안 사람들을 흔들 것입니다. ?" ...

도움말에는 함수 및 해당 형식 매개변수에 대한 모든 정보가 포함되어 있습니다. 그리고 죄송합니다. CodeBase 에는 수많은 예제가 있습니다. 코드를 열고 형식 매개변수가 있는 함수의 정의를 찾아 거기에서 어떻게 호출되는지 확인합니다...

글쎄, 간단합니다. 게으르지 말고 하늘에서 만나를 기다리지 말고 최소한 회색 물질을 조금 움직여보십시오.

나는 학원을 졸업하지 않았고... 군대에서 왔을 때 나는 XZ Spectrum을 위한 프로그램을 작성하는 데 관심을 갖게 되었습니다. BASIC에서 .. 그리고 그는 이미 어셈블러에서 그를 위해 프로그램을 작성한 다음 계속해서 작성하는 지점에 도달했습니다.

그리고 포럼이 없었고 인터넷을 3개로 나누었습니다(오늘 하나, 내일 두 번째, 모레-나). 그리고 인터넷은 비싸고 전화선을 통한 모뎀을 통해서도 가능했습니다.
라디오 벼룩시장에서 나는 프로그래밍에 관한 책을 샀다. 그리고 오게 된 곳까지 왔는데 지금은 학원을 졸업한 프로그래머로 동생이 어떻게, 무엇을 해야 할지 조언을 구합니다.
하지만 배우고 싶었고 그걸로 불태웠습니다. 그리고 너? 그리고 내 생각에 당신은 당신을 위해 모든 것을 해 줄 누군가가 필요합니다.

 
Artyom Trishkin :

나는 학원을 졸업하지 않았고... 군대에서 왔을 때 나는 XZ Spectrum을 위한 프로그램을 작성하는 데 관심을 갖게 되었습니다. BASIC에서 .. 그리고 그는 이미 어셈블러에서 그를 위해 프로그램을 작성한 다음 계속해서 작성하는 지점에 도달했습니다.

그리고 포럼이 없었고 인터넷을 3개로 나누었습니다(오늘 하나, 내일 두 번째, 모레-나). 그리고 인터넷은 비싸고 심지어 전화선을 통한 모뎀을 통해서도 가능했습니다.
라디오 벼룩시장에서 나는 프로그래밍에 관한 책을 샀다. 그리고 오게 된 곳까지 왔는데 지금은 학원을 졸업한 프로그래머로 동생이 어떻게, 무엇을 해야 할지 조언을 구합니다.
그러나 나는 배우고 싶었고, 그것에 불타올랐다 . 그리고 너? 그리고 내 생각에 당신은 당신을 위해 모든 것을 해 줄 누군가가 필요합니다.

인내와 목적을 위해 당신에게 경의와 찬사를 보냅니다. 당신이 말한 모든 것은 확실히 존중받을 가치가 있지만, 제 생각에는 모든 사람에게 같은 것을 요구하는 것은 무의미합니다. 더욱이 자신의 로봇을 만들고자 하는 모든 사람이 프로그래밍 언어를 배우려고 애쓰는 것은 아닙니다. 나는 이미 위에서 예를 들어 그러한 목표가 없다고 말했습니다. 문제는 이 작업을 수행하는 방법과 저 작업을 수행하는 방법에 대한 것입니다. 주제에 대해 너무 깊이 탐구하지 않고 참고서, 교과서, 포럼에서 솔루션을 찾고 있습니다. 아마도 이것이 겉보기에 기본적인 것들이 갑자기 이해할 수 없을 때 비슷한 상황이 발생하는 이유일 것입니다. 물론 "회백질을 옮겼다"고 해도 나는 여전히 해결책을 찾을 것이다. 예, 아마도 "수많은 CodeBase 예제"를 삽질하고 많은 시간을 낭비할 것입니다. 그러나 초보자에게 선언 된 도움 대신 언어 연구에 몰두해야한다면이 지점을 만든 이유와 그 이름이 불린 이유를 이해할 수 없게됩니다. 그래서 그들은 그것을 "우리는 MKL4와 MKL5를 함께 연구합니다."라고 부를 것입니다. 도움을 요청한 사람 중 누구도 그를 위해 모든 것이 이루어지기를 원하지 않으며 교과서에 대한 링크가 아니라 무엇이 무엇인지 설명하거나 특정 힌트를 주는 것으로 충분하다고 생각합니다. 사람이 그를 위해 수행해야 하는 경우 그는 구체적으로 다음과 같이 말합니다.

글쎄, 헛되이 돌렸다. 귀하의 발전을 기원합니다.

 
novichok2018 :

인내와 목적을 위해 당신에게 경의와 찬사를 보냅니다. 당신이 말한 모든 것은 확실히 존중받을 가치가 있지만, 제 생각에는 모든 사람에게 같은 것을 요구하는 것은 무의미합니다. 더욱이 자신의 로봇을 만들고자 하는 모든 사람이 프로그래밍 언어를 배우려고 애쓰는 것은 아닙니다. 나는 이미 위에서 예를 들어 그러한 목표가 없다고 말했습니다. 문제는 이 작업을 수행하는 방법과 저 작업을 수행하는 방법에 대한 것입니다. 주제에 대해 너무 깊이 탐구하지 않고 참고서, 교과서, 포럼에서 솔루션을 찾고 있습니다. 아마도 이것이 겉보기에 기본적인 것들이 갑자기 이해할 수 없을 때 비슷한 상황이 발생하는 이유일 것입니다. 물론 "회백질을 옮겼다"고 해도 나는 여전히 해결책을 찾을 것이다. 예, 아마도 "수많은 CodeBase 예제"를 삽질하고 많은 시간을 낭비할 것입니다. 그러나 초보자에게 선언 된 도움 대신 언어 연구에 몰두해야한다면이 지점을 만든 이유와 그 이름이 불린 이유를 이해할 수 없게됩니다. 그래서 그들은 그것을 "우리는 MKL4와 MKL5를 함께 연구합니다."라고 부를 것입니다. 도움을 요청한 사람 중 누구도 그를 위해 모든 것이 이루어지기를 원하지 않으며 교과서에 대한 링크가 아니라 무엇이 무엇인지 설명하거나 특정 힌트를 주는 것으로 충분하다고 생각합니다. 사람이 그를 위해 수행해야 하는 경우 그는 구체적으로 다음과 같이 말합니다.

글쎄, 헛되이 돌렸다. 귀하의 발전을 기원합니다.

말로 상처가 많습니다. 그러나 당신은 당신의 기능을 보여주지도 않았습니다.
 
Artyom Trishkin :
말로 상처가 많습니다. 그러나 당신은 당신의 기능을 보여주지도 않았습니다.

이것은 모욕이 아니라 실망입니다. 오랫동안 아이가 화를 내지 않습니다. 그리고 아무도 기능을 요구하지 않았고 즉시 찌르기 시작했습니다.

기능은 다음과 같습니다.

 int ItemsPerSecond( const int seconds, MqlTick &tick)
{
//---
   static MqlTick rates[];
   datetime time_start;
   int count= 0 ,size;
   bool insert= false ;
   double price_start= 0 ;
   long msc= 0 ;
//---
   time_start= TimeCurrent ()-seconds;
   
   for ( int i= 0 ;i< ArraySize (rates);i++)
   {
       if (rates[i].time> 0 && rates[i].time<time_start)
      {
         ZeroMemory (rates[i]);
      }
       else if (!insert && rates[i].time== 0 )
      {
         rates[i]=tick;
         insert= true ;
      }
       if (rates[i].time_msc> 0 && (rates[i].time_msc<msc || msc== 0 ))
      {
         price_start=rates[i].bid;
         msc=rates[i].time_msc;
      }
      
   }
   if (!insert)
   {
      size= ArraySize (rates);
       ArrayResize (rates,size+ 1 , 300 );
      rates[size]=tick;
   }
   if (price_start> 0 )count=( int )((tick.bid-price_start)/ Point );
   
   Comment ( "size: " + IntegerToString ( ArraySize (rates))+ "\r\n" + "count: " + IntegerToString (count));
//---
   return (count);   
} 

그리고 여기 내가 그것을 부르려고하는 방법이 있습니다 :

 void OnTick ()
  { 
  ItemsPerSecond( 3 ); 
  }

3은 3초입니다(제 생각에는).

 
novichok2018 :

포럼 에서 가격이 특정 시간(초) 동안 통과한 포인트 수를 계산하는 함수를 찾았습니다. int ItemsPerSecond(const int seconds, MqlTick &tick), 코드에 삽입하고 컴파일했습니다. 모든 것이 정상이지만 시도할 때 그것을 호출하면 컴파일러는 잘못된 매개 변수 수를 비명을 지릅니다.

내가 무엇을 잘못하고 있지?


novichok2018 :

그리고 여기 내가 그것을 부르려고하는 방법이 있습니다 :

 void OnTick ()
  { 
  ItemsPerSecond( 3 ); 
  }

도움말 읽기 https://www.mql5.com/ru/docs/basis/functionhttps://www.mql5.com/ru/docs/basis/variables/formal

호출된 함수에 몇 개의 매개변수가 있습니까?

 int ItemsPerSecond( const int seconds , MqlTick & tick )



novichok2018 :

더욱이 자신의 로봇을 만들고자 하는 모든 사람이 프로그래밍 언어를 배우려고 애쓰는 것은 아닙니다. 나는 이미 그러한 목표가 없습니다. 문제는 이 작업을 수행하는 방법과 저 작업을 수행하는 방법에 대한 것입니다. 주제에 대해 너무 깊이 탐구하지 않고 참고서, 교과서, 포럼에서 솔루션을 찾고 있습니다. 아마도 이것이 겉보기에 기본적인 것들이 갑자기 이해할 수 없을 때 비슷한 상황이 발생하는 이유일 것입니다. 물론 '회백질을 옮겼다'는 말은 여전히 해법을 찾을 것이다.

불행히도 당신은 MQL에 대한 자료조차 마스터하지 못했습니다. 그것은 스스로 프로그램을 작성하는 것도 아닙니다. 불행히도 당신은 아무 것도 배우지 못했습니다... 당신의 손가락으로... 당신은 영어 알파벳 "Hey, B, C, D ...", 그리고 지금 당신은 "Horosho"라는 영어 포럼에 글을 쓰려고 하고 있습니다. 그들은 이것이 영어에 대한 지식이 아니라는 것을 당신에게 씁니다. 이것은 전혀 .... 그리고 당신은 여기에 포럼이 있다는 사실에 다시 화가 났습니다. 여기에 초보자 지원 주제가 있으며 이미 모든 것을 읽었습니다 !!! 그리고 다시 원을 그리며, 이 멍청이들아! 왜 이 스레드! 나는 민감한 사람 중 하나가 아니에요!!! ...

 
Igor Makanu :


도움말 읽기 https://www.mql5.com/ru/docs/basis/functionhttps://www.mql5.com/ru/docs/basis/variables/formal

호출된 함수에 몇 개의 매개변수가 있습니까?



불행히도 당신은 MQL에 대한 자료조차 마스터하지 못했습니다. 그것은 스스로 프로그램을 작성하는 것도 아닙니다. 불행히도 당신은 아무 것도 배우지 못했습니다... 당신의 손가락으로... 당신은 영어 알파벳 "Hey, B, C, D ...", 그리고 지금 당신은 "Horosho"라는 영어 포럼에 글을 쓰려고 하고 있습니다. 그들은 이것이 영어에 대한 지식이 아니라는 것을 당신에게 씁니다. 이것은 전혀 .... 그리고 당신은 여기에 포럼이 있다는 사실에 다시 화가 났습니다. 여기에 초보자 지원 주제가 있으며 이미 모든 것을 읽었습니다 !!! 그리고 다시 원을 그리며, 이 멍청이들아! 왜 이 스레드! 나는 민감한 사람 중 하나가 아니에요!!! ...

많은 편지와 대화 상대의 나르시시즘과 굴욕 외에는 아무것도 없습니다. 그리고 두 번째 매개 변수를 어떤 형식으로 삽입합니까? 두 번째 매개변수를 동일한 결과의 숫자로 설정했습니다. 왜 그렇게 많은 "단어"가 있었습니까? 이전에 컴파일하고 테스트한 내 예제를 사용하여 솔루션을 보여줍니다. 아니면 부풀려진 자존심이 허락하지 않습니까?

 
novichok2018 :

아니면 부풀려진 자존심이 허락하지 않습니까?

좋아, 나는 당신과 의사 소통하지 않을 권리를 사용할 것입니다 (다행히도 당신은 나에게 이것을하도록 강요 할 수는 없습니다), 그러나 당신은 포럼에 글을 쓸 권리를 사용하지만 귀하에게 제공된 자료를 읽을 수는 없습니다. 공부하다?

 void OnTick ()
  { 
   MqlTick t;
// судя по исходнику в t нужно скопировать тики и вызывать так:
ItemsPerSecond( 3 ,t); 
  }

novichok2018 :

두 번째 매개변수를 동일한 결과의 숫자로 설정했습니다. 왜 그렇게 많은 "단어"가 있었습니까? 컴파일 및 테스트 후 내 예제에 대한 솔루션 표시

귀하의 예제에 ItemsPerSecond() 함수에 대한 올바른 호출을 추가했고, 컴파일하지 않았고, 테스트하지 않았으며, 터미널을 실행하지 않을 예정입니다. - 귀하의 질문에 답변했습니다.