Il mio approccio. Il nucleo è il motore. - pagina 77

 
Nikolai Semko:

Questa funzione può essere usata per regolare automaticamente le dimensioni degli elementi di testo.

A livello del costruttore (il generatore di GUI che analizza il codice di markup), funziona così. Calcola tutto correttamente. Se un qualsiasi font è impostato nella lingua, la posizione del testo sarà impostata correttamente.

Nel codice di markup, il font predefinito è stato impostato su"Microsoft JhengHei Light" e sono state calcolate le posizioni dei testi negli elementi. Un kernel digitale è stato poi generato e caricato nel motore come coordinate corrette per il font installato.

Se il computer dell'utente non ha il font per il quale sono stati fatti i calcoli, e viene installato un font diverso, allora i valori delle coordinate del testo calcolati nel kernel non sono corretti. Perché sono stati fatti per un carattere diverso.

Pertanto, il testo non è posizionato correttamente. È necessario impostare il carattere corretto e andrà bene.

 
Реter Konow:

Vasily, perché scrivere sciocchezze?

È solo un trolling?

C'è già uno spazio nel nome del file.

Riempire significa prescrivere le chiamate delle vostre funzioni sull'evento checkbox.

Devi mettere l'EA sul grafico e poi il motore.

I file devono essere salvati esattamente nella cartella Incloud.

Non dovete mettere niente da nessuna parte. Questo non è un trucco.

Vasily ha scritto correttamente.

 
Dmitry Fedoseev:

Tutto è stato scritto correttamente da Vassily.

Il malinteso è già stato chiarito.

 
Реter Konow:

A livello del costruttore (il generatore di GUI che analizza il codice di markup), funziona così. Calcola tutto correttamente. Se un qualsiasi font è impostato nella lingua, la posizione del testo è impostata correttamente.

Nel codice di markup, il font predefinito è stato impostato su"Microsoft JhengHei Light" e sono state calcolate le posizioni dei testi negli elementi. Un kernel digitale è stato poi generato e caricato nel motore come coordinate corrette per il font installato.

Se il computer dell'utente non ha il font per il quale sono stati fatti i calcoli, e viene installato un font diverso, allora i valori delle coordinate del testo calcolati nel kernel non sono corretti. Perché sono stati fatti per un carattere diverso.

Pertanto, il testo non è posizionato correttamente. È necessario impostare il carattere corretto e andrà bene.

Capisco.
Se il vostro motore fosse implementato come una classe all'interno di EA, questo problema non esisterebbe.
 
Nikolai Semko:
Capisco.
Se il vostro motore fosse implementato come una classe all'interno dell'EA, questo problema non esisterebbe.

Forse... Ma sarebbe stato diverso.

 
Реter Konow:

Forse... Ma ce ne sarebbero altri.

Forse, il principale (forse l'unico) vantaggio di usare un motore di indicatori separato per implementare l'interfaccia dell'EA, è che l'indicatore viene eseguito in un thread diverso dall'EA, e, poiché l'interfaccia è un compito abbastanza impegnativo in termini di risorse, generalmente, l'interfaccia implementata in questo modo, non rallenterà il lavoro dell'EA stesso, il che è buono.
Ma non ho abbastanza conoscenza e piena comprensione del meccanismo, come le risorse del processore e del co-processore sono allocate tra i thread, e il concetto stesso di thread non mi è del tutto chiaro.

Qualcuno può chiarire questi punti?

-È ragionevole usare l'approccio di Peter per un funzionamento più efficiente dell'Expert Advisor grazie alla riduzione del carico sul thread dell'EA?

-Organizzazione dello scambio tra il thread dell'EA e il thread dell'indicatore-interfaccia attraverso il sistema di interruzioni personalizzate, come influisce sul carico del thread dell'EA?

 
Реter Konow:

Retag, sbarazzati dei file con problemi di denominazione il più presto possibile, non è una cosa comica da fare, specialmente quelli distribuiti pubblicamente. Gli spazi sono una spina nel fianco degli script.

 
Nikolai Semko:

Forse il principale (forse l'unico) vantaggio di usare un motore di indicatori separato per implementare l'interfaccia dell'EA è che l'indicatore viene eseguito in un thread diverso dall'EA, e poiché l'interfaccia è un compito abbastanza impegnativo in termini di risorse, l'interfaccia implementata in questo modo non rallenterà il funzionamento dell'EA stesso, il che è buono.
Ma non ho abbastanza conoscenza e piena comprensione del meccanismo, come le risorse del processore e del co-processore sono allocate tra i thread, e il concetto stesso di thread non mi è del tutto chiaro.

Qualcuno può chiarire questi punti?

-È ragionevole usare l'approccio di Peter per un funzionamento più efficiente dell'Expert Advisor grazie al carico ridotto sul thread dell'EA?

-Organizzazione dello scambio tra il thread dell'EA e il thread dell'indicatore-interfaccia attraverso il sistema di interruzioni personalizzate, come influisce sul carico del thread dell'EA?

Non conosco questa domanda da solo (sicuramente altri ne sanno di più), ma l'indicatore non gira in un thread separato dall'EA. O almeno non aiuta il problema delle prestazioni.

Lo scorrimento nell'indicatore è lento. Quando ho collegato il codice del motore all'EA, lo scorrimento non è molto lento. Ma nell'indicatore si attacca.

In breve, il vantaggio di un thread separato può essere sfruttato facendo il motore nell'Expert Advisor. Ma in questo caso dobbiamo metterlo in un grafico separato.

Crea un insieme di compiti che possono essere vantaggiosi dal punto di vista della comodità (la gui può essere spostata tra i grafici) e dal punto di vista della velocità (thread separati).

 
pavlick_:

Retag, sbarazzati dei file con problemi di denominazione il più presto possibile, non è comico, specialmente quelli distribuiti pubblicamente. Gli spazi sono una spina nel fianco degli script.

Beh, ho messo un trattino nel nome. Cosa suggerisce?

 
Реter Konow:

Io non ne so molto (altri probabilmente ne sanno di più), ma l'indicatore non gira in un thread separato dall'EA. O almeno non aiuta il problema delle prestazioni.

Lo scorrimento nell'indicatore è lento. Quando ho collegato il codice del motore all'EA, lo scorrimento non è molto lento. Ma nell'indicatore si attacca.

In breve, dobbiamo fare in modo che il motore dell'Expert Advisor sfrutti il suo thread separato. E per questo, dobbiamo metterlo in un grafico separato.

Questo crea un insieme di compiti che possono essere vantaggiosi dal punto di vista della comodità (la gui può essere spostata tra i grafici) e dal punto di vista della velocità (thread separato).

https://www.mql5.com/ru/docs/runtime/running