Errori, bug, domande - pagina 2322

 
Igor Makanu:

e avete già "moltiplicato" la variabile, quiCBandit(int number_of_features ) la variabile int number_of_features sarà già creata, o meglio non una variabile, ma una copia di questo valore variabile, quindi quello che scrivete CBandit(int number_of_features_my), quello che lasciate come voi non cambierà nulla, e il compilatore dà espressamente un avvertimento, perché.perché descrivendoCBandit(int number_of_features) avete chiuso l'ambito

privato:

int numero_di_caratteristiche;

e forse dovreste ottenere questo int number_of_features; nel metodo CBandit(), o forse no, il compilatore tiene traccia di questo

Non è necessario dare loro nomi diversi. In C++ si può fare così

solo un avvertimento è una seccatura.

 
Maxim Dmitrievsky:

Cioè, per non avere nomi diversi. In C++ si può fare così

Va bene ovunque, ma dipende dal produttore del compilatore e dalle sue impostazioni - emettere o non emettere vorning, imho, il compilatore fa tutto correttamente, non vale la pena di aggiungere 1 lettera alla descrizione del metodo, e aiuterebbe qualcuno se l'ambito è chiuso, per esempio - se qualcuno senza capire la questione, collega .mqh, e forse eredita e ci sarà una situazione simile, imho, tutto è corretto.

SZZ: descrivete in una classe come volete una funzione, e descrivete il corpo del metodo stesso, tutto sarà come lo volete in termini di chiarezza e sarà gestito correttamente, il compilatore tiene traccia solo dei tipi di variabili quando chiamate le funzioni, ma non dei nomi:

class tst
  {
private:
   int               number_of_features;

public:
   void              CBandit(int number_of_features);
  };
//+------------------------------------------------------------------+
//|     tst::CBandit(int number_of_features_my)                      |
//+------------------------------------------------------------------+
tst::CBandit(int number_of_features_my)
  {
   this.number_of_features=number_of_features_my;
  }
 
Igor Makanu:

ovunque è possibile, ma dipende dal produttore del compilatore e dalle impostazioni - emettere o non emettere vorning, imho, tutto correttamente il compilatore fa, non ti costa 1 lettera nella descrizione del metodo, e aiuta qualcuno se l'ambito è chiuso, come esempio - se qualcuno senza capire la questione collegherà .mqh, e forse erediterà e ci sarà una situazione simile, imho, tutto è corretto

SZZ: descrivi in una classe come vuoi una funzione, e il corpo del metodo che descrivi così, tutto sarà come vuoi tu sarà comprensibile ed elaborato correttamente, il compilatore tiene traccia solo dei tipi di variabili quando chiami le funzioni, ma non i nomi:

beh, sì, è quello che faccio... non è un grosso problema) stavo solo chiedendo

 
fxsaber:

La cache funziona.

Quale cache? Da dove? L'ho eseguito su un TF, poi, solo per controllare, l'ho eseguito su un altro (solo per evitare che la cache funzionasse) e ho ottenuto un altro risultato. Cosa ha a che fare questo con la cache?

 
Сергей Таболин:

Quale cache? Da dove? L'ho eseguito su un TF, poi, solo per controllare, l'ho eseguito su un altro (solo per assicurarmi che la cache non funzionasse) e ho ottenuto un risultato diverso. Cosa ha a che fare questo con la cache?

Molto probabilmente avete bisogno di usare i flag FILE_SHARE. Perché l'apertura/scrittura di un file può avvenire allo stesso tempo.

 
fxsaber:

Molto probabilmente dovrebbero essere usati i flag FILE_SHARE. Perché l'apertura/scrittura di un file può avvenire allo stesso tempo.

Cambiato.

int      filehandle  = FileOpen(filename,FILE_WRITE|FILE_READ|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_BIN|FILE_COMMON);

Non ha aiutato. 1 - M30, 2 - H4.

E in entrambi i casi si trovano meno scelte valide. (1956)

 
Сергей Таболин:

Cambiato.

Non ha aiutato. 1 - M30, 2 - H4

E in entrambi i casi si trovano meno delle opzioni consentite. (1956)

Purtroppo, senza codice da riprodurre non è possibile parlare in modo costruttivo.

 
fxsaber:

Purtroppo non si può parlare in modo costruttivo senza il codice per riprodurlo.

Il codice è dato qui e qui.

 

Cari sviluppatori!

Il problema della lunga attivazione dei propri agenti remoti sarà risolto?

"

2018.11.11 16:40:02.769 FX_09 occupato da un altro terminale

"

L'ottimizzazione non è stata fatta prima di 12 ore, nessun accesso alla vendita di risorse pubbliche per l'agente.

 

Perché ci sono livelli di stop non nulli sull'MQ-Beta? È una cosa antica.


ZZY Sono ancora più convinto che la ricerca di TC dovrebbe essere fatta solo su simboli personalizzati. Dopotutto, quei livelli di stop/freeze non hanno nulla a che fare con i modelli di mercato. Ma queste fermate a volte creano delle distorsioni così grandi che il tester comincia a mentire con il suo risultato.

Motivazione: