MT5에 대한 소원 - 페이지 46

 
-Alexey- :
동의하지 않습니다. 문제가 있습니다. 여기에 예가 있습니다(그리드 10000x10000).

이중 x1=0.0011;

이중 y1=x1/10000;

이중 x2=0.0012;
이중 y2=x2/10000;

이중 c=y1-y2;
이중 d=MathPow(c,2);


printf(문자열(d));

결과: 9.999999999999968e-017

그리고 이 결과를 어떻게 해야 할까요? 다른 결과와 어떻게 비교합니까? DBL_EPSILON= 2.2204460492503131e-016. 또한 마지막 두 방전 - 참조하십시오. 그리고 이것은 단지 두 가지 작업입니다. 그리고 나는 이러한 작업을 더 많이 가지고 있습니다. 그리고이 정보에 따르면 특정 수의 작업을 통해 데이터를 복원해야합니다. 더 많은 손실. 저는 C와 같은 언어로 프로그래밍하는 방법을 배우고 있는데 그런 클래스를 만드는 것이 어렵습니다(또는 방법조차 모릅니다). 이것은 진지한 작업입니다. 그건 그렇고, 그런 수업이 있습니까? 그리고 개발자들은 모두를 위해 한 번에 개선할 수 있습니다. 100,000x100,000의 그리드를 만드는 것이 가능합니다.대체로 충분하지 않지만 더 많거나 적은 대표적인 샘플을 사용할 수 있습니다. 그리고 만약 그들이 임의의 정밀도를 위한 클래스를 만들었다면, 그것은 훨씬 더 나았을 것입니다 :) 울타리가 그것과 무슨 관계가 있습니까? 그것은 단지 데이터 유형일 뿐입니다. 존재한다면 그런 의미가 아니라 새롭게 떠오르는 니즈를 충족시켜준다는 의미다. 문제는 그것이 개발자들에게 어려운 일인지 아닌지 모른다는 것입니다. 그것이 어렵고 비용이 많이 든다면 - 그렇다면 나는 당신에게 동의합니다 - 왜 내 문제를 그들에게 전가하십시오. 그리고 어렵지 않다면 - 왜 하지 마십시오. 다시 - 높은 정확도로 거래 계산을 개발하기 위한 강력한 환경 - 여기에는 일종의 경쟁 우위가 있습니다. :). 그래서 나는 그들이 그것에 대해 어떻게 생각하는지 묻습니다.

숫자의 표준 형식이 무엇인지 다시 읽으십시오. 그러면 많은 질문이 사라질 것입니다.

표준보기에서 1.111e5는 9.999e4보다 크므로 비교가 매우 정확합니다. Mlyn은 교육 기사를 작성해야 합니다.

다음은 동일한 결과입니다. 9.999999999999968e-017은 숫자의 이진 표현과 연관되며, 이진 형식의 모든 숫자가 유한 분수로 표시되는 것은 아니며 일부는 무한수로 표시되므로 가수를 가장 가까운 값으로 반올림합니다. 유한 분수가 있는 숫자.

그런데 여기서 Shl은 double d=MathPow(c,2); 따라서 학위를 취득하는 것은 정확하지 않습니다. 이중으로 작업하는 경우 double d=MathPow(c,2.0); 그래서 버그인지 아닌지는 모르겠지만 숫자의 거듭제곱을 설정할 때 표시기의 유형도 따라야 합니다.

 
-Alexey- :
판타지는 전혀 관련이 없습니다. 내 질문은 가장 일반적인 분석 방법 을 구현할 가능성에 대해 발생했습니다. 즉 - 추세 및 주기를 제거한 후 남은 숫자로 작업합니다. 이 방법은 예외 없이 금융통계 교과서와 대학의 연수 매뉴얼에 대해 쓰여져 있다. 이것은 일종의 환상이 아니라 분석에 대한 표준 접근 방식 중 하나입니다. 그리고 전문화된 환경에는 그러한 접근 방식을 구현할 수 있는 수단이 있어야 합니다. 어떻게 생각하세요?
))))))))
 
Urain :

숫자의 표준 형식이 무엇인지 다시 읽으십시오. 그러면 많은 질문이 사라질 것입니다.

표준보기에서 1.111e5는 9.999e4보다 크므로 비교가 매우 정확합니다. Mlyn은 교육 기사를 작성해야 합니다.

다음은 동일한 결과입니다. 9.999999999999968e-017은 숫자의 이진 표현과 연관되며, 이진 형식의 모든 숫자가 유한 분수로 표시되는 것은 아니며 일부는 무한수로 표시되므로 가수를 가장 가까운 값으로 반올림합니다. 유한 분수가 있는 숫자.

1.111е5 및 9.999е4에 대해 명확합니다. 그러나 나는 이것들을 비교할 필요가 있습니다: 9.999999999999968e-017 (저는 추가로 숫자의 정확도 손실에 대해 썼습니다). 그리고 도움말에 따르면 DBL_EPSILON 보다 작은 차이를 가진 숫자는 구별할 수 없는 것으로 간주되어야 합니다. 명확하지 않은 경우 죄송합니다 - 그냥 알아내는 중입니다 :) 지표에 대한 정보를 주셔서 감사합니다.

 
Urain :

그런데 여기서 Shl은 double d=MathPow(c,2); 따라서 학위를 취득하는 것은 정확하지 않습니다. 이중으로 작업하는 경우 double d=MathPow(c,2.0); 그래서 버그인지 아닌지는 모르겠지만 숫자의 거듭제곱을 설정할 때 표시기의 유형도 따라야 합니다.

지수는 어떤 경우에도 double 유형 이어야 합니다.
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 

개발자 여러분, void 유형 이 값을 반환하도록 허용하거나 모든 유형의 값을 반환하는 새 클래스를 정의하십시오.

이 같은:

voids get ( int i)
  {
   if (i== 0 ) return (( int ) 2 );
   else
     {
       if (i== 1 ) return (( double ) 2 );
       else
        {
         if (i== 2 ) return (( string ) 2 );
        }
     }
  }

위협 이것이 필요한 이유에 대한 질문을 예상하여 사용자 정의 함수에서 다음 선언을 원합니다.

 int   Custom_ArraySize ( void   array[] );   
bool Custom_ ArraySort ( number&  array[] );

이를 위해서는 언어에 무언가를 추가해야 합니다. 약간의 여유를 주어야 하는 사용자를 너무 많이 확보했습니다.

한 사람이 코드를 작성하고 1500줄을 만들고 모든 코드가 이중으로 작동한다고 상상해 보십시오. int를 전송하려면 또 다른 1500줄에 대해 오버로드를 수행해야 합니다. 그리고 14가지 유형이 있습니다.

 
Urain :

한 사람이 코드를 작성하고 1500줄을 만들고 모든 코드가 이중으로 작동한다고 상상해 보십시오. int를 전송하려면 또 다른 1500줄에 대해 오버로드를 수행해야 합니다. 그리고 14가지 유형이 있습니다.

OOP를 사용합니다.

 
lea :

OOP를 사용합니다.

내가 autocodes 또는 무엇에 쓰는 것 같습니까?

개발자에게:

쓰기 형제애의 운명을 완화하는 옵션으로 배열 유형을 캐스팅 하여 최소한 그러한 호출이 이루어질 수 있도록 합니다.

 void OnStart ()
  {
   int array[ 10 ];
   func(( double )array)
  }
//+------------------------------------------------------------------+
void func( double &array[]){};
 
Urain :

내가 자동 코드에 글을 쓰는 것 같습니까?

그러한 언어 확장이 필요했다는 사실에 기초하여 - 분명히 그렇습니다.

ps 문제를 해결할 때 C++ 컴파일러만 있었다면 언어 표준을 수정하자는 제안을 듣겠습니까?

 
lea :

그러한 언어 확장이 필요했다는 사실에 기초하여 - 분명히 그렇습니다.

ps 문제를 해결할 때 C++ 컴파일러만 있었다면 언어 표준을 수정하자는 제안을 듣겠습니까?

변환기와 컴파일러를 혼동하지 마십시오. mql은 실제로 컴파일러가 아니며 안전한 C++ 함수 호출 을 설명하는 컴파일러입니다.

게다가, mql5는 개발의 활성 단계에 있습니다. 따라서 변경을 요청하는 것은 매우 적절합니다.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
Urain :

변환기와 컴파일러를 혼동하지 마십시오. mql은 실제로 컴파일러가 아니며 안전한 C++ 함수 호출 을 설명하는 컴파일러입니다.

게다가 mql5는 개발이 활발한 단계에 있습니다. 따라서 변경을 요청하는 것은 매우 적절합니다.

자, 이것이 그렇게 중요하다면 C ++가 아니라 Java를 사용하겠습니다. 바이트코드로도 번역이 가능합니다 :) 언어표준 수정 부탁드립니다.

제네릭 유형 추가 요청은 충분하지 않습니다. 템플릿을 요청하십시오. 그리고 제네릭 유형의 경우 OOP로 충분합니다.