mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 224

 
Maxim Kuznetsov #:

if (ChartID()!=0) {

    // Graphical chart presents
    // draws on it

}

무슨 뜻인가요? 좀 더 자세히 설명해 주시겠어요?

 
Andrey Dik #:

무슨 뜻인가요? 좀 더 자세히 설명해 주시겠어요?

앤드류, 여긴 잘못된 스레드예요. 다른 스레드에서 찾아보셔야 합니다.

 
Artyom Trishkin #:

앤드류, 이 스레드는 잘못된 스레드입니다. 다른 스레드에서 그런 내용을 찾아보셔야 합니다.

왜 잘못된 것이 아닌가요? 우리는 mql5의 특성에 대해 이야기하고 있으므로 올바른 것입니다.
 
Andrey Dik #:

의견 있으신 분?

이렇게 해볼까요?

 // --- если обычное тестирование без оптимизации и визуализации
bool IsUsualTester = (MQLInfoInteger(MQL_TESTER) && !MQLInfoInteger(MQL_OPTIMIZATION) && !MQLInfoInteger(MQL_VISUAL_MODE));

 // --- если не тестирование и не оптимизация, значит видимый график
bool IsVisibleChart = (!IsUsualTester && !MQLInfoInteger(MQL_OPTIMIZATION));
 
Andrey Dik #:

의견 있으신 분?

Andrei, 기사 (섹션 2. MQL5의 모드)를 참조하세요. 도움이 될 수 있습니다.)

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

무슨 뜻인가요? 좀 더 자세히 설명해 주시겠어요?

어떤 사람들에게는 이것이 올바른 분기가 아닌 것처럼 보일 수 있지만 간단합니다:

ChartID가 합당한 값을 제공한다면 GUI에 이를 위한 공간이 있고 그 안에서 작동한다는 의미이므로 시각적_테스터 또는 터미널에서 작업할 수 있습니다.

ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE)가 잘못된 핸들을 반환하면 테스터 내부에 있는 것입니다. (또는 MQ VPS일 수도 있습니다. 건드리지 않아서 잘 모르겠습니다).

 
Maxim Kuznetsov #:

어떤 사람들에게는 엉뚱한 스레드처럼 보일 수 있지만 간단합니다:

ChartID가 합당한 값을 제공한다면 GUI에 이를 위한 공간이 있고 그 안에서 작동한다는 의미이므로 시각적_테스터를 사용하거나 터미널에서 작업할 수 있습니다.

ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE)가 유효하지 않은 핸들을 반환하면 테스터 내부에 있는 것입니다. (또는 MQ VPS일 수도 있습니다. 건드리지 않아서 잘 모르겠습니다).

테스터에는 가상의 차트이긴 하지만 차트도 있으므로 막다른 골목입니다.

 
Andrey Dik #:

테스터에는 가상이긴 하지만 차트도 있으므로 막다른 길입니다.

해당 스레드에서 답변해 드렸습니다(질문은 동일합니다).

 
Andrey Dik #:

의견 있으신 분?

//true если работа на чарте или в визуальном тестировании, в остальных случаях false
bool CheckMode ()
{
  if(MQLInfoInteger(MQL_DEBUG)        ||
     MQLInfoInteger(MQL_PROFILER)     ||
    (MQLInfoInteger(MQL_TESTER) && ! MQLInfoInteger(MQL_VISUAL_MODE)) ||
     MQLInfoInteger(MQL_OPTIMIZATION) ||
     MQLInfoInteger(MQL_FRAME_MODE)) return false;

  return true;
}
 
Artyom Trishkin #:

해당 스레드(동일한 질문)에서 답변해 드렸습니다.

글쎄요, 당신은 모든 권리를 가지고 있습니다. 주제에서 벗어난 부분은 삭제하세요... 뭐가 문제인가요?

사유: