Errori, bug, domande - pagina 1909

 
Alexandr Bryzgalov:
Questa è l'idea.


Grazie.

Dove posso leggere l'idea? non una parola nell'aiuto

è solo per la variabile stringa?

qualsiasi carattere può essere usato nel commento?

 
Stanislav Korotky:
Capisco il tuo punto di vista. La prossima domanda: perché OnDeinit non viene attivato quando la finestra di test visivo viene chiusa? Come fare il debug di qualcosa che si trova nell'OnDeinit dell'indicatore ed è collegato al trattamento delle informazioni raccolte del processo di esecuzione (in particolare, la profilazione che non può essere eseguita rapidamente e sui dati storici lunghi sul grafico online)?

Pensiamoci.

Quando si profila sulla storia, si può chiamare OnDeinit subito dopo la fine dei dati. Per il profiling, gli artefatti indicatori di solito non sono necessari.

 
Slava:

Pensiamoci.

Quando si profila sulla storia, è possibile chiamare OnDeinit immediatamente dopo la fine dei dati. Per il profiling, gli artefatti indicatori di solito non sono necessari.

Ho scritto una richiesta alla SD.
 
Stanislav Korotky:
Ha scritto una domanda alla SD.
Grazie. Ho già scritto io stesso l'applicazione.
 
Slava:
Grazie. Ho già scritto io stesso l'applicazione.
Prima di scrivere alla SR, ho controllato se non ci fosse una risposta qui ;-), e non c'era al momento. In ogni caso, forse alcuni dei miei suggerimenti della domanda potrebbero funzionare.
 
Alexandr Bryzgalov:

Come si dice in Jeopardy - non c'è un tema simile. corretto, sarà così


 
Un EA è selezionato nel tester. Ogni volta dopo la compilazione, il tester seleziona un EA diverso. C'è un errore!
 

Quando si preme il tasto Home e si riduce lo zoom sul grafico in MT5, gli oggetti grafici e gli indicatori si allontanano - lo si può vedere nell'illustrazione dello ZigZag.


 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

Renat Fatkhullin, 2017.05.13 17:07

Esatto, non si può essere guidati dal basso verso l'alto, ma solo dall'alto verso il basso. È per la sicurezza.

Non si può fare un paragone con il C++ - lì qualsiasi cosa può essere ridotta a qualsiasi cosa.

Perché si compila?
class A {};

class B : public A
{
public:  
  int i;
};

void OnStart()
{
  A* a = new B;
  
  ((B*)a).i = 1;
  
  dynamic_cast<B*>(a).i = 1;
  
  delete a;
}
 

In generale, ci sono tre possibilità.

1. è un bug.

2. questo cast permette di lanciare come reinterpret_cast che non è sicuro in linea di principio. Se è così, tale cast può lanciare qualsiasi puntatore all'altro e rischiare di ottenere un'eccezione di accesso in seguito.

3. questo cast permette di lanciare come dynamic_cast, ma poi c'è una questione di come distinguere i cast dinamici e statici e poi probabilmente tutti i cast sono fatti a runtime