Erreurs, bugs, questions - page 882

 
A100:

Question : Le délai minimum entre les appels est-il documenté ?

Huh, peu probable. Non seulement cela, mais le maximum est probable aussi :) .
 

alors il est étrange que le code d'erreur = 4754 soit le même que pour un ticket inexistant connu

OrderSelect( 123456789/*произвольное число*/ );
Je pense que j'aurais pu trouver un code différent (occupé par exemple) - quelqu'un m'a donné le numéro de ticket result.order
 
A100:

alors il est étrange que le code d'erreur = 4754 soit le même que celui d'un ticket connu inexistant

Oui, l'événement n'a pas encore été traité par le terminal.

 
A100: alors c'est étrange, ce code d'erreur = 4754 est le même que pour un ticket sciemment inexistant - je pense que nous aurions pu trouver un code différent (occupé par exemple) - quelqu'un m'a donné le numéro de ticket result.order

Ici, nous avons :

  • OrderSelect(ticket ) - copie la commande active par son ticket de la base de données du terminal dans le cache des commandes en cours pour une référence ultérieure à ses propriétés en utilisant les fonctions OrderGetDouble(), OrderGetInteger() et OrderGetString()
  • Par conséquent, l'ordre ne peut être trouvé dans la base du terminal . Et c'est pourquoi 4754 est retourné. Même si le billet est connu.
    Jetez un coup d'œil aux articles :

    Ordres, positions et transactions dans MetaTrader 5;

    Événements commerciaux dans MetaTrader 5

     
    Yedelkin:
    Merci de l'étudier, mais je ne comprends pas bien - avec ce code
    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же
    

    Combien de fois une demande sera faite à la base de données du terminal : 2 ou 1

    En d'autres termes, dois-je surveiller la fréquence des appelsOrderSelect( tiket20 ) non pas en termes de pertinence de l'information, mais en termes de temps passé sur la fréquence des demandes consécutives à la base terminale pour la même question ? (la question n'est pas directement liée à la précédente)

     
    A100:
    Merci de l'étudier, mais je ne comprends pas bien - avec ce code

    Combien de fois une demande sera faite à la base de données du terminal : 2 ou 1

    En d'autres termes, dois-je surveiller la fréquence des appelsOrderSelect( tiket20 ) non pas en termes de pertinence de l'information, mais en termes de temps passé sur la fréquence des demandes consécutives à la base terminale pour la même question ? (la question n'est pas directement liée à la précédente)

    Attendez l'événement de transaction dans OnTradeTransaction() et vérifiez l'état des ordres, des positions et de l'historique des transactions.
     

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

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

    Combien de fois la base terminale sera-t-elle interrogée : 2 ou 1.

    Deux appels consécutifs à la fonction OrderSelect() entraîneront deux requêtes consécutives à la base de données du terminal, quel que soit le ticket spécifié comme paramètre de la fonction. Par ailleurs, si notre commande (détails de la commande) n'apparaît toujours pas dans la base de données du terminal pendant ces requêtes consécutives, la fonction renverra toujours le code d'erreur "commande non trouvée".

    A100 : En d'autres termes, dois-je suivre la fréquence des appelsOrderSelect( tiket20 ) non pas en termes de pertinence de l'information, mais en termes de temps passé sur la fréquence des requêtes consécutives à la base de données terminale pour la même question ? (la question n'est pas directement liée à la précédente)

    Oui, je dois contrôler la fréquence des appels d'un seul type dans la base de données des terminaux. Roche a déjà suggéré une des options. Je ne suis pas encore habitué à la fonction OnTradeTransaction() (trop paresseux pour filtrer tous les événements de transaction), c'est pourquoi j'agis à l'ancienne - en utilisant l'événementiel, si je puis dire. C'est-à-dire que je m'adresse à la base du terminal lorsqu'un prochain tick arrive ; si l'ordre n'est pas détecté lors d'un prochain tick, je "saute simplement le tour" en ce qui concerne cet ordre.

     
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE) ; - question pourquoi si l'optimisation prend m_period alors elle va avec certaines périodes et pas avec certaines ?
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    • www.mql5.com
    Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
     
    AndreyS:
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,maperiod,0,MODE_EMA,PRICE_CLOSE) ; - la question est de savoir pourquoi si l'optimisation prend m_period alors avec certaines périodes elle continue et avec d'autres non ?

    La seule réponse possible à cette question vague est la même réponse vague - Périodes de graphiques
     

    AndreyS: 

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

    - question : pourquoi, si l'optimisation sélectionne m_period, certaines périodes sont amorties et d'autres non ?

    1. Insérez le code correctement.

    2. comment le paramètre m_period est-il optimisé/sélectionné ? C'est-à-dire quelle est sa valeur pendant votre optimisation ?

    Raison: