Errori, bug, domande - pagina 1864

 

Non posso inviare una risposta all'SR. Esita per un minuto e poi cede

 
fxsaber:

Non posso inviare una risposta all'SR. Esita per un minuto e poi cede

Questo è un nuovo tipo di divieto)))
 
stringo:

Sì, ordinati per tempo. La voce iniziale viene cercata con la ricerca binaria.

La ricerca binaria lenta si rivela
#include <MT4Orders.mqh>

// Metaquotes-Demo, Netting, RTS-6.17, 2017.04.06 - 2017.04.07, на основе реальных тиков, начальный баланс 10000000 RUR
void OnTick()
{  
  static bool Error = false;  
  static int Type = OP_BUY;
  
  if (Error)
    return;
  
  MqlTick Tick;    

  if (OrderSelect(0, SELECT_BY_POS) && (OrderType() <= OP_SELL))
  {
    const datetime PosTime = (datetime)::PositionGetInteger(POSITION_TIME);      
    HistorySelect(PosTime, PosTime);

    OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0);   
  }
  else if ((OrdersTotal() == 0) && SymbolInfoTick(_Symbol, Tick) && (Tick.bid != 0) && (Tick.ask != 0))
  {
    Error = (OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0, "", 0, 0, INT_MAX) == -1);        
    
    if (!Error)
    {
      OrderSend(_Symbol, Type + OP_BUYLIMIT, 1, (Type == OP_BUY) ? Tick.ask : Tick.bid, 0, 0, 0);
      
      Type = OP_SELL - Type;
    }    
  }
}

Senza linee rosa funziona velocemente. Con loro è molto lento (di diversi ordini di grandezza). Ogni HistorySelect(PosTime, PosTime) sceglie non più di qualche dozzina di record dalla storia. Ma allora a cosa servono tutte le risorse computazionali? È davvero sufficiente copiare queste decine di record ad ogni spunta?

 

Ancora una volta ho riscontrato un problema con lo stesso EA che funziona in modo diverso nel tester e in tempo reale. All'inizio ho pensato che fosse a causa di indicatori complicati. Poi ho inserito le Bande integrate. Non ho mai visto questo tipo di problemi.

Ho uno schema di lavoro molto semplice.

OnInit - ottengo il manico dell'indicatore

OnTick - analisi (copiando nel buffer) e trade

OnDeinit - rilascia l'handle.

Ho fatto il seguente test. Modificare l'algoritmo in tempo reale secondo lo schema:

OnTick - ottenendo la maniglia dell'indicatore, l'analisi (copiando nel buffer dell'indicatore) e il commercio, rilascio la maniglia.

E oh mio Dio! Tutto comincia a coincidere con il tester!

Che cos'è? Bug? O qualcos'altro.....

 
Alexey Kravchenko:

Che cos'è? È un bug? O è qualcos'altro.....


È un indicatore multi-valuta?
 
Sergey Dzyublik:

È un indicatore multi-valuta?
Indicatore a bandestandard. EA Multicurrency.
 
Può essere che una delle opzioni confrontate non aggiorni le altre coppie di valute.
E per questo, si ottengono risultati diversi.
 
Sergey Dzyublik:
Forse, una delle opzioni che stiamo confrontando non aggiorna i dati su altre coppie di valute.
Questa è la ragione dei diversi risultati.

Quindi questo aggiornamento dovrebbe essere fatto correttamente dal terminale stesso?

Ottengo gli handle in OnInit per tutti i simboli con cui lavoro e sincronizzo tutti i timeframe necessari. Li elaboro solo quando si forma una nuova barra. Il mio Expert Advisor viene lanciato usando il simbolo "sinistra" :-)

Non è questo il punto, il punto è che non ci dovrebbero essere differenze con il tempo reale in termini di attivazione.

E se è necessario prendere la maniglia dell'indicatore ogni volta per farlo funzionare correttamente, è fuori questione....

 
Alexey Kravchenko:

Quindi questo aggiornamento deve essere fatto correttamente dal terminale stesso?
E se perché tutto funzioni correttamente è necessario ottenere ogni volta la maniglia dell'indicatore, allora questo è fuori questione....


Vedi le risposte in questo thread, specialmente quelle degli sviluppatori, forse ti saranno utili:
https://www.mql5.com/ru/forum/190003

 

Signori! Mi scuso profondamente per aver scritto. Ma ho bisogno di aiuto, come si dice ASAP.

Ho un errore del terminale, ha smesso di collegare indicatori personalizzati e Expert Advisors.

Registri come questo

2017.04.20 18:18:59.764 Indicatore personalizzato caricamento di AD (@Si,H1) fallito

Questo è l'indicatore personalizzato della cartella Examples che appare dopo l'aggiornamento dell'installazione iniziale.

Tutto il resto che è personalizzato e gli indicatori e gli EA hanno smesso di caricare. All'improvviso! (Ha funzionato e testato e scambiato prima)

Sono sicuro che a qualcuno è già successo qualcosa di simile.

C'è una soluzione?

In merito all'argomento:

2017.04.20 18:48:00.931 Experts caricamento di ExpertMACD (@Si,H1) fallito

2017.04.20 18:48:42.786 Esperti caricamento di ChartInChart (@Si,H1) fallito


Sembra che non trovi il percorso...

Cosa mi manca?

Riposizionato la piattaforma. Cancellato la cartella in AppsData/.../Terminal prima di reinstallare. Su un altro computer sullo stesso asse (W2008RC2) tutto funziona.

Grazie, ho controllato la bild.

Non vedo l'ora di ricevere risposte... e consigli. Cosa fare.

2017.04.21 10:53:54.329 Terminal MetaTrader 5 x64 build 1583 avviato (MetaQuotes Software Corp.)

2017.04.21 10:53:54.329 Terminal Windows Server 2008 R2 Enterprise (PC basato su x64), IE 08.00, UAC, Intel Core i5

2017.04.21 10:53:54.329 Terminal C:\Users\Администратор\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

2017.04.21 10:55:07.320 Experts caricamento del campione MACD (EURUSD,H1) fallito

2017.04.21 10:55:45.669 Indicatore personalizzato caricamento di AMA (EURUSD,H1) fallito



Motivazione: