Creare una libreria grafica da zero - pagina 6

 
Roman:

Per l'HFT, penso che il 3D sarebbe utile per creare un'analisi grafica del volume della tazza e del flusso degli ordini.
Ma come interpretare tali informazioni, non ho approfondito.



Oggettivamente, il 3D è molto più complesso del 2D. C'è una tale funzionalità che non si capisce subito. Ma, se ci provate, potete capirlo in 12 ore, e allora tutte le porte si apriranno, e potrete visualizzare tutto quello che volete. C'è un'abbondanza di possibilità. ))))

 
Реter Konow:

Oggettivamente parlando, il 3D è molto più complicato del 2D. Ci sono così tante funzionalità che è difficile prenderle subito... Ma, se ci provi, ti ci vorranno 12 ore per entrarci, e poi tutte le porte si apriranno e potrai visualizzare qualsiasi cosa e in qualsiasi modo tu voglia. C'è un'oncia di possibilità. ))))

È chiaro che c'è un mare di possibilità.
Non ho ancora impostato alcun compito di questo tipo per lavorare con il 3D. Non perché sia difficile da capire, ma semplicemente perché non ne ho ancora bisogno.
Ma qualcuno potrebbe averne bisogno, quindi ho solo dato un esempio, dove il 3D può essere usato

 
Alexandr Andreev:

Lo capisco, la domanda è come cambiare lo stile al passaggio del mouse mantenendo le coordinate... anche se sembra essere già chiaro

C'è un bilio standard sul controllo?

E cosa significa il numero 20 tra parentesi sulla destra?

 
Mi imbarazza chiedere chi è Brainfax...
 
Roman:

È comprensibile che ci siano molte possibilità se ci si mette dentro.
Non ho ancora impostato alcun compito di questo tipo in 3D. Non perché sia difficile da capire, ma perché non ne ho ancora bisogno.
Ma qualcuno potrebbe averne bisogno, quindi ho solo dato un esempio di dove il 3D può essere usato

Quando avrò tempo, aggiungerò la visualizzazione 3D al mio tumbler e la caricherò su QB.
 

sarebbe sufficiente per me,

se MT avesse una funzionalità ufficiale/legale (funzione/gruppo) - creare un contenitore in una finestra, ottenere il suo handle di finestra.

solo allora con le DLL ci può essere disegnato e interattivamente-comunicare a tutti con qualsiasi libreria e non reinventare la ruota.

---

Per ora, tutti i tipi di moduli/dialoghi/lavagne fanno nelle loro proprie finestre separate, il che non è sempre conveniente.

 
Maxim Kuznetsov:

sarebbe sufficiente per me,

se MT avesse una funzionalità ufficiale/legale (funzione/gruppo) - creare un contenitore in una finestra, ottenere il suo handle di finestra.

solo allora con le DLL ci può essere disegnato e interattivamente-comunicare a tutti con qualsiasi libreria e non reinventare la ruota.

---

Nel frattempo, tutti i tipi di moduli/dialoghi/quadri di controllo li faccio nelle mie finestre separate, il che non è sempre conveniente.

Se ho capito bene, anch'io sono a favore di questa idea.
Nei progetti di meta-editor, c'è ancora un modulo di programma non implementato.
Ma non si sa cosa fosse previsto sotto questo modulo.
Mi piacerebbe molto creare i miei moduli come Market Overview, Navigator, Tools, ecc.
E farli passare attraverso i servizi. In questo modo la funzionalità modulare del terminale verrebbe estesa da plug-in scritti in proprio.

 
Roman:

Se ho capito bene, sono anche a favore di questa idea.
Nei progetti del meta-editor, c'è un modulo che non è ancora stato implementato.
Ma non si sa cosa fosse previsto sotto questo modulo.
Mi piacerebbe molto creare i miei moduli come Market Overview, Navigator, Tools, ecc.
E farli passare attraverso i servizi. Così espanderemo drasticamente la funzionalità modulare del terminale con plugin scritti in proprio.

una cosa del genere è anche richiesta! "creare una finestra" per dare una maniglia.

Con DLL, è ora possibile aprire/creare una finestra separata di Windows da qualsiasi luogo, dai servizi, Expert Advisors.

Ma diventa una specie di "separato" da MT - non sarà elencato nelle finestre di MT e non ne è affatto consapevole. Non può aggiungerlo al menu o metterlo da qualche parte nella sua interfaccia.

Questi "desideri" sono funzionalmente simili e sono implementati da quasi lo stesso codice, uno è complementare all'altro:

Il primo è stato quello di creare un contenitore (una finestra annidata, un widget) all'interno della finestra del grafico,

Il secondo è stato quello di creare una finestra MT "personalizzata

La creazione+gestione delle finestre dovrebbe essere nella testa dell'applicazione stessa. Ecco perché voglio un minimo di API "crea una finestra nel grafico o nell'interfaccia principale".

 
Maxim Kuznetsov:

"tranquillamente da solo, sto avendo una conversazione"....

Se hai tempo, dovresti provare a creare una finestra figlia per ChartGetInteger(0,WINDOW_HANDLE) direttamente attraverso WinAPI CreateWindowEx. Se viene creato correttamente, visualizzato e non interferisce con il grafico, allora la prima domanda verrà rimossa.

Sono abituato a librerie e linguaggi di alto livello :-) Dovrò fare qualche ricerca anch'io.

 

Un esempio di come funziona il motore:

https://www.mql5.com/ru/market/product/30901#

Vedi il link per una breve descrizione:
Создание графической библиотеки с нуля
Создание графической библиотеки с нуля
  • 2020.08.27
  • www.mql5.com
Общее обсуждение: Создание графической библиотеки с нуля