Errori, bug, domande - pagina 2225

 

In qualche modo ho perso il punto o l'ho già dimenticato:

i valori degli oggetti vengono restituiti normalmente sull'hosting condiviso?

Cioè, se la strategia usa delle linee, posso ottenere il valore di queste linee sulle meta-citazioni dell'hosting virtuale?

 
Nikolai Semko:

Non servirà. Soprattutto se il timer è già attivo prima di essere abilitato nella classe, per esempio a intervalli di alcune ore o giorni. Allora una tale classe rovinerà l'intera logica del programma.

Idealmente, tutto il lavoro con il timer deve essere avvolto in una classe, e tutte le parti di un programma dove il timer è necessario, devono usarlo attraverso questa classe.

Altrimenti è impossibile tenerne traccia.

 
Andrey Khatimlianskii:

Idealmente, tutto il lavoro del timer dovrebbe essere avvolto in una classe, e tutte le parti del programma che hanno bisogno di un timer dovrebbero usarlo attraverso quella classe.

Altrimenti è impossibile tenerne traccia.

saggiamente

 
Nikolai Semko:

sensato

Avrebbe senso farlo a livello di piattaforma e permetterci di eseguire più timer per diverse esigenze)

 
Andrey Khatimlianskii:

Idealmente, tutto il lavoro del timer dovrebbe essere avvolto in una classe, e tutte le parti del programma che hanno bisogno di un timer dovrebbero usarlo attraverso quella classe.

Altrimenti non sarai in grado di tenerne il conto.

E in questa classe potete sconfiggere OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer, come è stato fatto da Faber in Init_Sync.mqh. E poi il pieno controllo. Buona idea. Grazie.

 
Nikolai Semko:

Potete aggiungere OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer a questa classe, come ha fatto Faber in Init_Sync.mqh. E poi il pieno controllo. Buona idea. Grazie.

In attesa di KB ;)

 
Andrey Khatimlianskii:

Avrebbe senso farlo a livello di piattaforma e permetterci di eseguire più timer per diverse esigenze)

Giusto...
Sarebbe molto più facile. Ma i modi facili sono per i ragazzi, e i mariti non cercano modi facili :))

 
Andrey Khatimlianskii:

In attesa del QB ;)

Spero di metterci le mani sopra un giorno...

 
Dmitri Custurov:

Ho provato sia il feng shui che questo - il risultato è lo stesso. Il fatto è che tutto funziona il 99% delle volte, e io ho bisogno del 100%. Al momento, la cosa principale per me è ottenere la logica giusta, e potrò fare la bellezza più tardi.

Ho dimenticato di aggiungere solo che l'errore di cui sopra appare nel tester. Quando lo apro su un grafico, non me ne accorgo o devo solo aspettare l'estremo richiesto dove l'errore si ripeterà.

Quelli veri devono essere confrontati correttamente

/*!
   \brief   Сравнение вещественных double
   \return true в случае равно, иначе false
*/
bool CompDouble(const double a_one,const double a_two) {
   if(fabs(a_one - a_two) <= DBL_EPSILON * fmax(fabs(a_one), fabs(a_two)))
      return true;    // числа равны с относительной точностью DBL_EPSILON
//---
   return false;
}
/*!
   \brief   Сравнение вещественных float
   \return true в случае равно, иначе false
*/
bool CompFloat(const float a_one,const float a_two) {
   if(fabs(a_one - a_two) <= FLT_EPSILON * fmax(fabs(a_one), fabs(a_two)))
      return true;    // числа равны с относительной точностью FLT_EPSILON
//---
   return false;
}
 
Grazie per il suggerimento. Funziona. Ero già preoccupato per OrderSelect.
Motivazione: