Che diavolo sta succedendo? - pagina 8

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

Caro, solo una parola, perché nessuno per il quale lavorare con i file è importante, finché non l'ho stampato, ha suggerito che questo potrebbe essere il problema ;) :) Comunque, questo è risolto.

Ora una domanda distratta: qual è la differenza tra le seguenti linee?

   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_OPTIMIZATION) ? ".opt" : ".tst");
   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_TESTER) ? ".tst" : ".opt");

E, se possibile, spiegazioni - perché?

Modo di ottimizzazione

Modalità Tester

La modalità tester include la modalità di ottimizzazione, ma non viceversa.

Le vostre due linee sono sbagliate.

Il primo:

Se la modalità di ottimizzazione, l'estensione è .opt, altrimenti l'estensione è .tst. Ma in caso di "altrimenti", potrebbe non essere affatto un tester.

Secondo:

Se la modalità tester, l'estensione è .tst, altrimenti l'estensione è .opt. Ma nel caso di "altrimenti" potrebbe non essere affatto un tester.

Giusto:

  • Se modalità tester.
    • Se la modalità di ottimizzazione, l'estensione .opt
      • altrimenti, l'estensione .tst
 
Artyom Trishkin:

Modalità di ottimizzazione

Modalità Tester

La modalità Tester include la modalità di ottimizzazione, ma non viceversa.

Le tue due linee sono entrambe sbagliate.

Il primo:

Se la modalità di ottimizzazione, l'estensione è .opt, altrimenti l'estensione è .tst. Ma in caso di "altrimenti", potrebbe non essere affatto un tester.

Secondo:

Se la modalità tester, l'estensione è .tst, altrimenti l'estensione è .opt. Ma nel caso di "altrimenti" potrebbe non essere affatto un tester.

Giusto:

  • Se modalità tester.
    • Se la modalità di ottimizzazione, l'estensione .opt
      • altrimenti, l'estensione .tst

questo è sufficiente.

A meno che, ovviamente, non vogliate controllare se l'EA funziona in modalità grafico o tester.

 
Andrey Dik:

Basta così.

E se non è proprio un tester, cosa lo è?

 
Artyom Trishkin:

E se non è affatto un tester, allora cosa?

non ha il compito di controllare nel tester o su una corsa del grafico, ma solo di determinare se è una semplice corsa sulla storia o come parte di un pacchetto di ottimizzazione, se ho capito bene TC

 
Andrey Dik:

non ha il compito di controllare nel tester o sull'esecuzione del grafico, ma solo di determinare se è una semplice esecuzione sulla storia o come parte di un pacchetto di ottimizzazione, se ho capito bene TC

Esattamente giusto. Se non è un tester o un ottimizzatore, non viene affatto qui )))

Artem, se ho capito bene, il mio tale disegno

if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_TESTER))

è superfluo?

Sarà sufficiente

if(MQLInfoInteger(MQL_TESTER))

?

 
Maxim Kuznetsov:

se il file è scritto su COMMON, è obbligatorio avere SHARE_READ e un controllo della corsa in scrittura piuttosto complicato. È abbastanza decente non sparare al tallone in pubblico.

In generale, è buona pratica che i consulenti non scrivano nulla nel comune. Lo possono leggere, ma è scritto o copiato lì dal commerciante che ne è personalmente responsabile. Per tutti gli Expert Advisors in tutti i terminali, queste sono parole date dall'alto.

Se un file viene scritto in una solita directory senza SHARE_XXX, ma l'ottimizzatore genera errori di accesso condiviso, allora è un bug degli sviluppatori del terminale

Quindi, l'Expert Advisor non scrive nulla lì, ma legge soltanto.


P.S. Inoltre, è l'unico che lo legge (finora).
 
Сергей Таболин:

Ma l'Expert Advisor stesso non ci scrive niente, lo legge soltanto.


P.S. Inoltre si legge solo esso (l'unica copia finora).

Se in COMMON, SHARE_READ è obbligatorio.

come nella barzelletta - "non puoi capirlo, devi ricordarlo" :-)

PS/ quando in tester - legge non solo dal comune (separato per gruppo) ma anche da tutte le copie che vengono testate in parallelo. A proposito, questo è anche un potenziale bug - sembra che sia possibile ingannare il tester e disegnare un graal

 
Maxim Kuznetsov:

se in COMMON, SHARE_READ è obbligatorio.

Beh, non è obbligatorio.

Il multi-accesso non è così buono come si vorrebbe che fosse.

 
Andrey F. Zelinsky:

Beh, non deve esserlo per forza.

Il multi-accesso non è tutto quello che si dice.

Spero che non ci siano problemi con il multi-accesso in modalità di sola lettura? O c'è?

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

Esattamente giusto. A meno che tu non sia un tester o un ottimizzatore, non vieni affatto qui )))

Artem, se ho capito bene, allora la mia costruzione

è superfluo?

Sarà sufficiente

?

No, al contrario.
Beh, questo se hai bisogno di mezze misure.
Motivazione: