Errori, bug, domande - pagina 560

 
Potete creare tutti gli oggetti che volete, finché non esaurite la memoria. La questione è molto probabilmente in qualcos'altro.

Sarebbe fantastico se potessimo eseguire il tuo codice nel debugger - puoi darci il codice sorgente? Dopo averlo controllato, lo cancelleremo.
 
Urain:

PS come faccio normalmente a terminare il programma se ci sono molti oggetti di classe?

c'è un tale problema.

come si fa a cancellare?

 
sergeev:

c'è un tale problema.

Come si rimuove?

Ho provato diversi modi, per lo più con cicli, con e senza slittamenti, gli oggetti sono matryoshka, i primi 20 pezzi (e vorrei 100) causano la rimozione di interno nella quantità di ~30000/obj (in breve un array di oggetti) in cui essi stessi (in ogni) pezzi di 10 oggetti.
 
Urain:
Ho provato in diversi modi, per lo più in loop, con e senza slittamenti, gli oggetti sono matrioska, top 20 (vorrei 100) chiamano cancellare quelli interni in quantità ~30000/obj (array più corto di oggetti) in cui (in ognuno) sono 10 oggetti.

No, no.

Voglio dire, quali funzioni usate durante la cancellazione?

ObjectGetString o direttamente a ObjectDelete.

Come fate a conoscere e specificare il nome dell'oggetto che volete cancellare?

La cosa principale è non usare funzioni sincrone (time-critical).

 
sergeev:

No, no.

Voglio dire, quali funzioni usate durante la cancellazione?

ObjectGetString o direttamente a ObjectDelete.

Come fate a conoscere e specificare il nome dell'oggetto che volete cancellare?

La cosa principale qui è non usare funzioni sincrone (time-critical).

Stiamo parlando di oggetti di classe, non di oggetti grafici.

Anche se naturalmente i grafici sono in oggetti, non tutti ovviamente, non più di 30000 oggetti grafici per grafico.

Il nome di un oggetto grafico è conservato nell'area privata di un oggetto binding.

Alla cancellazione uso delete obj; che se necessario chiama ObjectDelete.

 

capito.

È solo che ho sempre avuto Abnormal Termination quando la funzione sincrona cercava un oggetto grafico o una variabile globale per nome.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sergeev:

capito.

È solo che ho sempre avuto Abnormal Termination quando la funzione sincrona - cercando un oggetto grafico o una variabile globale per nome.

Sì l'ho trovato, grazie sergeev per aver spinto l'idea, in effetti la bandiera di esistenza della grafica non era impostata, e come risultato un tentativo di cancellare oggetto grafico inesistente. Quando il numero di oggetti era piccolo, il terminale lo ingoiava, ma milioni di false richieste ObjectDelete provocavano una terminazione anomala.
 
1. C'è un limite di tempo per la funzione OnTester ()? Ho una situazione in cui, quando si esegue un calcolo abbastanza massiccio in questa funzione, il registro scrive "Disconected" (provato a cambiare kernel - stesso messaggio) e il test si ferma.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Grazie mille. Ma sembra un po' artigianale e limitato.

Purtroppo non ho ancora capito perché metaquotes non sia interessata ad implementare le funzionalità di MT4 nel terminale MT5, rimanendo nel concetto di un solo ordine di mercato, per quanto riguarda la gestione degli ordini virtuali sia manualmente che attraverso un Expert Advisor. Ci sono solo vantaggi da tutti i lati e si adatta perfettamente!

 
L'errore relativo al caricamento della storia costante e all'attivazione costante if(prev_calculated==0), precedentemente eliminato sulle valute, è presente sui grafici CFD.
Motivazione: