Mt4 지원 종료. - 페이지 18

 
Artyom Trishkin :

작업은 다음과 같습니다. 새 막대 를 여는 사실을 반환하는 함수를 만들어야 합니다. EURUSD М5의 첫 번째.

더 나아가 작업이 확장될 것입니다.

알았습니다.

다음과 같은 함수 프로토타입이 적합하다고 가정합니다. bool New_bar(int Timeframe = M1) ?

즉, 사용자는 함수를 호출하고 필요한 시간 프레임의 식별자를 함수에 전달합니다. 응답으로 - true/false(새 막대가 열렸는지 열리지 않았는지)?

이것이 당신이 필요로하는 것이라면 지금 쓰려고 노력할 것입니다.

 
Alexey Viktorov :

분명한. 잘못된 것을 공격했습니다 ... 참조로 변수를 전달하는 방법, 알다시피 나는 논쟁하지 않습니다.

이제 코드 작성의 편의를 위해 지정된 기간과 현재 기간을 결정해야 하는 경우. 현재 변수에 대한 변수를 생성해야 한다는 것이 밝혀졌습니다. 맞습니까?

잠깐, 문제의 상태를 이해합니다.
 
Реter Konow :

알았습니다.

다음과 같은 함수 프로토타입이 적합하다고 가정합니다. bool New_bar(int Timeframe = M1) ?

즉, 사용자는 함수를 호출하고 필요한 시간 프레임의 식별자를 함수에 전달합니다. 응답으로 - true/false(새 막대가 열렸는지 열리지 않았는지)를 받습니다.

이것이 당신이 필요로하는 것이라면 지금 쓰려고 노력할 것입니다.

사용자가 "M5에 새 막대 가 나왔습니까?"라고 묻는 함수를 작성하기만 하면 됩니다. 그리고 예/아니오 대답을 얻습니다.

예를 들어:

 if (IsNewBar( PERIOD_M5 )) // Вопрос: наступил ли новый бар на М5
  {
   // Да, наступил
  }
else
  {
   // Нет, не наступил
  }

다음은 IsNewBar() 함수이며 작업의 추가 확장으로 더 개발 및 비틀기/회전할 것입니다.

 
Artyom Trishkin :

사용자가 "M5에 새 막대 가 나왔습니까?"라고 묻는 함수를 작성하기만 하면 됩니다. 그리고 예/아니오 대답을 얻습니다.

예를 들어:

다음은 IsNewBar() 함수이며 작업의 추가 확장으로 더 개발 및 비틀기/회전할 것입니다.

알았습니다. 좋은. 시간을 주세요. 코드를 작성하겠습니다. 러시아어로만 가능합니다. 더 친숙합니다.
 
Реter Konow :

알았습니다.

다음과 같은 함수 프로토타입이 적합하다고 가정합니다. bool New_bar( int Timeframe = M1 ) ?

즉, 사용자는 함수를 호출하고 필요한 시간 프레임의 식별자를 함수에 전달합니다. 응답으로 - true/false(새 막대가 열렸는지 열리지 않았는지)?

이것이 당신이 필요로하는 것이라면 지금 쓰려고 노력할 것입니다.

독학 조언:

이제 mql4에서 mql5로 쉽게 전환할 수 있도록 int 기간 변수가 아닌 열거형 변수를 사용하는 것이 좋습니다. ENUM_TIMEFRAMES

 
Реter Konow :
알았습니다. 좋은. 시간을 주세요. 코드를 작성하겠습니다. 러시아어로만 가능합니다. 더 친숙합니다.

훨씬 더 좋습니다. 러시아어와 러시아어 사용자의 경우 더 이해하기 쉽습니다.

 
George Merts :

... 상속과 다형성 ...


나는 당신의 작업이 그것들 없이는 해결될 수 없다고 생각하게 되어 기쁩니다. 내 말을 못 믿겠다면 자세히 살펴봐야 합니다. :)


Artyom Trishkin :

사용자가 "M5에 새 막대 가 나왔습니까?"라고 묻는 함수를 작성하기만 하면 됩니다. 그리고 예/아니오 대답을 얻습니다.

예를 들어:

다음은 IsNewBar() 함수이며 작업의 추가 확장으로 더 개발 및 비틀기/회전할 것입니다.

트위스트

 bool fb_Is_New_Bar( ENUM_TIMEFRAMES e_TF) {
   int
    i_This_Bar = int ( floor ( TimeCurrent () / PeriodSeconds (e_TF))),
    i_Last_Bar = int ( GlobalVariableGet ( "LastBar " + string (e_TF)))
  ;
   if (i_This_Bar == i_Last_Bar) return ( false );
  
   GlobalVariableSet ( "LastBar " + string (e_TF), i_This_Bar);
   return ( true );
}
 

이것은 대화에서 약간 벗어난 주제가 될 것입니다.

이제 앉아서 감자 껍질을 벗기고 생각이 떠올랐다

개발자와 프로그래머가 여기에 앉아 있다면 µl에서 이것을 하지 않는 이유는 무엇입니까?


- 터미널, 스카이프 및 다른 터미널을 실행하는 자체 인터페이스가 있는 자급자족 파일

- 터미널 mt 4(5)에서 선택한 목록의 봇을 3개로 분할(드롭다운 메뉴)

 
Alexander Puzanov :

...

트위스트


꼬인. 끔찍한 브레이크.

 
Mickey Moose :

이것은 대화에서 약간 벗어난 주제가 될 것입니다.

이제 앉아서 감자 껍질을 벗기고 생각이 떠올랐다

개발자와 프로그래머가 여기에 앉아 있다면 µl에서 이것을 하지 않는 이유는 무엇입니까?


- 터미널, 스카이프 및 다른 터미널을 실행하는 자체 인터페이스가 있는 자급자족 파일

- 터미널 mt 4(5)에서 선택한 목록의 봇을 3개로 분할(드롭다운 메뉴)


무엇 때문에?