Errores, fallos, preguntas - página 882

 
A100:

Pregunta: ¿Está documentada la demora mínima entre llamadas

Huh, poco probable. No sólo eso, el máximo es probable también :) .
 

entonces es extraño que el código de error = 4754 sea el mismo que el de un billete conocido como inexistente

OrderSelect( 123456789/*произвольное число*/ );
Creo que podría haber llegado a un código diferente (ocupado por ejemplo) - alguien me dio el número de billete result.order
 
A100:

entonces es extraño que el código de error = 4754 sea el mismo que el de un billete conocido como inexistente

Sí, el evento aún no ha sido procesado por la terminal.

 
A100: entonces es extraño, que el código de error = 4754 es el mismo que para un billete a sabiendas inexistente - Creo que podríamos haber llegado a otro código (ocupado, por ejemplo) - alguien me dio el número de billete result.order

Aquí tenemos:

  • OrderSelect(ticket ) - copia el pedido activo por su ticket desde la base de datos del terminal a la caché de pedidos actuales para su posterior consulta de propiedades mediante las funciones OrderGetDouble(), OrderGetInteger() y OrderGetString()
  • En consecuencia, no se puede encontrar la orden en la base del terminal . Y por eso se devuelve el 4754. Incluso si el billete es conocido.
    Echa un vistazo a los artículos:

    Órdenes, posiciones y operaciones en MetaTrader 5;

    Eventos comerciales en MetaTrader 5

     
    Yedelkin:
    Gracias por estudiarlo, pero no entiendo muy bien - con este código
    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же
    

    Cuántas veces se hará una petición a la base de datos del terminal: 2 o 1

    En otras palabras, ¿tengo que controlar la frecuencia de las llamadas aOrderSelect( tiket20 ) no en términos de relevancia de la información, sino en términos de tiempo invertido en la frecuencia de solicitudes consecutivas a la base de terminales para la misma pregunta? (la pregunta no está directamente relacionada con la anterior)

     
    A100:
    Gracias por estudiarlo, pero no entiendo muy bien - con este código

    Cuántas veces se hará una petición a la base de datos del terminal: 2 o 1

    En otras palabras, ¿tengo que controlar la frecuencia de las llamadas aOrderSelect( tiket20 ) no en términos de relevancia de la información, sino en términos de tiempo invertido en la frecuencia de solicitudes consecutivas a la base de terminales para la misma pregunta? (la pregunta no está directamente relacionada con la anterior)

    Esperar el evento de la operación en OnTradeTransaction() y comprobar el estado de las órdenes, las posiciones y el historial de operaciones.
     

    A100:
    Спасибо изучил, но не совсем понял - при таком коде

    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же

    Cuántas veces se consultará la base del terminal: 2 o 1

    Dos llamadas consecutivas a la función OrderSelect() darán lugar a dos solicitudes consecutivas a la base de datos del terminal, independientemente del ticket que se especifique como parámetro de la función. Otra cosa es que si nuestro pedido (detalles del pedido) sigue sin aparecer en la base de datos del terminal durante esas peticiones consecutivas, la función seguirá devolviendo el código de error "pedido no encontrado".

    A100 : En otras palabras, ¿debería llevar la cuenta de la frecuencia de las llamadas aOrderSelect( tiket20 ) no en términos de relevancia de la información, sino en términos de tiempo invertido en la frecuencia de peticiones consecutivas a la base de datos del terminal para la misma pregunta? (la pregunta no está directamente relacionada con la anterior)

    Sí, necesito controlar la frecuencia de las llamadas de un tipo a la base de datos del terminal. Roche ya sugirió una de las opciones. No estoy acostumbrado a la función OnTradeTransaction() todavía (demasiado perezoso para filtrar todos los eventos de comercio), por lo tanto, actúo de una manera antigua - utilizando impulsado por eventos, si se puede decir así. Es decir, accedo a la base del terminal cuando llega un siguiente tick; si la orden no se detecta en un siguiente tick, simplemente "me salto el turno" en lo que respecta a esa orden.

     
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE); - ¿pregunta por qué si la optimización recoge m_period entonces va con algunos periodos y no con otros?
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    • www.mql5.com
    Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
     
    AndreyS:
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE); - la pregunta es ¿por qué si la optimización recoge m_period entonces con algunos periodos sigue y con otros no?

    La única pregunta imprecisa puede responderse con la misma respuesta imprecisa: periodos de gráficos
     

    AndreyS: 

      m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE);

    - pregunta por qué si la optimización selecciona m_period, algunos periodos se amortiguan y otros no?

    1. Introduzca el código correctamente.

    2. ¿Cómo se optimiza/selecciona el parámetro m_period? Es decir, ¿cuál es su valor durante su optimización?