// --- если обычное тестирование без оптимизации и визуализацииbool IsUsualTester = (MQLInfoInteger(MQL_TESTER) && !MQLInfoInteger(MQL_OPTIMIZATION) && !MQLInfoInteger(MQL_VISUAL_MODE));
// --- если не тестирование и не оптимизация, значит видимый графикbool IsVisibleChart = (!IsUsualTester && !MQLInfoInteger(MQL_OPTIMIZATION));
В статье рассматривается идея мультирежимного программирования торговых роботов на MQL5. Используется объектно-ориентированный подход для реализации каждого из режимов. Приводится пример иерархии режимных классов и пример классов для тестирования. Предполагается, что мультирежимное программирование торговых роботов полностью учитывает особенности каждого режима работы MQL5-советника. Для идентификации режимов создаются функции и перечисление.
Puede parecer a algunos que esta no es la rama correcta, pero es simple:
si ChartID da razonable - significa que hay un lugar para él en GUI y funciona en él se puede dibujar, así que o VISUAL_TESTER o simplemente trabajar en terminal.
Si ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE) devuelve un handle inválido, entonces estamos dentro del tester. (O quizás MQ VPS - no lo he tocado, no lo sé).
A algunos les parecerá un hilo equivocado, pero es sencillo:
si ChartID da razonable - significa que hay un lugar para él en GUI y funciona en él se puede dibujar, así que o VISUAL_TESTER o simplemente trabajar en terminal.
Si ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE) devuelve un handle inválido, entonces estamos dentro del tester. (O quizás MQ VPS - no lo he tocado, no lo sé).
El probador también tiene un gráfico, aunque virtual, así que esto es un callejón sin salida.
//true если работа на чарте или в визуальном тестировании, в остальных случаях falsebool CheckMode ()
{
if(MQLInfoInteger(MQL_DEBUG) ||
MQLInfoInteger(MQL_PROFILER) ||
(MQLInfoInteger(MQL_TESTER) && ! MQLInfoInteger(MQL_VISUAL_MODE)) ||
MQLInfoInteger(MQL_OPTIMIZATION) ||
MQLInfoInteger(MQL_FRAME_MODE)) returnfalse;
returntrue;
}
if (ChartID()!=0) {
// Graphical chart presents
// draws on it
}
¿Qué significa eso? ¿Puede ampliarlo?
¿Qué significa eso? ¿Puede ampliarlo?
Andrew, este es el hilo equivocado. Tienes que informarte en otro hilo.
Andrew, este es el hilo equivocado. Deberías averiguar esas cosas en otro hilo.
¿Alguien tiene alguna idea?
¿Quizás probar esto?
¿Alguien tiene alguna idea?
Andrei, por favor, mira el artículo (Sección 2. Modos en MQL5), puede que te ayude )).
¿Qué significa eso? ¿Puede ampliarlo?
Puede parecer a algunos que esta no es la rama correcta, pero es simple:
si ChartID da razonable - significa que hay un lugar para él en GUI y funciona en él se puede dibujar, así que o VISUAL_TESTER o simplemente trabajar en terminal.
Si ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE) devuelve un handle inválido, entonces estamos dentro del tester. (O quizás MQ VPS - no lo he tocado, no lo sé).
A algunos les parecerá un hilo equivocado, pero es sencillo:
si ChartID da razonable - significa que hay un lugar para él en GUI y funciona en él se puede dibujar, así que o VISUAL_TESTER o simplemente trabajar en terminal.
Si ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE) devuelve un handle inválido, entonces estamos dentro del tester. (O quizás MQ VPS - no lo he tocado, no lo sé).
El probador también tiene un gráfico, aunque virtual, así que esto es un callejón sin salida.
El probador también tiene un gráfico, aunque virtual, por lo que es un camino sin salida
Te he contestado en ese hilo (las preguntas son las mismas).
¿Alguien tiene alguna idea?
Te contesté en ese hilo (la misma pregunta).
Bueno, tienes todos los derechos. Borrar donde no viene a cuento... ¿Cuál es el problema?