Erros, bugs, perguntas - página 3012

 
Andrei Trukhanovich:

a ajuda não está de acordo com esta interpretação.

A ajuda é escrita para mql e mql é escrita em ci ))
Conhecendo os princípios básicos de c, ficará claro o que é o que é o quê.

 
Roman:
Penso que é simples - não compreendeu o que a ajuda disse
 
Andrei Trukhanovich:
Penso que é simples - não compreendeu o que a ajuda disse

De um modo geral, não é correcto!

 
Roman:

De um modo geral, não é correcto!

Não vou discutir sobre isso.

 
Roman:

A ajuda é escrita para mql, e mql é escrito em ci ))
Se conhece as noções básicas de C, saberá o que é o quê.

Em C, os tamanhos de uma matriz e de uma cadeia são desconhecidos de antemão, enquanto em MQL são conhecidos - isto é uma diferença significativa - daí que, em MQL, os parâmetros redundantes que os duplicam não sejam necessários.

 
A100:

Em C, o tamanho da matriz e da cadeia são desconhecidos antecipadamente, enquanto que o MQL é conhecido - isto é uma diferença significativa - pelo que no MQL não é necessário duplicar parâmetros redundantes.

Uma matriz dinâmica é dinâmica, e é por isso que espera que o utilizador obtenha qualquer tamanho.
Para que um array dinâmico compreenda o que quer, o programador deve dizer-lhe:

-Hey, array dinâmico, quero enviar-lhe dados.
e ele responde:
-E que tipo e tamanho dos seus dados?
diz-lhe:
-Look, char 100 elementos
ele responde:
-Okay, se eu for do mesmo tipo, atribuir memória de 100 bytes para estes elementos e depois enviá-la. Caso contrário, não o aceitarei.

;))

Mas facilitou a vida ao especificar mesmo zero no parâmetro, a própria automatização do processo irá calcular o tamanho dos dados a transferir.
Assim, para dizer protecção adicional contra os recém-chegados. Mas é melhor passar o tamanho explicitamente para o controlar, caso contrário terá dificuldade em depurá-lo mais tarde.
 
Roman:

Uma matriz dinâmica é dinâmica porque espera que o utilizador obtenha qualquer tamanho.
Para um array dinâmico compreender o que quer, o programador deve dizer-lhe:

-Hey, array dinâmico, quero enviar-lhe dados.
e ele dir-lhe-á:
-De que tamanho são os seus dados?
diz-lhe:
-Here, 100
dir-lhe-á:
-Okay, atribuir-me memória para 100 elementos, e depois enviá-la. Caso contrário, não o aceitarei.

;))

Mas simplificou a sua vida especificando mesmo zero no parâmetro, a própria automatização do processo calculará o tamanho dos dados transferidos.
Assim, para dizer protecção adicional contra os recém-chegados. Mas é melhor passar o tamanho explicitamente para o controlar, caso contrário terá dificuldade em depurá-lo mais tarde.

Francamente falando, isto é uma crueldade em casos críticos para um array. o que vemos sob a forma de um overrun de um array dinâmico.... embora em circunstâncias normais seja conveniente.

 
Valeriy Yastremskiy:

para ser honesto, isto é uma birra em casos críticos para uma matriz. como vemos na forma de uma saída para além do tamanho de uma matriz dinâmica.... embora seja conveniente em condições normais...

Array overrun, que é o nível de programador ))

 
Roman:

A entrada fora da matriz é de nível de programador ))

esta é uma situação comum quando as barras do histórico não estão completamente carregadas. a verificação clássica para carregar o histórico pela largura da janela também nem sempre é relevante.

E este nem sempre é o nível do algoritmo, especialmente se a situação for de baixa frequência.

 
Valeriy Yastremskiy:

Esta é uma situação comum quando as barras do histórico não estão completamente carregadas. a verificação clássica para carregar o histórico pela largura da janela também nem sempre é relevante.

e nem sempre é o nível do algoritmista, especialmente se a situação for de baixa frequência.


Não ajuda?
Apenas esta é uma peculiaridade da plataforma MT5, não as noções básicas da língua.
Se isso não ajudar, então provavelmente deverá informar os programadores.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Организация доступа к данным - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5