Errori, bug, domande - pagina 1304

 
ns_k:
Build 1100 del 20.03.2015. Il codice si compila bene, volevo sbarazzarmi degli avvertimenti. Fondamentalmente, gli avvertimenti in sé non mi danno fastidio, ma ero confuso dal fatto che non c'è DoubleToInt, a cui il compilatore sembra alludere generando"possibile perdita di dati dovuta alla conversione di tipo" :)

In questa situazione non è necessario normalizzare il valore del tipo reale a 0 decimali, perché è normalizzato^

1. Un valore di tipo reale con 0 decimali, il cui risultato sarà comunque castato al tipo int esplicitamente o implicitamente, e tutto ciò che si trova dopo la virgola sarà ignorato in ogni caso.

2) Questa è un'operazione inutile per il processore, è sufficiente usare la conversione esplicita dei tipi:

lSign = (int)(MathAbs(xPosition.Profit())/xPosition.Profit());

E per il futuro, per capire l'argomento, guardate la sezione di riferimento sulle conversioni di tipo. Se non è abbastanza, Internet è pieno di informazioni sulle conversioni di tipo in C e C++ :)

PS. riguardo a xPosition.Profit() capisco che è una chiamata a un metodo di un oggetto di classe, se non ci sono avvertimenti su di esso.

 

Il compito è quello di eliminare il file se è più grande del necessario

   if(FileSize(file_handle)>1024) // 1 megabyte [MB] = 1048576 byte // 2 megabyte [MB] = 2097152 byte
      FileDelete(InpFileName);

Ma il file continua a crescere ... E non viene cancellato ...

 
VOLDEMAR:

Il compito è quello di eliminare il file se è più grande del necessario

Ma il file continua a crescere ... E non viene cancellato ...

Il file deve essere chiuso prima. E poi cancellare ...
 
stringo:
Il file deve essere chiuso prima. E poi cancellarlo.
Provato, file_handle poi -1 e nessun ritorno di dimensione del file...
 
stringo:
Il file deve essere chiuso prima. E poi cancellarlo.
Tutto capito, al momento della lettura del record ricordato la dimensione, poi dopo tutto se la dimensione è cresciuta poi cancellare ...
 
_Konstantin_:

In questa situazione non è necessario normalizzare il valore del tipo reale a 0 decimali, perché è normalizzato^

1. Un valore di tipo reale con 0 decimali, il cui risultato sarà comunque castato al tipo int esplicitamente o implicitamente, e tutto ciò che si trova dopo la virgola sarà ignorato in ogni caso.

2) Questa è un'operazione inutile per il processore, è sufficiente usare la conversione esplicita dei tipi:

E per il futuro, per capire l'argomento, guardate la sezione di riferimento sulle conversioni di tipo. Se non è abbastanza, Internet è pieno di informazioni sulle conversioni di tipo in C e C++ :)

PS. riguardo a xPosition.Profit() capisco che è una chiamata al metodo di un oggetto di classe, se non c'è un avvertimento su di esso.

Grazie!

(int) è proprio quello che il dottore ha ordinato :)

 

Signori sviluppatori!

La sostituzione dei nomi dei metodi e delle proprietà è insensibile alle maiuscole e alle minuscole, e questo è un bene, ma perché la sostituzione dei nomi delle variabili stesse dovrebbe funzionare diversamente?

Per favore, assicuratevi che sia tutto uguale.

Grazie!

ps. A proposito, lo sono anche i nomi delle funzioni. In generale, sembra che tutto ciò che viene dopo il punto sia insensibile alle maiuscole e tutto ciò che viene prima non lo è. Per esempio, iniziate a digitare Arrays - ArraySize non apparirà nella lista

 

Vorrei sapere con certezza qual è la differenza tra un Expert Advisor e un Expert Advisor. In precedenza, ero convinto che l'EA fosse impegnato nell'auto-trading, mentre l'EA richiede solo segnali per entrare nel mercato al momento giusto (da qui la diversa struttura dei blocchi principali del codice del programma). Allora cosa c'è lungo queste linee:

\MQL5\Experts\Examples\MACD\MACD Sample.mq5,

\MQL5\ExpertsAdvisors\ExpertMACD.mq5?

Entrambi operano automaticamente come EAs, ma il secondo è nella cartella \Advisors, cioè EAs.

 

Inoltre, ai tooltip. La freccia su dovrebbe spostare il cursore dalla linea superiore a quella inferiore ;)

 

Può spiegare come questo può accadere?

L'intestazione mostra un periodo di 15 minuti, ma in realtà il grafico è mostrato come un'ora

Motivazione: