Errori, bug, domande - pagina 1426

 

Quando si testano indicatori e EA multivaluta in MT5, è possibile iniziare il test da una data precedente all'inizio della storia per alcuni dei simboli utilizzati senza problemi? Per iniziare a usare questi simboli nella parte del test in cui appare la storia?

L'intero log del tester è inondato di XXXYYYY: non ci sono errori nella storia. È qualcosa che sto facendo male o tale caratteristica è assente?

P.S. Controllato. L'errore riguarda l'intera storia, se il test è stato eseguito prima dell'inizio della storia di un particolare personaggio. Se questo è il caso, molto triste. Inviato per e-mail a servicedesk1342540

 
Vladimir Pastushak:
Prezzo di stop loss o take profit non corretto.
Buon pomeriggio, Vladimir.
Potresti per favore dirmi come risolvere il problema?
 
Сергей Верещак:
Buon pomeriggio, Vladimir.
Potresti dirmi come risolvere questo problema?
È necessario controllare quale prezzo si mette a prendere e quale a stop loss... È l'unica cosa che posso fare...
 

Non so cosa sia questo bug, ma se abbiamo un EA in esecuzione con oggetti grafici su un grafico, poi dopo aver avviato il tester, gli oggetti grafici smettono di essere elaborati nella prima finestra ...

L'ho notato proprio oggi...

costruire 902

 

Ciao gente! Ho appena iniziato a lavorare con i file, quindi ho un malinteso: voglio scrivere un numero alla fine di un file binario, ma questo sovrascrive il contenuto precedente. Cosa fare? Grazie in anticipo!

int file_handle;

file_handle=FileOpen("DEAL.bin",FILE_WRITE|FILE_BIN);

FileSeek(file_handle,0,SEEK_END);

FileWriteDouble(file_handle,12345.12);

FileClose(file_handle);

 
Ekaterina Hinkel:

Ciao gente! Ho appena iniziato a lavorare con i file, quindi ho un malinteso: voglio scrivere un numero alla fine di un file binario, ma questo sovrascrive il contenuto precedente. Cosa fare? Grazie in anticipo!

Есть некоторые особенности работы при указании флагов чтения и записи:
 •Если указан FILE_READ – делается попытка открытия уже существующего файла. Если файл не существует, то открыть файл не получится, новый файл не создается.
 •Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.
 •Если FILE_WRITE –  файл создается заново с нулевым размером.
 
Yury Kirillov:

2.0+2.0 non è necessariamente uguale a 4.0

NormalizeDouble è la normalizzazione, non l'arrotondamento.

Quando si normalizza un numero di tipo doppio tramite la funzione NormalizeDouble (per MQL5 e MQL4), l'arrotondamento dei valori al punto decimale impostato in questa funzione viene eseguito da molto tempo.

P./S.: Questo può essere controllato in diversi modi. Per esempio, creando linee orizzontali su un grafico usando uno script con valori che differiscono in decimali. E dove il marchio successivo per la linea è determinato utilizzando la funzione NormalizeDouble con le cifre diminuite di uno.

Cioè, diciamo che la prima linea è tracciata a qualche segno con il numero di decimali come nel grafico. La seconda linea è disegnata allo stesso segno, ma con il numero di decimali (cifre) nella funzione NormalizeDouble, più piccolo di uno. Il terzo - anche con il segno iniziale, ma con cifre nella funzione NormalizeDouble più piccole di due rispetto al grafico. Funziona così.

 
Cari signori, quando MT4 diventerà un'applicazione a 64 bit?
 
Aleksandr Novikov:
Cari signori, quando MT4 diventerà un'applicazione a 64 bit?
Mai più. Noi quadrupedi siamo ai margini della vita.
 

Per favore, consigliate come determinare il valore di Stops_Level.

SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) restituisce 0

(È anche 0 nel terminale nella finestra delle specifiche)

Ma quando si cerca di piazzare un ordine con uno stop di 10 punti inferiore all'ASK, SendOrder restituisce l'errore 10016 (stop sbagliato nella richiesta)

Allo stesso tempo, se controlliamo l'ordine usando CheckOrder, non c'è nessun errore.

Per sicurezza, ecco la struttura della richiesta:

Req.action = TRADE_ACTION_DEAL;

Req.symbol = _Symbol;

Req.volume = 1;

Req.type=ORDER_TYPE_BUY;

Req.type_filling=ORDER_FILLING_RETURN;

Req.sl = Ask - 10;