Errori, bug, domande - pagina 295

 
Voodoo_King:


E poi... nello sviluppo del software, è considerato un buon tono non avere schermate di crash.


Ed è con questo che abbiamo a che fare.

 
stringo:
Dovete riprodurre l'errore per risolverlo. Vorrei vedere i registri dei vostri agenti. Sarebbe bello se poteste inviare il vostro esperto. E descrivere i parametri di prova in ingresso.

Deve essere il lasso di tempo del minuto invece delle altre selezioni quando"ogni tick" è attivo.

Ho solo minuti di tempo ovunque e tutto sembra ok.

P.S. Ho scritto sopra.

 

Se il flag FILE_SHARE_READ è un flag di apertura e non il flag di apertura stesso, perché il file si apre comunque?

2011.02.07 18:18:14    Лист18 (EURUSD,H1)    Файл открыт с флагом FILE_SHARE_READ нормально Templates\Example.txt
2011.02.07 18:18:14    Лист18 (EURUSD,H1)    SHARE_READ  
void SHARE_ReadFile()
  {
   string subfolder="Templates";
   int han=FileOpen(subfolder+"\\"+folder+".txt",FILE_SHARE_READ|FILE_TXT|FILE_ANSI,"\r");
   if(han!=INVALID_HANDLE)
     {
      Print("SHARE_READ  ",FileReadString(han));           

      Print("Файл открыт с флагом FILE_SHARE_READ нормально "+subfolder+"\\"+folder+".txt"); 
      FileClose(han);
     }
   else
     {
      Print("Ошибка открытия файла с флагом FILE_SHARE_READ "+subfolder+"\\"+folder+".txt, error",GetLastError());
     }
  }

Mi sembra che il risultato dovrebbe essere un errore di file aperto.

E infatti lo è, perché non viene stampato nulla, ma controllando l'handle si vede che il file è aperto.

 
mql5:
L'immagine è aggiunta alla risorsa EX5 da
#resource "<path to file relativo alla cartella MQl5\Images>".

Esempio

#resource "res\\test.bmp";

È tutto a posto? Sto cercando il percorso se #resource nel file di EA, relativo alla directory di origine di EA.

impossibile aprire il file di risorse 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\mest.bmp' (3) 0 0

Se #resource è nel file dell'iniezione, tutto va in un posto solo e va nelle cartelle di altri inludi.

impossibile aprire il file risorsa 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3) 0 0

La prossima variante cerca dalla "radice" di MQL5

#resource "\\res\\test.bmp";

impossibile aprire il file risorsa 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3) 0 0

Vedo anche che le cose che funzionavano prima non funzionano più (il file che si trova in MQL5/Images/res/test.bmp).

ObjectSetString(0,pname,OBJPROP_BMPFILE,0,"\\res\\test.bmp");

Mi sono perso qualcosa?

 
Vigor:

Esempio

È tutto a posto? Sto cercando il percorso se #resource nel file di EA, relativo alla directory di origine di EA.

impossibile aprire il file di risorse 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\mest.bmp' (3) 0 0

Se #resource è nel file_include, tutto va in un posto solo e va nelle cartelle di altri inlude.

impossibile aprire il file risorsa 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3) 0 0

La prossima variante cerca dalla "radice" di MQL5

impossibile aprire il file risorsa 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3) 0 0

Ho anche notato che qualcosa che prima funzionava non funziona più (il file è MQL5/Images/res/test.bmp).

Mi sono perso qualcosa?



Penso che dovrebbe essere

Terminale client MetaTrader 5 build 384

  1. Terminale: Aggiunta procedura guidata per l'aggiunta di agenti di test remoti. Oltre all'inserimento manuale e all'importazione da file *.mt5, aggiunta la possibilità di scansionare una rete locale per trovare un agente funzionante.
  2. MQL5: Aggiunta la possibilità di memorizzare risorse in file *.ex5. Per aggiungere una risorsa a *.ex5, usate la direttiva #resource specificando il percorso del file relativo alla directory MQL5\Images del terminale client. Per esempio:#resource myexpert\button.bmp
    I file nella risorsa possono essere indicati con una stringa come: "nome_sceneggiatura::nome_risorsa". Il nome del file (senza estensione) passato nella direttiva #resource è usato come nome della risorsa.
Se capito bene, i file possono essere localizzati qui - MQL5\Images\nome della directory/nome del file.
 
Interesting:

Si presenta così

Terminale client MetaTrader 5 build 384

relativo alla directory MQL5\Images del terminale client. Per esempio:#resource myexpert\button.bmp

Questo è relativo e non funziona. e senza virgolette. e backslash è doppio.
 
Vigor:
Questo è relativo e non funziona. e non puoi farlo senza virgolette. e il backslash è doppio.

Controlliamo.

È così che la #risorsa "\Images\\\\Phoenix\Logo.bmp" sembra funzionare;

Anche se sembra strano (secondo l'idea, dovrebbe cercare relativamente MQL5\Images, cioè almeno dovrebbe essere così - #resource "\\\\Phoenix\\Logo.bmp").

O la si rende relativa alla directory Images o si corregge la descrizione della release (per rendere tutto logico e comprensibile)...

 
Ho fornito un esempio di cartella MQL5 nei commenti. A proposito, ho i messaggi di log lì e mostra chiaramente DOVE il compilatore cerca i file.

E, come ho scritto, OBJPROP_BMPFILE con percorso relativo dalla cartella Images non funziona nemmeno. In generale, secondo gli ultimi esperimenti, tutto funziona quando il percorso completo è specificato a partire da \ da MQL5.

La domanda era se questa innovazione è valida? O è un fenomeno temporaneo?

 
Vigor:
Avevo un esempio nel mio commento sulla cartella MQL5. A proposito, ho dei messaggi di log lì e mostra chiaramente DOVE il compilatore cerca i file.

Ma guarda ovunque ma non dove dovrebbe :(
 

Ciao!

Codice:

if (NormalizeDouble(Prices_Flow[0].Price_Position,4) != 0)
{
double Position_In_Percentage = Prices_Flow[0].Indicator_Position * 100 / Prices_Flow[0].Price_Position;
//altro codice irrilevante per la domanda
}


Quando si testa in Strategy Tester allo stesso tempo su uno degli strumenti si verifica la divisione per zero (2011.02.08 01:40:23 Core 2 2010.08.02 00:00:00 Zero divide in 'almirlib.mqh' (535,102))

Come è possibile con il codice di cui sopra?