Errori, bug, domande - pagina 1326

 
Alexander Laur:

Karputov Vladimir e Vladimir Zubov leggete almeno quello che commentate? Oppure la cosa principale per voi è esprimere il vostro rispetto. Se non hai capito il problema in questione, fatti da parte, forse imparerai qualcosa di utile per te stesso.

La mia conversazione con Renat sul LAVORO INCOMPRENSIBILE DELLE FUNZIONI !!!

Perché la funzione RIGHT (return(true)) restituisce ZERO?

Come può il valore di un segno di spunta essere uguale a zero? Dove prende SymbolInfoDouble() i dati sul valore del tick, se restituisce il valore zero del tick?

Dovreste almeno capire cosa state commentando.

Probabilmente non hai capito bene come funzionano le funzioni. La funzione:

  1. Restituisce correttamente il risultato della sua esecuzione. Usando l'esempio di un negozio di alimentari. Il compito della funzione è quello di recuperare ciò che si trova nella casella 5. Se la funzione è andata al magazzino, ha trovato la scatola n. 5 e ha scosso quello che c'è nella sua borsa, allora la funzione restituirà "Task complete successfully".
  2. La funzione non si preoccupa molto di quello che ha nella borsa. Questo è il vostro problema ora. Analizzare esattamente ciò che la funzione ha portato nella borsa.

Quindi il vostro lavoro come programmatore è quello di controllare due risultati: se la funzione ha completato con successo e cosa la funzione ha restituito. E non c'è bisogno di pretendere dal terminale quello che si vuole vedere. È sufficiente fare la cosa giusta.

 

Risultato ambiguo

void OnStart()
{
        A a( 10 );
        {
                A a( a.c );             //здесь = не 10
                Print( a.c );
        }
        {
                A a = a.c;              //здесь = 10
                Print( a.c );
        }
}

In un caso il risultato è: 10 e nell'altro: non 10. Qual è la differenza?

 
A100:

Risultato ambiguo

In un caso il risultato è: 10 e nell'altro: non 10. Qual è la differenza?

tin :) cosa c'è nei metodi stessi?
 
Konstantin Karpov:
tinny :) cosa c'è nei metodi stessi?

dimenticato di aggiungere :)

class A {
public:
        A( int b ) : c( b ) {} 
        int c;
};
 
Alexander Laur:

Lei sta scrivendo delle sciocchezze. Le funzioni vengono create per elaborare i dati e ottenere i risultati di tale elaborazione. Creare una funzione solo per farla funzionare. Sono senza parole.

Mi ritiro dalla discussione.

+

Sto scrivendo un Expert Advisor multivaluta con la necessità di sincronizzare gli strumenti e ho incontrato tali problemi che i miei capelli stanno strisciando dappertutto.

Al momento devo dire che non c'è semplicemente un modo affidabile per ottenere dati di mercato e allo stesso tempo sapere chiaramente che i dati sono aggiornati.

Il più divertente, e allo stesso tempo scioccante, era che anche le bandiere nelle proprietà del simbolo come

SERIE_SINCRONIZZATA

non fornisce alcuna garanzia.

 
A100:

Risultato ambiguo

In un caso il risultato è: 10 e nell'altro: non 10. Qual è la differenza?

Grazie per il messaggio, lo controlleremo/correggeremo.
A proposito, in MSVC il risultato è l'opposto.
 

Qualcuno sa che SymbolsTotal(true) e i suoi derivati non mostrano affatto le informazioni di Market Watch?

Beh, avrebbero dovuto dirlo nella guida, ma no, è un mistero...

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Elenco dei cambiamenti in MetaTrader 5 Client Terminal builds

kogriv, 2015.07.18 10:44

Qualsiasi consiglio su cosa fare. C'era un file - uno script su mql5, le ultime modifiche sono state nel marzo del 15. Non ho toccato il file e il meta-editor per molto tempo dopo marzo. L'altro giorno ho avviato metatrader, l'ho aggiornato e in qualche modo il file di script (sorgente) è passato a una versione precedente. Il file eseguibile è ancora nell'ultima versione. C'è un modo per ripristinare il file di origine?

 

Si dovrebbe usare MQL5 Storage per salvare diverse versioni.

Molto probabilmente stai parlando della modifica di file dal set standard di script del terminale. Sono sempre sovrascritti durante gli aggiornamenti, quindi non modificateli voi stessi. Dovete fare una copia con un nome diverso e modificarla.

 
Renat Fatkhullin:

Si dovrebbe usare MQL5 Storage per salvare diverse versioni.

Molto probabilmente stai parlando della modifica di file dal set standard di script del terminale. Sono sempre sovrascritti durante gli aggiornamenti, quindi non modificateli voi stessi. Dovete fare una copia con un nome diverso e modificarla.

No. Il file non è stato modificato dalla consegna standard e non è stato usato MQL5 Storage. L'utente probabilmente è andato in un'altra "Cartella dati" - almeno questa è la versione più fattibile finora.