Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
OK.
il CFrame è chiaro.
---
Ho notato che hai intrapreso il percorso in cui i blocchi della gui sono rappresentati ciascuno dalla propria bitmap.un punto importante per coloro che leggono questo e che hanno già iniziato a pensarci:
dovrebbe lavorare solo su una bitmap, con tutti gli elementi della gui resi su di essa. Compreso l'ordine z.
In questo caso, ci saranno più possibilità di rendering. (ombre, gradienti, ecc.)
E il controllo è semplificato (non andremo al livello degli oggetti MT)
In questo caso, l'ombra di una finestra può essere implementata come una bitmap a canale alfa e quindi rimuovere il carico computazionale del calcolo di questa ombra.
Tutti gli elementi GUI di una singola finestra sono disegnati sulla sua bitmap considerando l'ordine Z e l'annidamento (non so come chiamare correttamente l'annidamento degli oggetti GUI)
Monitorare gli eventi del mouse attraverso CHARTEVENT_MOUSE_MOVE, l'ho fatto nei miei progetti, nessun ritardo trovato.
Non è stato possibile utilizzare altri eventi senza perdere la qualità dell'input del mouse.
Mi resta solo da implementare gli eventi che il motore GUI chiamerà secondo la descrizione del file di testo.
IMHO, ogni singola finestra di applicazione (dialogo) dovrebbe avere la propria bitmap e il proprio oggetto sul grafico (non considerare nemmeno il caso in cui più EA o indicatori "abusano" di una risorsa bitmap).
In questo caso, l'ombra di una finestra può essere implementata come una bitmap a canale alfa e quindi rimuovere il carico computazionale del calcolo di questa ombra.
Tutti gli elementi GUI di una singola finestra sono disegnati sulla sua bitmap considerando l'ordine Z e la nidificazione (non so come chiamare la nidificazione degli oggetti GUI)
questo è corretto.
Aggiungerei che non solo "ogni dialogo", ma specificamente una bitmap per esperto/indicatore. Più è possibile, ma è a discrezione del codificatore.
Penso che quando si ha un dialogo funzionante sulla bitmap, allora aggiungere finestre modali sulla stessa bitmap o un altro dialogo sulla stessa bitmap è una questione di tecnica e non è cruciale in questo momento.
Prima di tutto, facciamo un modello astratto senza specifiche, per esempio quali finestre si trovano dove, ecc.
Allora sarete in grado di coprire tutte le diverse caratteristiche e comportamenti
Saluti ai codificatori.
C'è un compito interessante per fare qualcosa di veramente utile, e penso che il crowdsourcing sarebbe una buona opzione.
In primo luogo, i risultati saranno disponibili a tutti nelle prime fasi. In secondo luogo, faremo qualcosa di nuovo usando MQL. E forse chiederemo anche agli sviluppatori di MT nuove chicche.
----
Quindi ecco il primo e fondamentale compito.
1. Dobbiamo fare una classe di pulsante (diciamo GButton, con il prefisso G per non confondersi con quelli esistenti).
- Finora il pulsante è semplice con del testo (nessuna immagine extra)
- il pulsante è disegnato su una certa area del canvas
- il pulsante ha un evento click.
---
Col tempo renderemo i codici sul bitbucket.
La GUI ideale è progettata in un'applicazione separata e importata come XML per esempio. Non è una buona idea descrivere la posizione dei pulsanti e delle forme di dialogo in un EA.
Layout:
Realizzazione di eventi:
In generale, sarebbe ideale avere una GUI progettata in un'applicazione separata e importata come XML per esempio. Non è una buona idea scrivere il layout dei pulsanti e delle forme di dialogo nell'Expert Advisor.
lì )
si arriva al nostro primo compito, che faremo dopo aver creato gli elementi.
In generale, sarebbe ideale avere una GUI progettata in un'applicazione separata e importata come XML per esempio. Non è una buona idea scrivere layout di pulsanti e moduli di dialogo in un EA.
In questo caso, dovreste iniziare a scrivere un parser XML veloce e buono. È una cosa molto utile da avere in casa. Io stesso sto usando una versione di CodeBase, ma è davvero lento su alcuni compiti, specialmente nelle nuove build. Ho già tutti questi cerotti e stampelle. In generale, scrivete un buon parser compagni! Rendilo facile per tutti.
Forse sapete come fare un cursore funzionante e completamente disegnato? In termini generali almeno... Vorrei imparare il concetto generale.
Forse sapete come fare un cursore completamente funzionante e disegnato? In termini generali almeno... Vorrei imparare il concetto generale.
Guarda la classe CCanvas. tutte le primitive di rendering sono disponibili.
In secondo luogo, puoi caricare bmp per i tuoi vuoti e mischiarli a la BitBlt sulla tela.