Discussione sull’articolo "Controlli Grafici Personalizzati. Parte 1: Creazione di un Controllo Semplice" - pagina 2

 
Urain:

Ci sono già abbastanza esempi di creazione di codici semplici, ma non ci sono esempi di creazione di una gerarchia di classi di successo o almeno di uno schema facile da implementare di un prodotto universale e facilmente trasformabile. Persino le classi standard di MQ spesso complicano la stesura dei programmi, in quanto stabiliscono in anticipo le possibilità.

Ecco cosa intendo.

È necessaria prima una dimostrazione del sistema nel suo complesso. Prima l'ARCHITETTURA. E mostrare quale posto occupa ogni mattone, un particolare controllore, all'interno di esso.

E poi passare alla dimostrazione del funzionamento di questi controlli (scusate per MFC, è solo una bella immagine).



 
sergeev:

Ok. Questo è molto buono.

Se parlate di funzioni di alto livello nella seconda parte, le persone inizieranno a usare i componenti dell'articolo più velocemente.
Inizierei comunque con moduli + pulsanti (+ inputbox) e solo nella terza parte parlerei di componenti di controllo specifici - elenchi, menu, ecc.

Dopo tutto, il compito è insegnare a scrivere tali controlli. Ma finché non c'è un modulo in cui inserirli, l'articolo non darà un effetto così spettacolare e necessario.
Inoltre, non appena si dà Form+Button (intendo 3 tipi - radio, push, check) + EditBox già nel secondo articolo, l'utente vedrà le classi nel loro insieme e sarà in grado di creare i propri controlli in modo indipendente.


Per interagire con il modulo, il controllo dovrà avere quattro metodi Init(...), Show(X,Y), Hide(), Event(), tutto sarà esattamente come ora, quando si crea un controllo sul grafico. Quindi potete già scrivere i vostri controllori.

Tuttavia, mi atterrò al mio piano, nella terza parte ci sarà un modulo con tutti i controlli - sarà più comodo da usare come esempio o come modello pronto - sarà necessario rimuovere qualcosa, raddoppiare qualcosa e tutto, sarà più un prodotto semilavorato pronto.

 
Integer:

Alla fine mi atterrò al mio piano, nella terza parte ci sarà un modulo con tutti i controlli.

ok. lo aspetteremo :)
 

L'argomento è rilevante... grazie per averlo trattato....

Tuttavia, dopo aver letto l'articolo e i commenti, ho pensato che l'essenza dell'algoritmo è un po' difficile da implementare.

Ho pensato: il seguente algoritmo non sarebbe più semplice e universale?

Un pannello con pulsanti di controllo può essere implementato in qualsiasi linguaggio con un potente editor (ad esempio Visual Studio ).

e questo (il programma per l'implementazione del pannello di controllo con pulsanti e altre funzionalità) funziona in modo autonomo e indipendente dalla MT5.

I risultati vengono inseriti in un file da cui MT5 legge periodicamente (è bene anche impostare un interrupt).

In questo modo, il processo di programmazione sarà semplificato e ci sarà l'universalità (la possibilità di lavorare con qualsiasi programma e anche con MT4).

Pertanto, il problema principale sarà l'aggancio del file di parametri risultante con il corpo del programma.

In questa direzione mi piacerebbe vedere l'evoluzione della MT5 e non la banale espansione delle funzioni....

E anche lo scambio via RAM non sarebbe male - è ancora più veloce di 1000 volte, probabilmente.

Inoltre, potremmo prendere in considerazione la connessione via Web... Sarebbe piuttosto interessante.

Cosa ne pensate?

 
Non ho capito il quarto principio. Potrebbe farmi qualche esempio?
 

Non capisco il quarto principio. Mi può fare un esempio?

 
LeoAndriolo:

Non capisco il quarto principio. Puoi farmi un esempio?

Ciao Leo, quando parli del quarto principio, a cosa ti riferisci esattamente? Mi sembra di capire che l'argomento 4 di questo articolo riguardi i "Pezzi per i controlli". Potresti specificare meglio la tua domanda?
 
Malacarne:
Ciao Leo, quando ti riferisci al quarto principio, a cosa ti riferisci esattamente? Mi sembra di capire che l'argomento 4 di questo articolo riguardi i "Pezzi per i controlli". Potresti specificare meglio la tua domanda?
1.1.4
 

Vorrei creare un oggetto grafico personalizzato che sia una combinazione di rettangoli e caselle e alcune informazioni. Utilizzerò spesso questo oggetto, quindi idealmente vorrei che fosse facilmente accessibile. È possibile aggiungere oggetti grafici personalizzati alla barra degli strumenti di MT5? In caso contrario, potreste dare qualche altro suggerimento?

 

Strano...

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   ObjectCreate(m_id,m_name,OBJ_VLINE,aSubWindow,0,0);
   Attach(aName,aChartID);
  }

Non è così che dovrebbe essere?

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   Attach(aName,aChartID);
   ObjectCreate(m_id,m_name,OBJ_VLINE,aSubWindow,0,0);
  }

Oppure così.

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   ObjectCreate(aChartID,aName,OBJ_VLINE,aSubWindow,0,0);
   Attach(aName,aChartID);
  }