Errori, bug, domande - pagina 968

 
sergeev:

tutto dipende dalla dimensione della bitmap

fare un miliardo di volte la creazione+output di bitmap e lo stesso numero di volte la creazione e l'output di etichette di testo.

e monitorare il tempo di uscita.

Dovrò fare una prova, solo più tardi. Ho pensato che forse qualcuno ha già fatto questo tipo di ricerca...
 
tol64:
Non è molto chiaro che tipo di istogramma non si può disegnare lì. È molto probabile che stiate facendo qualcosa di sbagliato. Hai bisogno di un codice per riprodurlo, altrimenti non puoi vedere cosa vuoi dire.

L'istogramma può essere disegnato se il terminale gestisce i calcoli. Si disegna l'istogramma, si carica il terminale, si esegue il macchinoso calcolo dell'indicatore, l'istogramma scompare in attesa del calcolo e quando è finito viene visualizzato, non è visibile nel flusso delle quotazioni. Quando si cancella, il terminale fa qualcosa lì e poi cancella il grafico. Non ho niente nel blocco Deinit a parte la cancellazione, qual è la pausa sulla cancellazione. Ci dovrebbe essere una priorità, e una sequenza di azioni per uscire dagli stati critici del sistema, l'istogramma non dovrebbe scomparire prima del calcolo, ma prima che venga visualizzato un nuovo istogramma. E non è il codice, ovviamente carica il terminale e l'algoritmo può essere reso più generoso, ma il fatto che il 4 lo gestisce meglio è ovvio.

OnCalculate viene eseguito ad ogni tick? E se non lo fa, cosa succede?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Ho identificato un bug nel caveau. Quando si cambia la password sul sito, il caveau apparentemente non la cambia. E devi cancellarti dal repository e iscriverti di nuovo.
 
zfs:

L'istogramma può essere disegnato se il terminale può gestire il calcolo. L'istogramma viene disegnato, il terminale viene caricato, il macchinoso calcolo dell'indicatore ha luogo, l'istogramma scompare, in attesa del calcolo, quando è finito viene visualizzato, si scopre che non è visibile nel flusso delle quotazioni. Quando si cancella, il terminale fa qualcosa lì e poi cancella il grafico. Non ho niente nel blocco Deinit a parte la cancellazione, qual è la pausa sulla cancellazione. Ci dovrebbe essere una priorità, e una sequenza di azioni per uscire dagli stati critici del sistema, l'istogramma non dovrebbe scomparire prima del calcolo, ma prima che venga visualizzato un nuovo istogramma. E non è il codice, ovviamente carica il terminale e l'algoritmo può essere reso più generoso, ma il fatto che il 4 lo gestisce meglio è ovvio.

OnCalculate viene eseguito ad ogni tick? E se non lo fa, cosa succede?

Se il codice di riproduzione è un grande segreto da postare sul forum, allora scrivi al Service Desk. Descrivilo in dettaglio e allega il codice.
 
tol64:
Se il codice di riproduzione è un grande segreto da postare sul forum, allora scrivete al Service Desk. Vi verrà chiesto di descriverlo in dettaglio e di fornirvi il codice.

Ho già sottolineato che non ha niente a che vedere con il codice. Potete semplicemente caricare il codice con calcoli ed elementi grafici e gli inconvenienti spariranno da soli. Tutto dipende dall'hardware del computer più che dal codice: un computer veloce cancellerà l'indicatore in 2 secondi mentre uno lento lo cancellerà in 2 minuti. Lo stesso vale per il grafico a barre, da qualche parte sarà sempre visibile con una buona risorsa e un minimo di citazioni, e da qualche parte sarà visibile solo all'avvio. Naturalmente, questa è più una domanda per il Service Desk e più una domanda per il terminale, è possibile ridurre al minimo la possibilità che il terminale si blocchi? Questo problema era nel 4, e la situazione qui è ancora peggiore. Tuttavia, questo è il ragionamento che c'è dietro.

OnCalculate viene eseguito ad ogni tick? E se non lo fa, cosa succede?

 
O anche una situazione in cui il terminale non è caricato come applicazione ed è solo visibile come processo nel task manager. Il terminale deve essere in grado di uscire da situazioni critiche, come ControlAltDelta in Windows con l'opzione di disabilitare già le applicazioni del terminale.
 

zfs:

...

OnCalculate viene eseguito ad ogni tick? E se non ha tempo, cosa succede?

Penso che i tic che sono venuti durante qualche calcolo lungo saranno saltati.

Ho già notato che il codice non ha niente a che vedere con questo. Dovete solo caricare il codice con i calcoli e gli elementi grafici e gli inconvenienti salteranno fuori da soli. Tutto dipende dall'hardware del computer più che dal codice: un computer veloce farà rimuovere un indicatore in 2 secondi, mentre uno lento lo farà rimuovere in 2 minuti. Lo stesso vale per il grafico a barre, da qualche parte sarà sempre visibile con una buona risorsa e un minimo di citazioni, e da qualche parte sarà visibile solo all'avvio. Naturalmente, questa è più una domanda per il Service Desk e più una domanda per il terminale, è possibile ridurre al minimo la possibilità che il terminale si blocchi? Questo problema era nel 4, e la situazione qui è ancora peggiore. Tuttavia, questo è il ragionamento che sta dietro l'argomento.

Bene, allora stendete il vostro codice. Lo testerò per conto mio. Confrontiamo i risultati. Altrimenti abbiamo descritto tutto invano. Qui non lo prendono sul serio. )))

 
zfs:
O anche una situazione in cui il terminale non è caricato come applicazione ed è visibile solo come processo in Task Manager. Quello che serve è un modo per far uscire il terminale da situazioni critiche, come ControlAltDelete in Windows con l'opzione di disabilitare le applicazioni del terminale.
Lo vedo sia come un'applicazione che come un processo. Specificare in Service Desk il sistema operativo, la dimensione e la costruzione del terminale.
 
double iCloseMQL4(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);

}

Allora, ho preso una funzione, l'uscita è periodicamente -1. La domanda è: cos'altro dovrebbe essere impostato il ciclo per differire da -1? Perché è possibile questa situazione? Perché copiare l'intero array se ho bisogno di un solo valore non è in qualche modo razionale.

SetLabel("LPr",chart_ID,"%="+DoubleToString(close[0]/iCloseMQL4(_Symbol,1440,1)*100-100,2),4,34,clrBrown,14);
 
tol64:

Penso che le zecche che sono arrivate durante alcuni lunghi calcoli saranno mancate.

Allora pubblica il codice. Lo testerò sul mio. Confrontiamo i risultati. Altrimenti abbiamo sprecato tutto. La gente qui non lo prende sul serio. )))

Si pensa, ma dovrebbe essere controllato o sapere per certo).

Vedo un'immagine diversa su diversi computer, così ho qualcosa con cui confrontarla. Non otterremo comunque la verità, tutto quello che possiamo fare è lamentarci sul forum).

Eseguo un terminale con applicazioni pesanti, non si carica come applicazione ed è visibile solo come processo. Se lancio l'applicazione su un terminale aperto non si blocca. Ma all'avvio si blocca o non si carica come applicazione. Quindi devo disinstallare l'applicazione prima di uscire. Ho scritto a servicedesk, chiedendo di poter chiudere l'applicazione senza chiudere il terminale o cancellare le cartelle.

Motivazione: