초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 820

 

우리는 재료를 연구합니다. 두 소나무 사이에 얽힌 ..

다음이 있습니다.

 int OnCalculate ( const int rates_total,       // размер массива price[] 
                 const int prev_calculated,   // обработано баров на предыдущем вызове 
                 const int begin,             // откуда начинаются значимые данные 
                 const double & price[]       // массив для расчета 

시작 에 대한 질문:

1. 무엇입니까? 값 = 0. 인덱스입니까?

2. 본질적으로 무엇입니까? 의미 있는 데이터란 무엇입니까? 그리고 또 뭐가 있나요?

3. 이 값은 어떤 기준으로 계산됩니까? 그리고 가능한 옵션은 무엇입니까? 예를 들어 의미 있는 데이터는 인덱스 0에서 시작하지 않고 인덱스 5에서 시작합니까?

4. 이 매개변수가 OnCalculate 에 삽입된 이유는 무엇입니까?

도움말에 이것이 쓰여진 곳을 놓쳤다면 코를 찌르십시오.

 

누군가 디버그 창에서 이러한 다중값 값을 제거하는 방법을 말해 줄 수 있습니까(변수가 정규화됨)?


 
Андрей :

누구든지 디버그 창에서 이러한 다중값 값을 제거하는 방법을 말해 줄 수 있습니까(변수가 정규화됨)?


문자열 변수를 추가 하고 DoubleToString()으로 설정한 다음 디버그 창에서 확인합니다.

이 모든 것을 매크로 #ifdef _DEBUG에 넣을 수 있습니다.

 
Alexey Viktorov :

문자열 변수를 추가 하고 DoubleToString()으로 설정한 다음 디버그 창에서 확인합니다.

이 모든 것을 매크로 #ifdef _DEBUG에 넣을 수 있습니다.

감사합니다. 하지만 문제가 발생합니다. 이러한 값은 다중 값이며 "빛의 유희"와 같은 현실에 해당합니까?

요점은 아름답게 보이는 것이 아니라 추가 계산에 사용되는 값입니다.

 
Андрей :

감사합니다. 하지만 문제가 발생합니다. 이러한 값은 다중 값이며 "빛의 유희"와 같은 현실에 해당합니까?

요점은 아름답게 보이는 것이 아니라 추가 계산에 사용되는 값입니다.

이러한 다중 값은 해당합니다. 그리고 그들은 특히 비교 측면에서 때때로 그림을 망칩니다.
확실히 하려면 주어진 정밀도로 NormalizeDouble()을 사용 하는 것이 좋습니다.
 
그리고 아무도 Begin에 대해 그렇게 말할 수 없었습니다. 보시다시피, 이것은 완전히 외국의 것입니다 ..
 
User_mt5 :
이러한 다중 값은 해당합니다. 그리고 그들은 특히 비교 측면에서 때때로 그림을 망칩니다.
확실히 하려면 주어진 정밀도로 NormalizeDouble()을 사용 하는 것이 좋습니다.
따라서 이러한 "나쁜 놈"도 정규화된 값에서 발생합니다. 이 수프(MT5)에 뭔가 빠진 것 같습니다.
 
Андрей :
따라서 이러한 "나쁜 놈"도 정규화 된 값에서 발생합니다. 이 수프(MT5)에 뭔가 빠진 것 같습니다.

지금까지는 정상화가 궁극의 진리라고 순진하게 믿었다.
문제가 발생한 코드 조각을 보여줄 수 있습니까? 아마도 이유는 다른 것입니다.

 
User_mt5 :

지금까지는 정상화가 궁극의 진리라고 순진하게 믿었다.
문제가 발생한 코드 조각을 보여줄 수 있습니까? 아마도 이유는 다른 것입니다.

그러나 "효과"를 보기에 충분한 단편이 있습니다.

결과는 다음과 같습니다.

정규화와 함께 무엇을, 없이 무엇을 - 동일합니다.

 

Андрей :

정규화와 함께 무엇을, 없이 무엇을 - 동일합니다.

응.

일반적으로 비교 표현에서(마치 "즉석에서") 정규화가 작동합니다.
내가 이해하는 한, 간단한 계산 과정에서 문제가 발생합니다.
그러나 숫자가 정규화되면 정규화된 숫자 를 저장해야 합니다.

하지만 아아.

이에 대해 개발자들의 의견이 궁금합니다.

사유: