Errori, bug, domande - pagina 368

 
notused:

L'ultima build (430) quando si prova con periodo Forward e Custom Max - si blocca (sembra essere al momento di passare al test Forward). All'inizio ho dato la colpa al mio Expert Advisor, ma poi ho controllato il seguente codice:

Ho impostato i parametri per ottimizzare da 1 a 1000, tutti i tick, USDCAD, M4 dal 01.01.2011 a oggi (con Forward - qualsiasi periodo). Congelare. Disabilitato gli agenti remoti - ho riavviato il terminale - si blocca anche lui. Rimosso il periodo in avanti - funziona. Se Custom Max è da biasimare - non l'ha controllato. Prima di questa build - tutto funzionava.

CustomMax sembra non essere coinvolto - si blocca sul periodo di test in avanti anche senza CustomMax.
 
Nell'ultima build gli eventiCHARTEVENT_OBJECT_CREATE eCHARTEVENT_OBJECT_DELETE non vengono ricevuti in OnChartEvent(), se gli oggetti sono stati creati dall'indicatore. Se gli oggetti sono stati creati manualmente, vengono ricevuti. Qualcun altro ha questo problema o è un bug da qualche parte? Tutto funzionava prima dell'aggiornamento però...
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 
Lizar:
Nell'ultima build gli eventiCHARTEVENT_OBJECT_CREATE eCHARTEVENT_OBJECT_DELETE non vengono ricevuti in OnChartEvent(), se gli oggetti sono stati creati dall'indicatore. Se gli oggetti sono stati creati manualmente, vengono ricevuti. Qualcun altro ha questo problema o è un bug da qualche parte? Però funzionava prima dell'aggiornamento...

Molto probabilmente arrivano, ma con un numero chiaramente "a sinistra".
 
Interesting:
Molto probabilmente arrivano, ma con un numero che è chiaramente "di sinistra".
No, OnChartEvent() non si attiva affatto.
 
Lizar:
Gli eventiCHARTEVENT_OBJECT_CREATE eCHARTEVENT_OBJECT_DELETE non arrivano a OnChartEvent() nell'ultima build, se gli oggetti sono stati creati dall'indicatore. Se gli oggetti sono stati creati manualmente, vengono ricevuti. Qualcun altro ha questo problema o è un bug da qualche parte? Però funzionava prima dell'aggiornamento...

Ho scritto una richiesta su questo problema a SD, chiedendogli di permettere al programmatore di disabilitare la generazione di questi eventi, ma non c'è stata ancora nessuna risposta sul ticket...

P.S. Ora guardo - e tutti i miei sistemi volano dopo aver spento questi eventi!

 
AlexSTAL:

Ho scritto una richiesta alla SD su questo, chiedendo loro di permettere al programmatore di disabilitare la generazione di questi eventi, ma non c'è stata ancora nessuna risposta sul ticket...

P.S. Ora ha guardato - e tutti i miei sistemi volano dopo aver disabilitato questi eventi!

Allora forse dovrebbe essere così. Nessun evento dagli induttori, i palmari sì.

Solo queste cose dovrebbero probabilmente essere avvertite (a me almeno sembra così)...

 
AlexSTAL:

Ho scritto una richiesta alla SD su questo, chiedendo loro di permettere al programmatore di disabilitare la generazione di questi eventi, ma non c'è stata ancora nessuna risposta sul ticket...

P.S. Ora ho guardato - e tutti i miei sistemi volano dopo aver spento questi eventi!

Buona idea dare al programmatore la possibilità di disabilitare la generazione di questi eventi. Io stesso li disabiliterei dalla maggior parte degli oggetti. Ma a volte sono necessari. Ok, aspettiamo il commento degli sviluppatori su questo argomento.
 
Interesting:

Allora forse dovrebbe essere così. Non ci sono eventi dai tacchini, ci sono a mano.

No, dovremmo dare la scelta al programmatore di gestire gli eventi dagli oggetti. Per esempio, in questo momento non posso garantire l'"unkillability" dell'utente del pannello di controllo. Può cancellare accidentalmente gli oggetti relativi al pannello di controllo dalla lista, e io non posso rintracciare questo e ripristinarli.
 
Lizar:
No, dobbiamo dare al programmatore una scelta per gestire gli eventi dagli oggetti. Per esempio, in questo momento non posso garantire all'utente l'"unkillability" del pannello di controllo. Potrebbe cancellare accidentalmente gli oggetti associati al pannello di controllo dalla lista, e non posso rintracciarli e ripristinarli.

Non si dice che tutto quello che l'utente fa passa, ma non quello che l'utente fa?

Naturalmente è meglio dare, preferibilmente aggiungere proprietà speciali agli oggetti a cui si può accedere da MQL.

 
Interesting:

Non si dice che tutto quello che fa l'utente passa, ma non tutto quello che fa l'utente?

Se un utente cancella un oggetto creato dall'utente, non c'è nessun evento. Se l'utente cancella il proprio oggetto, c'è un evento.