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

 
YanSay :

이와 같이?

나는 다음과 같이 루프 할 것입니다 :

 for ( int i= OrdersTotal ()- 1 ; i> WRONG_VALUE ; i--)

나는 사후 감소 / 사후 증가에 익숙합니다. 접두사 증가 / 감소 와 달리 (도움에서) 접두사 증가 (++i) 및 감소 (--k)가 변수에 바로 적용되기 때문에 이해합니다. 표현식에서 이 변수를 사용합니다.

그러나 당신의 비교는 완전히 잘못되었습니다.

 if ( NormalizeDouble (( Ask - OrderStopLoss ()>Trailing* Point ), Digits ))

여기서 부울 값(두 값을 비교한 결과)을 정규화합니다. Ask-OrderStopLoss() 표현식의 값을 Trailing*Point 표현식의 값과 비교한 다음 이 비교 결과를 정규화합니다.

그리고 비교 결과는 거짓(0) 또는 참(0이 아님)만 될 수 있습니다. 그리고 이것은 0이거나 0이 아니어서 정규화합니다.

그리고 다음과 같이 비교해야 합니다.

 if ( NormalizeDouble (( Ask - OrderStopLoss ())-Trailing* Point , Digits )> DBL_EPSILON )
  {
   // Ask-OrderStopLoss() больше Trailing*Point
  }
 
Juer :
오류는 무엇을 의미합니까?


두 개의 객체가 있는 함수가 있습니다.

클래스 중 하나에는 4000개 이상의 필드(대부분 열거형)가 있는 구조가 있습니다.

이 오류를 어떻게 해야 합니까?

 bool               CheckCandleOneRules(CCandlePropertiesBase *candle,
                                      CCandleRule *rule,
                                       int dir);

컴파일할 때 로컬 변수의 크기가 너무 큽니다(512kb 이상).

어디를보고 무엇을해야합니까? 이 함수에는 CArrayString 문자열 배열이 있습니다. 오류가 관련되었을 수 있습니다.

Add() 메서드로 채운 다음 Clear() 를 수행한 다음Shutdown() 을 수행합니다. 그런 다음 Add() 메서드를 사용하여 새 데이터로 다시 채웁니다. 이 경우 배열은 0 요소부터 다시 채워집니다.

 

역사상 가장 긴 연속적인 다방향 양초 시퀀스를 찾는 방법은 무엇입니까?

예: 첫 번째는 약세, 두 번째는 약세, 세 번째는 약세 등입니다. 그런 초의 수를 적어야 하는 일종의 주기와 변수가 필요하다고 생각하지만 주기가 무엇인지, 어떻게, 어떤 조건으로 종료해야 하는지 모르겠습니다.

 
PolarSeaman :

역사상 가장 긴 연속적인 다방향 양초 시퀀스를 찾는 방법은 무엇입니까?

예: 첫 번째는 약세, 두 번째는 약세, 세 번째는 약세 등입니다. 그런 초의 수를 적어야 하는 일종의 주기와 변수가 필요하다고 생각하지만 주기가 무엇인지, 어떻게, 어떤 조건으로 종료해야 하는지 모르겠습니다.

CopyRates 및 MqlRates 구조의 배열을 통해 루프.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyRates
  • www.mql5.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 
Alexey Viktorov :

CopyRates 및 MqlRates 구조의 배열을 통해 루프.

감사합니다. 배열을 순환합니다. 어때요? 그리고 언제 빠져나갈까?

 
PolarSeaman :

감사합니다. 배열을 순환합니다. 어때요? 그리고 언제 빠져나갈까?

주문 목록과 동일합니다. 배열 의 인덱싱 방향에 주의하기만 하면 됩니다. 그리고 나가려면... 한 번은 필요하다면 마지막 마디 사이에서 검색을 하고, 순서를 위반하는 즉시 나가라. 표시자이면 배열의 끝에서 종료합니다.
 
PolarSeaman :

역사상 가장 긴 연속적인 다방향 양초 시퀀스를 찾는 방법은 무엇입니까?

예: 첫 번째는 약세, 두 번째는 약세, 세 번째는 약세 등입니다. 그런 초의 수를 적어야 하는 일종의 주기와 변수가 필요하다고 생각하지만 주기가 무엇인지, 어떻게, 어떤 조건으로 종료해야 하는지 모르겠습니다.

그리고 외환 생성 순간부터 최대 시퀀스를 계산하려면?

 
Alexey Viktorov :
그런 다음 시퀀스가 중단되는 즉시 종료합니다.

일반적으로 이 시퀀스를 작성하는 방법은 무엇입니까?

 
Vitaly Muzichenko :

그리고 외환 생성 순간부터 최대 시퀀스를 계산하려면?

좋겠음) 하지만 브로커의 이력이 제한되어 있으므로 모두 검색할 수 있습니다. 또는 지난 1년 동안, 즉 15. 04. 17부터

 
PolarSeaman :

일반적으로 이 시퀀스를 작성하는 방법은 무엇입니까?

글을 쓰는 방법, Alexei가 대답했습니다. 시간과 바람만 있다면 보이는 대로 코드를 작성하면 좋을 텐데.)

플래그를 통해 구현을 볼 수 있지만 시도를 시작하고 싶지도 않다는 것이 잘못된 것 같습니다.

추신. 그건 그렇고, 이것은 지표입니까, 아니면 고문입니까?