Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 73
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
Artem, você está errado. A matriz declarada em nível global é visível em todas as partes do programa e não é necessário passá-la para algum lugar de algum lugar. Basta preenchê-lo em um lugar no programa, ordená-lo em outro, e lê-lo no terceiro, não importa.
A mesma função pode classificar e/ou pesquisar dados em diferentes matrizes com sucesso. Certo? E se assim for, é melhor passar a matriz por referência - para o futuro. E ao chamar a função, não vai doer ver com que matriz vai trabalhar.
Estou apenas fazendo estas considerações. Onde eu estou errado?
A mesma função pode classificar e/ou pesquisar dados em diferentes matrizes com sucesso. Certo? E se assim for, é melhor passar a matriz por referência - para o futuro. E ao chamar a função, você também deve ser capaz de ver a matriz com a qual ela irá funcionar.
Tenho toda a razão a esse respeito. Onde está errado?
Entendi. Seu conselho é para os lego-programadores. Você mesmo não faz esta perversão.
Isso deixa uma coisa errada, na medida em que a matriz deve ser declarada globalmente.
Estou feliz por nos entendermos.
Entendi. Seu conselho é para programadores lego. Você mesmo não faz tais perversões.
Então uma coisa permanece, errada sobre a matriz ter que ser declarada globalmente.
Ainda bem que nos entendemos.
Meu ponto neste contexto é o seguinte:
Por esta razão, seria melhor ter matrizes globais - para encomendas e posições fechadas e abertas. Uma vez em um novo tick, passamos uma vez a quantidade necessária de pedidos/posições, preenchendo as duas arrays com eles. E então obtemos todos os dados necessários deles no mesmo carrapato. Observe que não apenas a última ordem/posição fechada/aberta e todos os seus dados são calculados, mas também todos os carrapatos de pais e filhos de todas as posições são pesquisados em caso de fechamento parcial. Assim, a qualquer momento posso ver qual ticket teve origem em uma ou outra posição, se foi fechado parcialmente mais de uma vez - tudo isso já funciona em uma classe que funciona em um timer. Tenho muitos outros dados que preciso com um pequeno número total de ciclos. A profundidade da história necessária para as arrays é definida para o testador.
E assim por diante ...
Neste contexto, meu ponto é o seguinte:
Por esta razão, seria melhor ter matrizes globais - para ordens e posições fechadas e abertas. Uma vez em um novo tick, passamos uma vez a quantidade necessária de pedidos/posições, preenchendo duas matrizes com eles. E então obtemos todos os dados necessários deles no mesmo carrapato. Observe que não apenas a última ordem/posição fechada/aberta e todos os seus dados são calculados, mas também todos os carrapatos de pais e filhos de todas as posições são pesquisados em caso de fechamento parcial. Assim, a qualquer momento posso ver qual ticket teve origem em uma ou outra posição, se foi fechado parcialmente mais de uma vez - tudo isso já funciona em uma classe que funciona em um timer. Tenho muitos outros dados que preciso com um pequeno número total de ciclos. Para o testador, a profundidade da história desejada é definida para as matrizes.
E assim por diante ...
Portanto, não nos entendemos muito bem.
Se a matriz é global, por que passá-la para uma função por referência se ela já é visível dentro desta função?
Então, não nos entendemos bem.
Se a matriz é global, por que passá-la para uma função por referência, se ela já é visível dentro desta função?
Sobrecarga de funções - existe essa noção ;)
Se você precisar fazer as mesmas ações com matrizes diferentes em uma função, então...
No entanto - estamos discutindo diferentes casos especiais.
Sobrecarga de funções - existe tal conceito ;)
Se você precisa fazer as mesmas ações com matrizes diferentes em uma função, então...
No entanto - estamos discutindo diferentes casos especiais.
Bem, graças a Deus que recebo seus pensamentos. Mas eles são muito parecidos com conselhos aos programadores de lego.
Seria muito estranho ter um grande número de funções 100% funcionais em estoque e escrevê-las sempre de novo. Este não é um conselho para a construção de casas a partir de cubos. É um conselho para acumular suas próprias bibliotecas de funções e classes. E o que há de errado com uma função que lida com múltiplas matrizes, dependendo de qual delas é passada por referência? E o que há de errado com os modelos de funções?
Se você tem código para ordenar uma matriz, por que escrever uma função separada para cada tipo de matriz? Você pode simplesmente sobrecarregar e classificar qualquer tipo. Como você acha que o ArraySort() funciona? Você passa diferentes tipos de arrays lá, e em um output você recebe o classificado que foi passado - ou meta quotas também lego-coders ou o quê?
Seria muito estranho ter um grande número de funções 100% funcionais em estoque e escrevê-las sempre de novo. Este não é um conselho para a construção de casas a partir de dados. É um conselho para acumular suas próprias bibliotecas de funções e classes. E o que há de errado com uma função que lida com múltiplas matrizes, dependendo de qual delas é passada por referência? E o que há de errado com os modelos de funções?
Se existe código para ordenar uma matriz, por que devemos escrever uma função separada para cada tipo de matriz? Você pode simplesmente fazer uma sobrecarga e classificar qualquer tipo. Como você acha que o ArraySort() funciona? Você passa diferentes tipos de arrays lá, e a saída é classificada, que você passou - ou metaquotes também lego-coders, ou o quê?
O principal é não chegar a isso.
https://www.mql5.com/ru/forum/165468/page3#comment_3978059
O principal é não chegar a isso.
https://www.mql5.com/ru/forum/165468/page3#comment_3978059
há uma variável
int Nível = 0;
Enquanto o programa está em execução, ele está em constante mudança. Ajude-me a escrever uma condição: se o Nível NÃO mudou, não faça nada, se o Nível mudou (não importa se mudou mais ou menos), faça alguma ação { operador }