Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 219

 
fxsaber #:

Qui.

Alexey Viktorov#:

IL GRAFICO È MASSIMIZZATO

Il grafico è massimizzato

bool r/o

GRAFICO_È_MINIMIZZATO

Chart_is_minimized il grafico è minimizzato

bool r/o

Grazie, lo proverò ora.
Trovato anche CHART_WINDOW_IS_VISIBLE. Ma credo di aver controllato prima e c'erano alcune sfumature.

 
Nikolai Semko #:

Grazie, ora sperimenterò.
Trovato anche CHART_WINDOW_IS_VISIBLE. Ma credo di aver controllato prima e c'erano alcune sfumature.

fxsaber #:

Qui.

Sì, la tua variante funziona, a differenza di CHART_WINDOW_IS_VISIBLE.
Grazie ancora.

Quindi ha senso controllare la visibilità del grafico per la formazione di bitmap in questo modo invece che attraverso CHART_BRING_TO_TOP

Solo che il controllo è troppo costoso senza usare user32.dll, perché dovete monitorare costantemente tutte le finestre.
Ma ovviamente, tutte le finestre dovrebbero essere monitorate solo quando la propria finestra del grafico non è a fuoco (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)
 
Nikolai Semko #:

Ma ovviamente, tutte le finestre dovrebbero essere monitorate solo quando la propria finestra del grafico non è a fuoco(ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Una finestra minimizzata può restituire true anche quando ci sono più finestre.

 
fxsaber #:

Una finestra minimizzata può restituire true anche quando c'è più di una finestra.

Stiamo parlando di CHART_BRING_TO_TOP o della funzione IsInvisible?

 
Nikolai Semko #:


Quindi ha senso controllare la visibilità del grafico per la formazione di bitmap in questo modo invece che attraverso CHART_BRING_TO_TOP

HHH tranne che il monitoraggio è troppo costoso senza usare user32.dll, perché è necessario monitorare costantemente tutte le finestre.
Ma è ovvio che il monitoraggio di tutte le finestre dovrebbe essere fatto solo quando la propria finestra del grafico è fuori fuoco (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Sì, può essere giustificato solo in Expert Advisors, perché le funzioni ChartGet girano molto più velocemente lì.
Non ha senso preoccuparsi di questo negli indicatori. È più veloce ridisegnare la tela che controllare lo stato delle altre finestre.
IMHO

Ancora una volta tutto si riduce alla lentezza delle funzioni ChatGet :(
 
Nikolai Semko #:

Stiamo parlando di CHART_BRING_TO_TOP o di IsInvisible?

PORTARE IN ALTO IL GRAFICO.

 
Nikolai Semko #:

Sì, questo può essere giustificato solo negli EA, poiché le loro funzioni ChartGet sono molto più veloci.

Era lento quando l'ho monitorato.

Non ha senso preoccuparsi degli indicatori. È più veloce ridisegnare la tela che monitorare altre finestre.
IMHO

Dipende dalla gravità dei calcoli. Per l'HFT è molto importante mantenere la visualizzazione al minimo possibile. Ecco perché uso IsInvisible2.

 
fxsaber #:

PORTARE IN ALTO IL GRAFICO.

È strano che in questa modalità la dimensione della finestra appaia come se non fosse stata minimizzata.
Tuttavia, questo è un caso molto raro in cui la finestra attiva è ridotta a icona. Sì, in questo caso si agiterà senza una buona ragione.

 
Nikolai Semko #:

Tuttavia, questo è un caso molto raro in cui la finestra attiva è ridotta a icona.

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

MT5 e la velocità in azione

fxsaber, 2020.09.30 21:42

Vedo che anche i miei bot, ora allineati alle prestazioni, funzionano in modo che la CPU del terminale sia al 15%. E ora una mancia per il cappello!

  • Chiudi Market Watch (CTRL+M) - solo i simboli scambiati in esso.
  • Chiudere la tabella con le posizioni attuali (CTRL+T).
  • Ridurre al minimo tutti i grafici.

Voilà, CPU terminale 2,5%! Scaricate il vostro VPS. Se qualcun altro ha qualche raccomandazione valida, fatemelo sapere.


Cari sviluppatori, vi prego di avere la possibilità di passare il terminale alla modalità di consumo minimo di risorse per l'algotrading.

La modalità di funzionamento più diffusa dei consiglieri di battaglia.
 
fxsaber #:
La modalità di funzionamento più comune per gli EA da combattimento.

significa che in modalità di combattimento si dovrebbe spegnere tutte le sciocchezze grafiche senza minimizzare. Lascia che la grafica sia congelata se la finestra rimane visibile ma non attiva.
Ed è più facile e meglio, come mi sembra, spegnere e rimuovere automaticamente tutta la grafica quando il mouse è inattivo, ad esempio per 1 minuto. Non appena il mouse è attivo - la grafica riprende.