복소수 (complex, complexf)

내장 complex 형식은 두 개의 double 필드를 가진 구조체입니다:

struct complex
  {
   double             real;   // 실수부
   double             imag;   // 허수부
  };

내장 complexf 형식은 두 개의 float 필드를 가진 구조체입니다:

struct complexf
  {
   float              real;   // 실수부
   float              imag;   // 허수부
  };

 

complex 및 complexf 형식은 MQL5 함수의 매개변수로 값으로 전달할 수 있습니다(참조로만 전달되는 일반 구조체와 달리). DLL에서 가져온 함수의 경우 complex 및 complexf 형식은 참조로만 전달해야 합니다.

복소수 상수를 나타내려면 접미사 'i'를 사용합니다:

complex square(complex c)
  {
   return(c*c);
  }  
void OnStart()
  {
   Print(square(1+2i));  // 상수가 매개변수로 전달됩니다
  }
// 복소수의 문자열 표현인 "(-3,4)"가 출력됩니다 

현재 복소수에는 간단한 연산만 사용할 수 있습니다: =, +, -, *, /, +=, -=, *=, /=, ==, !=.

절댓값, 사인, 코사인 등을 계산할 수 있는 추가 수학 함수 지원은 나중에 추가될 예정입니다.

vectorc

complex 형식 숫자의 1차원 배열은 복소수를 처리하기 위한 것입니다. 템플릿 함수에서는 vector<complex> 표기를 사용할 수 있습니다.

matrixc

complex 형식 숫자의 2차원 배열은 복소수를 처리하기 위한 것입니다. 템플릿 함수에서는 matrix<complex> 표기를 사용할 수 있습니다.

vectorcf

complexf 형식 숫자의 1차원 배열은 복소수를 처리하기 위한 것입니다. 템플릿 함수에서는 vector<complexf> 표기를 사용할 수 있습니다.

matrixcf

complexf 형식 숫자의 2차원 배열은 복소수를 처리하기 위한 것입니다. 템플릿 함수에서는 matrix<complexf> 표기를 사용할 수 있습니다.