오류, 버그, 질문 - 페이지 2751

 
Igor Makanu :

_Symbol ....에 대한 액세스 권한이 있다는 역설이 있는 것 같지만 액세스 권한이 없습니다.

 const MqlTick _Tick; // Текущий _Symbol-тик.

MQL 언어는 거래 전략 개발을 위한 언어로 자리 잡고 있지만

이것이 필요하지 않은 시간입니다 ***. _Symbol은 상수이므로 문제가 없습니다( Symbol()을 호출 하는 것이 더 정확하지만). 틱은 변수입니다. const 로 선언했지만 값이 변경되었다고 어떻게 상상할 수 있습니까?

 
Alexey Navoykov :

const 로 선언했지만 값이 변경되었다고 어떻게 상상할 수 있습니까?

아아, 나는 당신과 동일합니다 ... VS C #로 작성하는 것이 더 논리적이고 이해하기 쉬운 동일한 이상 주의자 - 컴파일러는 상수의 논리적 개념을 C ++ 기계 검사 전에 분리하는 것을 허용하지 않습니다. 편집

질문하는 것을 부끄러워하지 마세요

https://www.mql5.com/ru/forum/1111/page2680#comment_15546412


결론 - C ++에서는 모두 논리적입니다.)

 
Alexey Navoykov :

이것이 필요하지 않은 시간입니다 ***. _Symbol은 상수이므로 문제가 없습니다(어쨌든 Symbol()을 호출 하는 것이 더 정확하지만 ).

무슨 일이야, 어떤 사용자를 위해 쓰여졌어?

 const string _Symbol = :: Symbol ();

틱은 변수입니다. const 로 선언했지만 값이 변경되었다고 어떻게 상상할 수 있습니까?

MT4에서 입찰/매도. 물론 RefreshRates()가 있습니다.


최근에 Digits가 잘못 설정된 기호를 찾았습니다. 브로커에게 수리를 요청했습니다. 그는 즉시 해냈습니다. _Digits 및 Digits()를 변경하여 값이 변경되었는지 확인하지 않았습니다. 그러나 기호가 즉석에서 의미를 변경할 수 있다는 사실입니다.

 
개발자 여러분, 차트 창을 WIN 10에서와 같이 다른 창처럼 보이게 할 수 있습니까? 또는 차트 창의 프레임과 터미널의 프레임 전체를 검은색으로 "다시 칠"하는 기능을 제공합니다.
예를 들어 색 구성표에 따라. 검은색 차트의 넓은 흰색 프레임은 불안하고 성가시며 부자가 되는 데 방해가 됩니다. 물론이죠!!
 
Igor Makanu :

아아, 나는 당신과 동일합니다 ... VS C #로 작성하는 것이 더 논리적이고 이해하기 쉬운 동일한 이상 주의자 - 컴파일러는 상수의 논리적 개념을 C ++ 기계 검사 전에 분리하는 것을 허용하지 않습니다. 편집

질문하는 것을 부끄러워하지 마세요

https://www.mql5.com/ru/forum/1111/page2680#comment_15546412

첫 번째 경우에는 클래스 멤버가 아닌 정적 변수를 변경합니다. 그래서 일관성이 전혀 없습니다.

 
Alexey Navoykov :

이것이 필요하지 않은 시간입니다 ***. _Symbol은 상수이므로 문제가 없습니다( Symbol()을 호출 하는 것이 더 정확하지만). 틱은 변수입니다. const 로 선언했지만 값이 변경되었다고 어떻게 상상할 수 있습니까?

MQL 측과 커널 측에서 constness를 혼동하고 있습니다. const 수정자를 사용하여 구조를 선언하는 핵심은 MQL 코드가 이를 변경할 수 없다는 것입니다. 유추하여 const 클래스 메서드를 설명하는 것이 가능합니다. 이는 이 메서드에서 개체가 변경되는 것을 방지하지만 개체 자체가 다른 조건에서 상태를 변경할 수 없다는 것을 의미하지는 않습니다.

 

비주얼 모드의 테스터에서 터미널의 전역 변수 (물론 에뮬레이트됨)를 볼 수 없는 이유는 무엇입니까?

테스터에서 전역 터미널 변수가 전혀 작동합니까?

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Глобальные переменные создаются путем размещения их объявлений вне описания какой-либо функции. Глобальные переменные определяются на том же уровне, что и функции, т. е. не локальны ни в каком блоке. Область видимости глобальных переменных - вся программа, глобальные переменные доступны из всех функций, определенных в программе...
 
Andrey Dik :

비주얼 모드의 테스터에서 터미널의 전역 변수 (물론 에뮬레이트됨)를 볼 수 없는 이유는 무엇입니까?

테스터에서 전역 터미널 변수가 전혀 작동합니까?

항상 가능했습니다(F3). 그들은 일한다.

 
Alexey Navoykov :

첫 번째 경우에는 클래스 멤버가 아닌 정적 변수를 변경합니다. 그래서 일관성이 전혀 없습니다.

이 스크립트를 실행하면 sum = 0 값을 반환해야 합니까?

아니면 이 스크립트는 일반적으로 컴파일 오류 를 생성해야 합니까?

 void OnStart ()
{
   int sum = 0 ;
   for ( int i = 0 ; i < 3 ; i++)
   {
       const int j = f(i);
      sum += j * i;
   }
   printf ( "sum = %i" , sum);
}
//+------------------------------------------------------------------+
int f( int v)
{
   return (v);
}
//+------------------------------------------------------------------+
 
Igor Makanu :

이 스크립트를 실행하면 sum = 0 값을 반환해야 합니까?

아니면 이 스크립트는 일반적으로 컴파일 오류 를 생성해야 합니까?

최소한 말도 안되는 문장을 작성하기 전에 디버거를 실행하십시오.
두 번째 주기에서는 i == 1 및 j == 1이고 세 번째 주기에서는 둘 다 1만큼 커집니다.