Erros, bugs, perguntas - página 2258
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
É preciso ser capaz de acompanhar as alterações nas propriedades de todos os gráficos, e não apenas aquele em que o programa MQL é colocado.
Fazer uma muleta através de um temporizador.
Fazer uma muleta através do temporizador.
Não se quer fazer uma muleta. Os programadores do MQ podem expandir as possibilidades.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Insectos, insectos, perguntas
Anatoli Kazharski, 2018.08.20 08:11
Quero ser capaz de acompanhar as alterações nas propriedades de todos os gráficos, não apenas aquele em que o programa MQL é colocado.
Neste momento, o eventoCHARTEVENT_CHART_CHANGE não contém quaisquer outros parâmetros:
Evento
Valor do parâmetro id
valor do parâmetro lparam
valor do parâmetro dparam
Parâmetro valor sparam
O evento de alteração das dimensões do gráfico ou a alteração das propriedades do gráfico através do diálogo de propriedades
CHARTEVENT_CHART_CHART_CHANGE
-
-
-
//---
Para acompanhar este evento em outros gráficos abertos, a monitorização poderia ser activada especificando a identificação do gráfico desejado.
Por exemplo, como este:
Como lparam-parameter poderia ser o identificador do gráfico em que foram feitas as alterações. O parâmetro sparam poderia ser o nome do símbolo.
Erro durante a execução:
Resultado: Esperado:
R::f<int>:1 A::f<int>:1
A::f<int>:753790661 A::f<int>:2
R::f<int>:Erro:4007
Caso contrário:
Muito bem. Qual é a diferença? Porque é que o tamanho da matriz se tornou subitamente 753790660 (em vez de um) e, como consequência, a memória ficou subitamente esgotada (4007) ? MT5\1881\32
Além disso... se eliminar literalmente três caracteres da classe no primeiro caso, o resultado também será ok
Obrigado pela mensagem.
Fixo.
Para trabalhar na construção actual, não especificar o escopo de classe ao declarar os seus métodos.
Outros relatórios de bugs estão relacionados com este e não serão reproduzidos após as correcções terem sido feitas.
o exemplo da ajuda não funciona:
https://www.mql5.com/ru/docs/basis/function/operationoverload
o exemplo no fundo da página não funciona, a partir das palavras:
Другой пример перегрузки операции индексирования - работа с матрицами. Матрица представляет собою двумерный динамический массив, размеры массивов заранее неопределены. Поэтому нельзя объявить массив вида array[][] без указания размера второго измерения и затем передавать этот массив в качестве параметра. Выходом может служить специальный класс CMatrix, который содержит в себе массив объектов класса CRow.
o compilador escreve:
objecto de 'CMatrix' não pode ser devolvido, o construtor de cópias 'CMatrix::CMatrix(const CMatrix &)' não foi encontrado tst.mq5 244 14
objecto de 'CMatrix' não pode ser devolvido, o construtor de cópias 'CMatrix::CMatrix(const CMatrix &)' não foi encontrado tst.mq5 261 11
objecto de 'CMatrix' não pode ser devolvido, o construtor de cópias 'CMatrix::CMatrix(const CMatrix &)' não foi encontrado tst.mq5 281 14
objecto de 'CMatrix' não pode ser devolvido, o construtor de cópias 'CMatrix::CMatrix(const CMatrix &)' não foi encontrado tst.mq5 303 11
4 erro(s), 0 aviso(s) 5 1
Erro de compilação (ME\1881\32)
E assim:
muito bem. Que diferença é que isso faz?Esta não é a razão.
isto ajuda muito na leitura do código e ajuda a evitar erros em algumas situações.Note-se que isto em MQL não funciona em todo o lado:
que em C++ compila sem erros
Note-se que isto em MQL não funciona em todo o lado:
que em C++ compila sem erros
O C++ tem um dom para a perversão. Talvez algures nas macros isto pudesse ser utilizado, mas não directamente.
Pode ser possível utilizar isto algures em macros, mas não directamente.
As macros não têm nada a ver com isto - substitua isto por um ponteiro normal e tem exactamente a mesma sintaxe:
Em MQL não se pode referir explicitamente a b.A::x, enquanto em C++ pode. Porquê uma tal restrição?As macros não têm nada a ver com isto - substitua isto por um ponteiro comum e tem exactamente a mesma sintaxe:
Neste caso, é justificado. A variante com isto - não é claro porquê escrevê-la dessa forma. Quando A:: já diz tudo.