Errori, bug, domande - pagina 3174

 
Andreas Hoogendoorn # :

Sto usando le classi CGraphic e CCurve e succede qualcosa di strano. Sto eseguendo due istanze dello stesso EA su coppie di valute diverse. Quando scorro un grafico, l'altro grafico è visibile per un momento. Sembra che la memoria sia incasinata tra i due grafici. Riavviare il terminale non fa differenza. (L'immagine è una gif animata)


Puoi postare un esempio minimo? E, per favore, specifica i dati del terminale e del sistema operativo, qualcosa del genere:

Forum sul trading, sistemi di trading automatizzati e test di strategie di trading

MetaTrader molto difettoso

Vladimir Karputov, 2021.03.16 04:20

Se hai una domanda, prima di tutto dovresti mostrare le prime tre righe della scheda 'Journal


(selezionare queste righe, copiare negli appunti e incollare nel messaggio usando il pulsante Codice). Dovrebbe apparire così:

2021.03.16 05:13:07.133 Terminal        MetaTrader 5 x64 build 3003 started for MetaQuotes Software Corp.
2021.03.16 05:13:07.134 Terminal        Windows 10 build 19042, Intel Core i7-9750 H  @ 2.60 GHz, 26 / 31 Gb memory, 842 / 947 Gb disk, IE 11, UAC, GMT+2
2021.03.16 05:13:07.134 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

 
Andreas Hoogendoorn #:

Sto usando le classi CGraphic e CCurve e succede qualcosa di strano. Sto eseguendo due istanze dello stesso EA su coppie di valute diverse. Quando scorro un grafico, l'altro grafico è visibile per un momento. Sembra che la memoria sia incasinata tra i due grafici. Riavviare il terminale non fa differenza. (L'immagine è una gif animata)


Ok ho risolto il problema anche se è ancora un bug !!!

Quando si utilizza la classe CGraphic è obbligatorio utilizzare un nome unico quando si crea una risorsa grafica.

Le risorse non sono isolate come dovrebbe essere. Un EA di un grafico può accedere alla risorsa di un altro grafico.


2022.04.17 12:44:13.049 Terminal        MetaTrader 5 x64 build 3260 started for MetaQuotes Software Corp.
2022.04.17 12:44:13.050 Terminal        Windows 10 build 19044, 4 x Intel Core i5  750 @ 2.67 GHz, 4 / 11 Gb memory, 4 / 124 Gb disk, UAC, GMT-3
2022.04.17 12:44:13.050 Terminal        C:\Users\andre\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

#include <Graphics\Graphic.mqh>
CGraphic          graphic;

graphic.Create(0, "test", 0, 0, 0, 1200, 400);

Questo esempio fallisce.

graphic.Create(0, (string) MathRand(), 0, 0, 0, 1200, 400);
Questo esempio va bene.
 

Ne ho già scritto . Ma è davvero fastidioso.
Cari sviluppatori del backend di questo sito, per favore correggetelo:
continuo a ricevere notifiche su nuove versioni di prodotti a pagamento che non ho mai comprato, a volte più volte al giorno:

Clicco su questo link:

 
Andreas Hoogendoorn #:

Sto usando le classi CGraphic e CCurve e succede qualcosa di strano. Eseguo due istanze dello stesso EA su diverse coppie di valute. Quando scorro un grafico, l'altro grafico diventa visibile per un istante. La memoria sembra confondersi tra i due grafici. Riavviare il terminale non cambia nulla. (L'immagine è una gif animata).


Quando si crea un oggetto grafico, è necessario aggiungere il nome, ad esempio l'ID del grafico su cui verrà disegnato:

   CGraphic graphic;

   graphic.Create(0,"G"+(string)ChartId(),0,30,30,780,380);


Altrimenti, il nome della risorsa grafica su entrambi i grafici sarà lo stesso, e poiché le risorse grafiche sono globali per il terminale, entrambi i programmi lavoreranno con la stessa risorsa (cioè disegneranno sulla stessa tela).

 

Errore : OrderCalcMargin restituisce un valore errato


OrderCalcMargin() a volte restituisce un valore sbagliato del margine richiesto.

Per esempio, funziona correttamente su molte coppie di forex importanti e su molti altri CFD, ecc, restituisce un valore corretto.


Ma, USDPLN o PLATINUM, o qualche altro, restituisce un valore assolutamente sbagliato del margine richiesto.

L' ENUM_SYMBOL_CALC_MODE richiesto per EURUSD e USDPLN è lo stesso(SYMBOL_CALC_MODE_FOREX), ma se per EURUSD la funzione restituisce il valore corretto del margine richiesto, per USDPLN è sbagliato.

Perché?

 

Ciao a tutti, spero di scrivere nel posto giusto (ma semmai suggerite un posto più pertinente).

Sto parlando della scomparsa di allerts in MT5 (versione 5.00 build 3260, Just2Trade).

L'essenza: se aggiungo (o cambio) tutte le allocazioni e riavvio semplicemente il computer senza chiudere la finestra (Start Shutdown-Reboot),
tutte le modifiche in tutte le allocazioni spariscono. E per salvarli, dovete ricordarvi di chiudere la finestra del terminale con la croce.

Questo è un bug piuttosto crudele che deve essere risolto.

 
Lazar Buga #: Perché?

Il tuo broker ha fatto un casino. Parla con loro.

 
Ilyas #:

Quando si crea un oggetto grafico, è necessario aggiungere il nome, per esempio, l'ID del grafico su cui sarà disegnato:


Altrimenti, il nome della risorsa grafica su entrambi i grafici sarà lo stesso, e poiché le risorse grafiche sono globali per il terminale, entrambi i programmi lavoreranno con la stessa risorsa (cioè disegneranno sulla stessa tela).

Il nome della risorsa oggetto grafico non può superare i 63 caratteri. Se si aggiunge un identificatore grafico al nome, non rimane molto spazio per un nome sano e leggibile, purtroppo.

 
a18 #:

Ciao a tutti, spero di scrivere nel posto giusto (ma semmai suggerite un posto più pertinente).

Sto parlando della scomparsa di allerts in MT5 (versione 5.00 build 3260, Just2Trade).

L'essenza: se aggiungo (o cambio) tutte le allocazioni e riavvio semplicemente il computer senza chiudere la finestra (Start Shutdown-Reboot),
tutte le modifiche in tutte le allocazioni spariscono. E per salvarli, dovete ricordarvi di chiudere la finestra del terminale con la croce.

È un bug piuttosto crudele da risolvere.

Corretto, sarà nella versione beta.

 
Errore di compilazione:
template<typename T>
struct A {
    T *t;
};
void OnStart()
{
    A<void> a; //Error: 'void' - expression of 'void' type is illegal
}
Motivazione: