MT5 e la velocità in azione - pagina 76

 
Renat Fatkhullin:

Andate a studiare l'argomento (per almeno 10 anni) e non gettate rifiuti in questo thread, per favore.

Qui stiamo discutendo di questioni con una formazione diversa e una classe diversa.

Cari colleghi sviluppatori che hanno dato metà della loro vita per studiare l'argomento in discussione.

Per favore, rispondi a una semplice domanda dell'utente.

Come potrebbe un terminale lavorare più velocemente e consumare meno risorse se ha 99 Expert Advisors?

1. Sullo stesso simbolo

-Utilizzando OnTick e ottenendo i prezzi correnti tramite SymbolInfoTick

-utilizzando OnBookEvent e ottenendo i prezzi correnti tramite MarketBookGet

2. lo stesso, ma su simboli diversi

Grazie!
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Dmi3:

Cari colleghi sviluppatori che hanno dato metà della loro vita per studiare l'argomento in discussione.

Per favore, rispondi a una semplice domanda dell'utente.

In che modo il terminale lavorerebbe più velocemente e consumerebbe meno risorse se ci fossero 99 Expert Advisors?

1. Sullo stesso simbolo

-Utilizzando OnTick e ottenendo i prezzi correnti tramite SymbolInfoTick

-utilizzando OnBookEvent e ottenendo i prezzi correnti tramite MarketBookGet

2. lo stesso, ma su simboli diversi.

Grazie!

Cosa ti fa pensare che sia una domanda semplice?

Caro collega, se sei uno sviluppatore, devi controllare tutto tu stesso. Oppure potete ordinare un sondaggio freelance con una descrizione completa e dettagliata di tutti i dati grezzi

 
Dmi3:

Come potrebbe il terminale lavorare più velocemente e consumare meno risorse se ci fossero 99 EAs:

2. lo stesso, ma su simboli diversi

99 bicchieri da trasmettere non è un flusso da poco.

 
fxsaber:

99 occhiali da trasmettere non è un flusso da poco.

In effetti, ne abbiamo circa una dozzina dal vivo su Forti, il resto è illiquido.
 
Dmi3:
In effetti, ne abbiamo circa una dozzina dal vivo su Forti, il resto è illiquido.

Eseguite questo consulente in varie configurazioni e vedete i risultati.

 
fxsaber:

Esegui questo EA in diverse configurazioni e vedi i risultati.

Vediamo il risultato (Bild 2650, Open, Real)

2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 291655 mcs.
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [0]  76595  76598    false        696
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [1]  76596  76598     true     150488
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [2]  76596  76598    false        323
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [3]  76596  76598     true     291655
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 25571 mcs.
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [0]  76595  76598    false        663
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [1]  76595  76597     true      97445
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [2]  76595  76597    false        334
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [3]  76595  76597     true      25571
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 209232 mcs.
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [0]  76593  76596    false        659
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [1]  76594  76596     true      33395
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [2]  76594  76596    false        343
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [3]  76594  76596     true     209232
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 31365 mcs.
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [0]  76594  76597    false        342
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [1]  76594  76596     true      66980
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [2]  76594  76596    false        662
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [3]  76594  76596     true      31365
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 340874 mcs.
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [0]  76591  76593     true       6635
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [1]  76591  76593     true          5
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [2]  76591  76593    false        654
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [3]  76591  76593     true     340874
 
prostotrader:

Vedere il risultato (Bild 2650, Open, Real)

Questo è un paragone errato (il tabulato lo mostra), poiché il codice dovrebbe essere diverso se sono presenti le pinne.

 
fxsaber:

Questo è un confronto errato (lo si può vedere sulla stampa), poiché il codice dovrebbe essere diverso se le pinne sono presenti.

Questo è il tuo programma (non hai cambiato nulla) :)

Aggiunto

// Возвращает bid/ask-цены из стакана.
bool GetCurrentPrices( double &bid, double &ask )
{
  MqlBookInfo Bands[];

  const bool Res = MarketBookGet(_Symbol, Bands);

  if (Res)
    for (int i = ArraySize(Bands) - 2; i >= 0; i--)
      if (Bands[i].type == BOOK_TYPE_SELL)
      {
        ask = Bands[i].price;
        bid = Bands[i + 1].price;
        
        break;
      }
  
  return(Res);
}

Funzione errata, perché

1. il bicchiere può essere vuoto

2. Non c'è nessuna citazione di Sell nella tazza

3. la tazza non contiene Buy quotes

 
prostotrader:

Una funzione errata perché

Perché ti rendi ridicolo? Non c'è ancora nessuna gestione degli errori o altro. Lo scopo di questo codice non è di essere nell'EA, ma di mostrare che c'è un problema.

prostotrader:

È il tuo programma (non ho cambiato nulla) :).

Pertanto, conosco la logica di questo programma così bene che posso affermare l'erroneità dei suoi risultati su FORTS.

 
fxsaber:

Perché ti rendi ridicolo? Non c'è ancora nessuna gestione degli errori o altro. Lo scopo di questo codice non è quello di essere in un Expert Advisor da combattimento, ma di mostrare la presenza del problema.

Ecco perché conosco la logica di questo programma così bene che posso dire che i suoi risultati non sono corretti su FORTS.

Ok