Errori, bug, domande - pagina 1333

 

Mi chiedo cosa significherebbe? Molto interessante. Soprattutto su un conto reale. Senza controllare nulla, il mio broker ha aggiornato, ecco il risultato.

Terminale MT4, b. 845 prima dell'aggiornamento,
E dopo l'aggiornamento a b. 851

E così in tutti i terminali di tutte le coppie. W XP 32 bit.

Cosa dobbiamo fare? Finora una gioia favolosa. Questa è la prima volta in tutta la storia di MT4.

File:
22705.png  54 kb
22706.png  32 kb
 
Sergey Kucher:

Mi chiedo cosa significherebbe? Molto interessante. Soprattutto su un conto reale. Senza controllare nulla, il mio broker ha aggiornato, ecco il risultato.

Terminale MT4, b. 845 prima dell'aggiornamento,
E dopo l'aggiornamento a b. 851

E così in tutti i terminali di tutte le coppie. W XP 32 bit.

Cosa faremo? Finora una gioia favolosa.

Ho bisogno di maggiori dettagli e di indicatori per riprodurre il problema. Scrivete a servicedesk.

 
Alexander:

Ho bisogno di maggiori dettagli e di indicatori per riprodurre il problema. Scrivete a servicedesk.

Provate a installare questo indicatore su MT4 build 851 e tutto diventerà chiaro.
File:
OSMA1.mq4  3 kb
 
Sergey Kucher:
Provate a installare questo indicatore su MT4 build 851 e tutto diventerà chiaro.
Controllare
 

Cari sviluppatori!

Alla classe CCanvas manca una funzionalità importante: lo spessore del disegno. Questo solleva una domanda - aggiungerai questa funzionalità alla classe CCanvas?

Se non avete intenzione di aggiungere questa caratteristica, rendete virtuale il metodo PixelSet, altrimenti dovrete riscrivere metà della classe in eredità. E considero una cattiva idea cambiare qualsiasi cosa nelle classi della libreria standard e anche dannosa, perché quando si aggiorna il terminale o lo si installa, si dovrà cambiare tutto di nuovo, e non si possono ricordare tutte le modifiche dopo un po'.

Ecco la classe CCanvasNew come classe ereditata. Per far funzionare correttamente la classe, è necessario apportare una modifica al metodo PixelSet della classe base CCanvas, cioè renderlo virtuale.

La linea:

void              PixelSet(const int x,const int y,const uint clr);

sostituire da:

virtual void      PixelSet(const int x,const int y,const uint clr);
File:
CanvasNew.mqh  5 kb
 

Errore durante la compilazione

#property library
class name {};
class A {
public:
        int name() { Print( __FUNCTION__ ); return 0; }
        void f();
};
void A::f()
{
                name(); //1//нормально - вызывается A::name()
        int i = name(); //2//ошибка при компиляции
}
void OnStart()
{
	A a;
	a.f();
}
Qual è la differenza tra 1 e 2?
 

Spiegazione dell'applicazione #1268334

Blocco note

MetaEditor

 

La documentazione afferma:

"Le variabili globali esistono nel terminale client per 4 settimane dopo l'ultimo accesso, dopo di che vengono automaticamente cancellate. Un accesso a una variabile globale non è solo impostare un nuovo valore, ma anche leggere il valore della variabile globale" .

Le variabili globali vengono lette ogni giorno. E nonostante questo, vengono ancora distrutti. Devo ricrearli ogni mese. Vorrei davvero che sistemaste questa incongruenza nella documentazione di MT4.

 
Igor733:

La documentazione afferma:

"Le variabili globali esistono nel terminale client per 4 settimane dopo l'ultimo accesso, dopo di che vengono automaticamente cancellate. Un accesso a una variabile globale non è solo impostare un nuovo valore, ma anche leggere il valore della variabile globale" .

Le variabili globali vengono lette ogni giorno. E nonostante questo, vengono ancora distrutti. Devo ricrearli ogni mese. Vorrei davvero che sistemaste questa incongruenza nella documentazione di MT4.

Siete sicuri di non aver confuso il termine "Global Variable" con "Client Terminal Global Variable"?
 

Tapochun:
А Вы точно не перепутали понятие "Глобальная переменная" и "Глобальная переменная клиентского терминала

Intendevo le variabili terminali. Non confuso. GlobalVariableSet("_LastBalance",MathMax(AccountEquity(),GlobalVariableGet("_LastBalance")); Se si crea una variabile dal terminale e poi la si legge solo nell'EA, sarà comunque cancellata dopo un mese.