Errori, bug, domande - pagina 2258
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
Dovete essere in grado di tracciare i cambiamenti nelle proprietà di tutti i grafici, non solo quello su cui si trova il programma MQL.
Fare una stampella attraverso un timer.
Fare una stampella attraverso il timer.
Non voglio fare una stampella. Gli sviluppatori di MQ possono espandere le possibilità.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
Anatoli Kazharski, 2018.08.20 08:11
Voglio essere in grado di tracciare i cambiamenti nelle proprietà di tutti i grafici, non solo quello in cui si trova il programma MQL.
In questo momento l'eventoCHARTEVENT_CHART_CHANGE non contiene altri parametri:
Evento
Valore del parametro id
valore del parametro lparam
valore del parametro dparam
Valore del parametro sparam
L'evento di modifica delle dimensioni del grafico o di modifica delle proprietà del grafico tramite il dialogo delle proprietà
MODIFICA DEL GRAFICO DI UN EVENTO
-
-
-
//---
Per tracciare questo evento su altri grafici aperti, il monitoraggio potrebbe essere abilitato specificando l'ID del grafico desiderato.
Per esempio, così:
Come lparam-parametro potrebbe essere l'identificatore del grafico su cui sono state fatte le modifiche. Il parametro sparam potrebbe essere il nome del simbolo.
Errore durante l'esecuzione:
Risultato: atteso:
A::f<int>:1 A::f<int>:1
A::f<int>:753790661 A::f<int>:2
A::f<int>:Errore:4007
Altrimenti:
Bene. Qual è la differenza? Perché la dimensione dell'array è diventata improvvisamente 753790660 (invece di uno) e di conseguenza la memoria è improvvisamente finita (4007)? MT5\1881\32
Inoltre... se si cancellano letteralmente tre caratteri nella classe nel primo caso, il risultato sarà anche ok
Grazie per il messaggio.
Fisso.
Per funzionare nella build corrente, non specificate scop di classe quando dichiarate i suoi metodi.
Le altre segnalazioni di bug sono collegate a questa e non saranno riprodotte dopo le correzioni.
l'esempio della guida non funziona:
https://www.mql5.com/ru/docs/basis/function/operationoverload
l'esempio in fondo alla pagina non funziona, dalle parole:
Другой пример перегрузки операции индексирования - работа с матрицами. Матрица представляет собою двумерный динамический массив, размеры массивов заранее неопределены. Поэтому нельзя объявить массив вида array[][] без указания размера второго измерения и затем передавать этот массив в качестве параметра. Выходом может служить специальный класс CMatrix, который содержит в себе массив объектов класса CRow.
il compilatore scrive:
oggetto di 'CMatrix' non può essere restituito, copia costruttore 'CMatrix::CMatrix(const CMatrix &)' non trovato tst.mq5 244 14
oggetto di 'CMatrix' non può essere restituito, copia costruttore 'CMatrix::CMatrix(const CMatrix &)' non trovato tst.mq5 261 11
oggetto di 'CMatrix' non può essere restituito, copia costruttore 'CMatrix::CMatrix(const CMatrix &)' non trovato tst.mq5 281 14
oggetto di 'CMatrix' non può essere restituito, copia costruttore 'CMatrix::CMatrix(const CMatrix &)' non trovato tst.mq5 303 11
4 errore(i), 0 avviso(i) 5 1
Errore di compilazione (ME\1881\32)
E così:
bene. Che differenza fa?Non è questa la ragione.
questo aiuta molto quando si legge il codice e aiuta ad evitare errori in alcune situazioni.Notate che questo in MQL non funziona ovunque:
che in C++ si compila senza errori
Notate che questo in MQL non funziona ovunque:
che in C++ compila senza errori
Il C++ ha un talento per la perversione. Forse da qualche parte nelle macro questo potrebbe essere usato, ma non direttamente.
Potrebbe essere possibile usarlo da qualche parte nelle macro, ma non direttamente.
Le macro non c'entrano affatto - sostituite questo con un normale puntatore e avrete esattamente la stessa sintassi:
In MQL non si può fare esplicitamente riferimento a b.A::x, mentre in C++ si può. Perché una tale restrizione?Le macro non hanno niente a che fare con questo - sostituite questo con un puntatore ordinario e avrete esattamente la stessa sintassi:
In questo caso è giustificato. La variante con questo - non è chiaro perché scriverlo così. Quando A:: dice già tutto.