Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 588

 
Slivator:

Forse questo potrebbe funzionare http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=8

Ma perché volete cambiare il colore della barra? Se la barra deve essere contrassegnata, forse basta mettere un'icona.

Questo è proprio il modo in cui l'uomo vuole. E giustamente...
 

C'è un problema con le classi.

Ci sono due librerie di classi - la libreria standard di MQL4 e quella di uno sviluppatore terzo. Entrambe queste librerie dovrebbero essere usate, ma il problema è che contengono alcune classi con lo stesso nome. Il risultato è un'ambiguità: il compilatore non sa da quale libreria sto usando la classe.

Come affrontare questa situazione? In C++ questo problema può essere risolto con gli alias, in MQL non lo so.

 
Barbarian:

C'è un problema con le classi.

Ci sono due librerie di classi - la libreria standard di MQL4 e quella di uno sviluppatore terzo. Entrambe queste librerie dovrebbero essere usate, ma il problema è che contengono alcune classi con lo stesso nome. Il risultato è un'ambiguità: il compilatore non sa da quale libreria sto usando la classe.

Come affrontare questa situazione? In C++ questo problema può essere risolto con gli alias, in MQL non lo so.

Ognuno mette il proprio spazio dei nomi.
 
Zhunko:
Mettete ciascuno nel proprio spazio dei nomi.

Come si definisce uno spazio dei nomi in MQL4? Non riesco a trovarlo. Finora, sto pensando a qualcosa del genere:

#ifndef  CTable
   #include <\Integer_Test\GUI.mqh>
#endif
#ifndef  CList
   #include <Arrays\List.mqh>
#endif

ma continuo a ricevere errori con la ridefinizione. Credo di aver bisogno di qualcos'altro.

 
Barbarian:

Come si definisce uno spazio dei nomi in MQL4? Non riesco a trovarlo. Finora, sto pensando a qualcosa del genere:

ma continuo a ricevere errori con la ridefinizione. Credo di aver bisogno di qualcos'altro.

namespace A
 {
  class a{};
 }
namespace B
 {
  class a{};
 }
Sono due classi diverse, anche se sono le stesse :-))
 
Zhunko:
Sono due classi diverse, anche se sono le stesse :-))

Questo è un esempio per C++, non c'è spazio dei nomi in MQL4.
 
Barbarian:
Questo è un esempio per C++, nessun namespace in MQL4.

Ho accidentalmente cancellato la mia risposta :-(

Dovrò chiedere loro di farlo.

Potreste provare a metterlo in una classe con membri statici. È quasi la stessa cosa.

Oppure può essere descritto nel modo seguente:

class A
 {
  class a{};
 }
class B
 {
  class a{};
 }
 
Zhunko:

Ho accidentalmente cancellato la mia risposta :-(

Dovrò chiedere loro di farlo.

Potreste provare a metterlo in una classe con membri statici. È quasi la stessa cosa.

O allo stesso modo:

Grazie Vadim, ho già pensato a un modo simile. Non funzionerà per me, dato che la libreria di classi standard deve essere invariata. Con la libreria di terze parti è più divertente :) cambiare non voleva cambiare nulla, ma alla fine, che non avrebbe incasinato con tempi inutili, cambiato il nome della classe in esso e tutto associato ad esso.

Sono interessato ai modi per evitare questo problema usando gli strumenti MQL4, senza cambiare le librerie di classe stesse.

 
Barbarian:

Grazie Vadim, ho già pensato a un modo simile. Non funzionerà per me perché la libreria di classi standard dovrebbe essere invariata. Non volevo cambiare nulla in esso, ma alla fine ho cambiato il nome della classe nella biblioteca e tutto ciò che vi era associato, per non scervellarmi.

Sono interessato ai modi per evitare questo problema usando gli strumenti MQL4, senza cambiare le librerie di classe stesse.

Questo è quello che è senza alcun cambiamento o intervento.
 
AlexeyVik:


Guarda il codice dell'indicatore Heiken Ashi
L'ho già sventrato... C'è un istogramma lì, se non riesci a trovare un modo per usarlo con le barre...
Motivazione: