Errori, bug, domande - pagina 2722
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
In linea di principio, non ci dovrebbe essere un caso del genere - il problema dovrebbe essere stato risolto a livello di compilatore (come in C++). E in questo caso è abbastanza possibile ed è per questo che la discussione dura diverse pagine
Sicuramente un bug... Ma deve essere così! )))
Imho, le espressioni costanti devono essere conosciute al momento della compilazione e le espressioni statiche devono essere conosciute durante l'inizializzazione dell'applicazione nella sequenza di descrizione.
e questo schema in MQL, dove c'è una specie di controllo costante, ma posso assegnare una costante io stesso a runtime, e posso usare una chiamata di funzione come inizializzazione:
e questa "costante" può essere in visibilità locale.... a che punto diventa un'espressione costante e come aiuta.... Non lo so, non lo capisco senza manuali, non c'è descrizione del modello di memoria - non ha senso, beh, al massimo, usare come dovrebbe essere - inizializzare con costante in tutti i costruttori, poi il compilatore aiuterà l'avviso se si decide accidentalmente di modificare questo campo in futuro
Ma questo schema in MQL, dove c'è una sorta di controllo sulle costanti, ma posso assegnare le costanti in modo casuale io stesso
Quante volte ci si può vergognare di ignorare le basi del C++?
questo esempio non è affatto confuso:
2020.04.23 21:40:04.474 tst (EURUSD,H1) a = 1,07892
2020.04.23 21:40:04.546 tst (EURUSD,H1) a = 1,07893
2020.04.23 21:40:04.585 tst (EURUSD,H1) a = 1,07893
2020.04.23 21:40:05.254 tst (EURUSD,H1) a = 1,07893
2020.04.23 21:40:05.305 tst (EURUSD,H1) a = 1,07893
2020.04.23 21:40:05.306 tst (EURUSD,H1) a = 1,07892
Ci sono due programmi che lavorano sullo stesso file allo stesso tempo. Quello che scrive usa i flag FILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ. Quello che legge - FILE_READ|FILE_BIN|FILE_SHARE_WRITE|FILE_SHARE_READ. Anche se il primo programma salva periodicamente il file con FileFlush, il secondo programma vede solo la lunghezza del file quando viene aperto. Ho provato a fare FileSeek avanti e indietro - non aiuta.
Domanda: come faccio a far sì che il programma che legge il file raccolga i dati che vengono riscritti?
Questo sembra essere un bug, è stato segnalato qualche tempo fa sul forum inglese. Non ho avuto il tempo di segnalarlo qui.
Gli sviluppatori non leggono il forum inglese?
Ci sono due programmi che lavorano sullo stesso file allo stesso tempo. Quello che scrive usa i flagFILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ. Quello che legge - FILE_READ|FILE_BIN|FILE_SHARE_WRITE|FILE_SHARE_READ. Anche se il primo programma salva periodicamente il file usando FileFlush, il secondo programma vede solo la lunghezza del file quando viene aperto. Ho provato a fare FileSeek avanti e indietro - non aiuta.
Domanda: come faccio a far sì che il programma che legge il file raccolga i dati da sovrascrivere?
I due programmi sono nello stesso terminale o in due diversi?
I metodi di un oggetto da una matrice di oggetti passata per riferimento non funzionano.
Esempio:
Questi due programmi sono nello stesso terminale o in due diversi?
In un terminale. L'esperto scrive i dati, l'indicatore legge i dati. Appesi a grafici diversi, ma ovviamente potrebbero essere sullo stesso (se questo conta). Costruire 2380.
VS2019
x = 12345
a.a = 12345
hmm, tutto funziona come in MQL5
Ok, mi rimangio tutto, non si compila in Sharp
Avete anche un costruttore. Dipende da voi, naturalmente, ma le strutture sono entità C, il modello lì è diverso - entità passive con logica esterna (funzioni).
Non necessariamente. Perché C? E C#? - Tutti i discorsi sulle strutture passive sono nozioni arcaiche, imho. Credo che almeno ogni tipo debba avere un costruttore. I campi non inizializzati sono un male che deve essere evitato.
fxsaber
Nel tuo caso, devi fare un metodo factory per creare un array di strutture, cioè qualcosa come questo:
E c'è già uno dei modi suggeriti in precedenza per riempire gli elementi dell'array.
Mi sono imbattuto nel seguente problema. L'indicatore disegna le candele
È tracciato sul grafico. C'è anche un Expert Advisor che legge i buffer dell'indicatore
Così mi sono collegato e ho scremato le fasi e ho scoperto che l'indicatore spesso disegna le candele con un ritardo.
Significa che diversi tick fa (fino a un paio di minuti esatti) ha già calcolato e aggiornato i buffer e l'Expert Advisor sta leggendo i dati da essi
(sia i gufi che l'indicatore lo scrivono nel registro). Ma vediamo la vecchia immagine sul grafico. Per esempio, questo screenshot è fatto nel momento in cui la barra rossa ha rotto il minimo della precedente. Ma sul grafico vediamo solo il rosso precedente e il verde sotto disegnato (è infatti più grande di due barre).
Ed ecco l'immagine reale, è stata disegnata dopo. Vediamo la ripartizione, ha iniziato la cattura dello screenshot. Secondo i registri tutto è chiaro.
Chi mi dice qual è il problema e come accelerare l'aggiornamento del grafico? Chiamo la funzioneChartRedraw dall'EA ma ha ancora un paio di minuti di ritardo.
Due minuti sono un po' troppi, non riesco nemmeno a immaginare il motivo. I calcoli non sono così cosmici da rallentare così tanto.