Errori, bug, domande - pagina 2477

 
secret:
Strano, è stato rifiutato per alcuni anni e ancora fanno pubblicità per comprare...

Hai ricevuto questa lettera dal terminale del broker, a quanto ho capito. Fagli una domanda o chiedigli di contattare il supporto se non riesce a risolvere il problema da solo.

 

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

Bug, bug, domande

Sergey Dzyublik, 2019.05.23 13:52


Come faccio a sapere che dovrei aspettare la loro correzione?

(non corretto in MT5(build 2069))"Bug con la coda di log nel terminale MT, presumibilmente, quando il numero di messaggi in coda raggiunge il limite, la riallocazione della memoria con la ricopiatura avviene, ma un messaggio 395° viene perso".
(corretto in MT5(build 2069))"Errore di compilazione quando si passa un parametro (void*)(NULL) alla funzione template".
(corretto in MT5(build 2059))"Strategy Tester: 2 passaggi previsti, ma in pratica numero infinito di passaggi > 900pcs a causa dell'errore "OnInit critical error"".
(non corretto in MT5(build 2069))"Invalid value of array size field within default assignment operator for structures with dynamic arrays".
(non corretto in MT5(build 2069))"Il compilatore non vede il costruttore di copia di classe predefinito quando restituisce un oggetto di classe per valore da una funzione".
(corretto in MT5(build 2059))"Il compilatore non riesce a vedere il type cast "in itself" per le classi pattern e le strutture "complesse"".
(non corretto in MT5(build 2069))"Quando si lavora con typedef, usare una funzione template con specializzazione esplicita non genera codice per questa funzione template".
(non corretto in MT5(build 2069))"Errore di compilazione quando si riutilizza la stessa firma di funzione all'interno di typedef".
(non corretto in MT5(build 2069))"Una parte significativa di funzioni per la gestione delle stringhe non funziona con caratteri NULL in una stringa (per esempio: ShortArrayToString, StringInit, StringFill)".
(non corretto in MT5(build 2069))"La funzione StringSetLength funziona solo per "tagliare" la lunghezza della stringa, non per aumentarla.
(corretto in MT5(build 2057))"Strategy Tester: 750 processi "metatester64.exe" sono in esecuzione".
"Forum www.mql5.com, quando si modifica un messaggio con un'immagine, l'immagine precedente non viene sostituita con quella nuova".


Suggerimenti:
"Permettere all'utente di forzare la generazione/cancellazione di codice per l'operatore di assegnazione predefinito (costruttore di copia)".
"Permettere ad ArrayCopy di copiare classi e strutture "complesse", in modo simile a come le strutture forniscono funzionalità di copia profonda per qualsiasi tipo di oggetto".
"Fornire la funzionalità per l'utente di leggere/impostare il valore della capacità quando si lavora con gli array dinamici".
"Modifiche per migliorare l'infografica del servizio Segnali"

 
Queste costanti

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

Servizi. Sta già lavorando?

fxsaber, 2019.06.07 06:37

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define  GENERIC_WRITE                    0x40000000
#define  CREATE_ALWAYS                    2
#define  FILE_ATTRIBUTE_NORMAL            0x00000080
#define  FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
  const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

E molti altri mancano a SB.

 

Ancora una volta vi chiedo di disabilitare gli ordini limite e prendere lo slippage nel tester sui simboli personalizzati su tick reali.

Ora tutti coloro che stanno guidando nello Strategy Tester da tick reali, dove vengono applicati ordini limite o take order, appartengono a una delle tre categorie

  • Non credere che siano stati imbrogliati dal tester.
  • Gli pseudo-fisici.
  • fxsaber.

Una grande richiesta di fermare questa pratica almeno sui simboli personalizzati. Questo è necessario non solo perché il Tester non menta, ma anche per poter lavorare più velocemente.

Ну а как еще обратить внимание на эту проблему?

 

La funzione CopyTicks non funziona richiedendo la cronologia dei tick da una data determinata. Pertanto, o si deve richiedere un gran numero di tick, o la storia dei tick richiesta non può essere ottenuta utilizzando il codice.

Il terminale MT5 si blocca permanentemente se lo spazio su disco si esaurisce quando si richiede una grande quantità di storia dei tick. Un crash del terminale può causare la cancellazione di tutte le impostazioni dell'account.

 
Gelium:

La funzione CopyTicks non funziona richiedendo la cronologia dei tick da una data determinata. Pertanto, o si deve richiedere un gran numero di tick, o la storia dei tick non può essere ottenuta con il codice.

Il terminale MT5 si blocca permanentemente se grandi richieste di cronologia dei tick esauriscono lo spazio su disco. Un crash del terminale può causare il fallimento di tutte le impostazioni dell'account.

I millisecondi sono nell'input, non i secondi.

 
fxsaber:

Millisecondi lì negli input, non secondi.

Leggete l'aiuto:

da

[in] Data a partire dalla quale sono richieste le zecche. Specificato in millisecondi dal 01.01.1970. Se il parametro from=0, viene dato l'ultimo conteggio di tick.

Il prossimo è un semplice test del codice:

int tm_ms = 10000000;
int ricevuto=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

Questa richiesta restituisce sempre 2000 ticks con qualsiasi cambiamento del parametro tm_ms. Dovrebbe essere così o sto facendo qualcosa di sbagliato?

 
Gelium:

Leggete l'aiuto:

da

[in] Data a partire dalla quale sono richieste le zecche. Specificato in millisecondi dal 01.01.1970. Se from=0, viene dato l'ultimo conteggio di tick.

Un altro è un semplice test del codice:

int tm_ms = 10000000;
int ricevuto=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

Questa richiesta restituisce sempre 2000 ticks con qualsiasi cambiamento del parametro tm_ms. Dovrebbe essere così o sto facendo qualcosa di sbagliato?

long tm_ms = (long)D'2019.06.01' * 1000;
impostare il conteggio corretto in modo che non sia 2000.
 

fxsaber:

long tm_ms = (long)D'2019.06.01' * 1000;


Impostare il giusto conteggio in modo che non sia 2000.

Grazie, funziona! Il mio errore con l'int. :)

 
Ogni compilazione dà un valore diverso in Warning
void OnStart()
{
  int i = 0;

  {
    int i = 0; // declaration of 'i' hides local declaration at line 482781488
  }
}