Errori, bug, domande - pagina 882

 
A100:

Domanda: il ritardo minimo tra le chiamate è documentato

Huh, improbabile. Non solo, anche il massimo è probabile :) .
 

allora è strano che il codice di errore = 4754 sia lo stesso di un biglietto noto come inesistente

OrderSelect( 123456789/*произвольное число*/ );
Penso che avrei potuto inventare un codice diverso (occupato per esempio) - qualcuno mi ha dato il numero del biglietto result.order
 
A100:

allora è strano che il codice di errore = 4754 sia lo stesso di un biglietto noto come inesistente

Sì, l'evento non è stato ancora elaborato dal terminale.

 
A100: allora è strano, quel codice di errore = 4754 è lo stesso di un biglietto consapevolmente inesistente - penso che avremmo potuto inventare un codice diverso (occupato per esempio) - qualcuno mi ha dato il numero del biglietto result.order

Qui abbiamo:

  • OrderSelect(ticket ) - copia l'ordine attivo dal suo ticket dal database del terminale nella cache degli ordini correnti per un ulteriore riferimento alle sue proprietà usando le funzioni OrderGetDouble(), OrderGetInteger() e OrderGetString()
  • Corrispondentemente, l'ordine non può essere trovato nella base del terminale . Ed è per questo che viene restituito il 4754. Anche se il biglietto è noto.
    Date un'occhiata agli articoli:

    Ordini, posizioni e compravendite in MetaTrader 5;

    Eventi commerciali in MetaTrader 5

     
    Yedelkin:
    Grazie per averlo studiato, ma non capisco bene - con questo codice
    OrderSelect( tiket20 );
    OrderSelect( tiket20 ); //обращения последовательные, тикет то же
    

    Quante volte sarà fatta una richiesta al database del terminale: 2 o 1

    In altre parole, devo monitorare la frequenza delle chiamate aOrderSelect( tiket20 ) non in termini di rilevanza dell'informazione, ma in termini di tempo speso per la frequenza delle richieste consecutive alla base terminale per la stessa domanda? (la domanda non è direttamente collegata alla precedente)

     
    A100:
    Grazie per averlo studiato, ma non capisco bene - con questo codice

    Quante volte sarà fatta una richiesta al database del terminale: 2 o 1

    In altre parole, devo monitorare la frequenza delle chiamate aOrderSelect( tiket20 ) non in termini di rilevanza dell'informazione, ma in termini di tempo speso per la frequenza delle richieste consecutive alla base terminale per la stessa domanda? (la domanda non è direttamente collegata alla precedente)

    Attendere l'evento di compravendita in OnTradeTransaction() e controllare lo stato degli ordini, delle posizioni e della storia della compravendita.
     

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

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

    Quante volte sarà interrogata la base terminale: 2 o 1

    Due chiamate consecutive alla funzione OrderSelect() risulteranno in due richieste consecutive al database del terminale, indipendentemente dal biglietto specificato come parametro della funzione. Un'altra cosa è che se il nostro ordine (dettagli dell'ordine) non appare ancora nel database del terminale durante queste richieste consecutive, la funzione restituirà ancora il codice di errore "ordine non trovato".

    A100 : In altre parole, dovrei tenere traccia della frequenza delle chiamate aOrderSelect( tiket20 ) non in termini di rilevanza dell'informazione, ma in termini di tempo speso sulla frequenza delle richieste consecutive al database terminale per la stessa domanda? (la domanda non è direttamente collegata alla precedente)

    Sì, ho bisogno di controllare la frequenza delle chiamate di un tipo al database del terminale. Roche ha già suggerito una delle opzioni. Non sono ancora abituato alla funzione OnTradeTransaction() (troppo pigro per filtrare tutti gli eventi commerciali), quindi agisco in un modo vecchio stile - usando l'event-driven, se posso dirlo. Cioè, accedo alla base del terminale quando arriva un prossimo tick; se l'ordine non viene rilevato a un prossimo tick, semplicemente "salto il turno" per quanto riguarda quell'ordine.

     
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_periodo,maperiod,0,MODE_EMA,PRICE_CLOSE); - domanda perché se l'ottimizzazione prende m_periodo allora va con alcuni periodi e non con altri?
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
    • www.mql5.com
    Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
     
    AndreyS:
    m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_periodo,maperiod,0,MODE_EMA,PRICE_CLOSE); - la domanda è perché se l'ottimizzazione prende m_periodo poi con alcuni periodi va avanti e con altri no?

    All'unica domanda vaga si può rispondere con la stessa risposta vaga - Periodi di grafici
     

    AndreyS: 

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

    - domanda: perché se l'ottimizzazione seleziona m_periodo, allora alcuni periodi sono smorzati e altri no?

    1. Inserire il codice correttamente.

    2. Come viene ottimizzato/selezionato il parametro m_periodo? Cioè, qual è il suo valore durante la sua ottimizzazione?