Errori, bug, domande - pagina 494

 
marketeer:

Come sintesi, ripeterò l'idea che ho espresso una volta: il compito della piattaforma, che è MT, è quello di proteggere l'utente (il programmatore) da possibili "rastrellamenti" il più possibile.

Mi oppongo fermamente e categoricamente. La piattaforma non ha questo compito. Reagisco sempre con molto cipiglio ai tentativi della sinistra di proteggermi dalle barre "extra", dalla cronologia delle spunte, dallo scrivere i file dove voglio, dai test contro le mie citazioni e altre preoccupazioni del genere.

Lo tollero solo perché spero che abbia delle ragioni commerciali, e non è affar mio dire a MQ come fare affari.

Anche se non ho nulla contro questo:

Cioè si sarebbe potuto introdurre un'altra #proprietà per indicare se i buffer devono essere inizializzati automaticamente.
Non ho nulla in contrario, perché una tale soluzione aumenta le possibilità, non le limita.
 
MetaDriver:

Sono fortemente e categoricamente contrario. La piattaforma non ha questo compito. Reagisco sempre con molto cipiglio ai tentativi della sinistra di proteggermi dalle barre "extra", dalla cronologia delle spunte, dallo scrivere i file dove voglio, dai test contro le mie citazioni e altre preoccupazioni del genere.

Non ho suggerito di limitare nulla, solo di ridurre le fonti di errore e lasciare la compatibilità comportamentale con MT4, almeno opzionalmente.

La piattaforma ha un tale compito, altrimenti bestemmiamo, per esempio, il raccoglitore di spazzatura in java e altre cose di routine, che è più facile (e GIUSTO) fare una volta dentro la piattaforma, che costringere ogni programmatore a fare a modo suo, con i bug.

 
marketeer:

Non stavo suggerendo di limitare nulla, solo di ridurre le fonti di errore e lasciare la compatibilità nel comportamento con MT4, almeno opzionalmente.

Altrimenti, bestemmiamo, per esempio, java rubbish collector e altre caratteristiche di routine, che sono più facili (e GIUSTE) da fare una volta all'interno della piattaforma, che far fare a ogni programmatore a modo suo, con i bug.

Non voglio entrare in discussioni religiose su "giusto" e "sbagliato", tranne che per dire che possiamo arrivare fino alle prestazioni di MT4 nella nostra ricerca di compatibilità. Cosa che non mi piacerebbe fare.
 
MetaDriver:
Non voglio entrare in un dibattito religioso su "giusto" e "sbagliato", ma vorrei sottolineare che nella ricerca della compatibilità è possibile arrivare fino alle prestazioni di MT4. Cosa che non mi piacerebbe fare.
Beh, è come sempre - dipende dall'esecuzione. Se non per deviare da un esempio concreto, sembra ovvio, che l'inizializzazione del buffer "manualmente" (che ora è fatta da molti sviluppatori, e per di più - la non inizializzazione è chiamata un errore di indicatore personalizzato dai rappresentanti di MC), essendo spostata nel kernel (e abilitata facoltativamente) non influenzerebbe negativamente le prestazioni.
 
marketeer:

Cioè si potrebbe inserire un'altra #proprietà per indicare se i buffer devono essere inizializzati automaticamente.

Sono d'accordo, a volte può essere utile. Ma solo qualche volta.
 

Renat:

La ricorsione è di solito facile da catturare - dipende direttamente dal volume delle variabili locali, e ci sono eccezionalmente pochi posti del genere in un programma.

Non lo so, ho determinato puramente intuitivamente (assunto) che era l'elaborazione del tick che andava in loop. E la "malizia" è arrivata dopo circa 10 minuti di scavi approfonditi nel codice e confrontando vecchie copie dell'Expert Advisor con una copia in cui sono state introdotte le modifiche.

Se il preprocessing complicherà significativamente il compilatore (gli argomenti di MetaDriver sembravano molto convincenti), mi piacerebbe avere informazioni più precise sul luogo in cui è sorto il problema.

 
Interesting:

Non lo so, ho determinato puramente intuitivamente (supposto) che era l'elaborazione dei tick che era in loop. E questa "malizia" è venuta dopo circa 10 minuti di scavo approfondito nel codice e di confronto tra le vecchie copie di Expert Advisor e la copia in cui sono state fatte le modifiche.

Scavare un po' in profondità illumina la mente. "Cosa faremmo se papà non bevesse? Ma in questo modo, diamo via le bottiglie e usiamo i soldi per comprare il pane".
 
stringo:
Uno scavo approfondito è molto illuminante per la mente. "Cosa faremmo se papà non bevesse? Ma in questo modo, consegniamo le bottiglie e usiamo i soldi per comprare il pane".
Vedo la logica... :)
 

Compagni, ci sono piani per migliorare la funzione Bars()? Mi sembra che non sia del tutto adeguato. Può dare 0, nel qual caso non è chiaro se non ci sono davvero barre o un errore, GetLastError() non lo nota nemmeno, ci fa inventare trucchi inutili e rallentanti

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 

E un'altra domanda, per esempio la seguente situazione:

Ho bisogno di 100 barre dalla serie temporale High sul grafico orario. Cosa sarà più efficiente - copiare 100 barre dall'Expert Advisor o prenderle dall'array passato all'indicatore? Cioè, la domanda è: se attacco l'indicatore al grafico, copierà le barre che non userò? (È possibile scoprire il tempo trascorso nell'esecuzione del programma usando strumenti MQL?