Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1687

 
O que seus índices e a quantidade de pedidos devolvidos têm a ver com isso? Crie um par de pedidos e faça loop através deles. O laço não será um array, mas o número retornado por OrdersTotal como uma função normal, porque não retorna o endereço do índice do array onde as ordens são armazenadas.
 

Otamanho da matriz é o número de elementos da matriz (ou ordens, por exemplo)

O primeiro elemento tem um índice de 0, sempre,

o último é um a menos que o tamanho da matriz.


Se você quiser criar uma matriz com um elemento, a única maneira de acessar esse elemento é usar arr[0]. Em todos os outros casos, você obterá um erro de excesso de matriz.

É o mesmo com os pedidos, apenas sem erro, mas não se pode alcançar o primeiro elemento (pedido) de outra forma.

 
Aqui está a referência https://www.mql5.com/ru/docs/array
Документация по MQL5: Операции с массивами
Документация по MQL5: Операции с массивами
  • www.mql5.com
Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Entendo, OrderTotal só dá o valor, mas para nos referirmos ao pedido que usamos OrderSelect e aqui ele já passa pela matriz. Não levei em conta este ponto.
 
Sim, é isso mesmo. OrderSelect(0,


 
Nerd Trader um índice de array onde as ordens são armazenadas.

Você não está fazendo um passe em um número, mas na lista de ordens em sua conta de negociação! E o número de pedidos é apenas um número... você não pode fazer um passe sobre ele... como você faz um passe sobre um número 100? Você não... E na lista de 100 linhas, podemos fazer um passe de cada linha.

O número devolvido por OrderTotal() é um número primo... Foi projetado de tal forma que SEMPRE coincide com o número de pedidos da lista.

Se você sabe que só tem 1 ordem em todo momento, então só precisa trabalhar com um número de ordem "0" sem nenhuma ordemTotal()...

 
Nikolay Ivanov #:

Você não está fazendo um passe em um número, mas na lista de ordens em sua conta de negociação! E o número de pedidos é apenas um número... você não pode fazer um passe sobre ele... como você faz um passe sobre um número 100? Você não... E na lista de 100 linhas, podemos fazer um passe de cada linha.

O número devolvido por OrderTotal() é um número primo... Foi projetado de tal forma que SEMPRE coincide com o número de pedidos da lista.

Se você sabe que só tem 1 pedido em todos os momentos, então você só trabalha com um número de pedido "0" sem nenhum pedidoTotal()...

Aleksei Stepanenko #:

O tamanho da matriz é o número de elementos da matriz (ou ordens, por exemplo)

O primeiro elemento tem um índice 0, sempre,

o último é um a menos que o tamanho da matriz.


Se você quiser criar uma matriz com um elemento, a única maneira de acessá-la é usar arr[0]. Em todos os outros casos, você obterá um erro de excesso de matriz.

É o mesmo com os pedidos, apenas sem erro, mas não se pode alcançar o primeiro elemento (pedido) de outra forma.

Sim, é.
 
Nerd Trader usamos OrderSelect e este já passa pela matriz. Não levei em conta este ponto.

A matriz (lista) passa por um CICLO. A OrderSelect seleciona apenas a ordem cujo número de ordem foi criado neste ciclo para trabalhos futuros.

Документация по MQL5: Торговые функции / OrderSelect
Документация по MQL5: Торговые функции / OrderSelect
  • www.mql5.com
OrderSelect - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nerd Trader um índice de array onde as ordens são armazenadas.
A questão é que o formulário é conveniente na medida em que, ao dar-lhe o número de posições, ele pode preencher qualquer conjunto. No meu caso, tudo cairia se o 0 fosse alimentado, porque o ArrayResize está ligado ao número de posições. Por este motivo, tenho condição adicional se o número de posições for superior a 0, então este laço. Eu também estrago tudo o tempo todo, agora eu verifiquei novamente. O conselho é correto, pois caso contrário o forte não preencherá o elemento zero da matriz, que é para o que o forte serve.
 
Ótimo, amigos, que temos um consenso
Razão: