Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 125

 
novichok2018:

E nenhuma mensagem de erro deve ser exibida? Provavelmente não faria mal em saber por que uma ordem não é encontrada e como evitá-la?

Na minha opinião, isso não é necessário. Basicamente, o OrderSelect só terminará com um erro se o índice da cadeia de caracteres da lista estiver incorreto. Se o índice estiver exatamente correto, não ocorrerá nenhum erro. Portanto, o erro OrderSelect é um erro de programador, não um erro de tempo de execução.

 
Ihor Herasko:

O único livro didático MQL4 que conheço é o livro didático de Sergei Kovalev.

Não sei, talvez não saiba como usar o livro didático, mas não encontrei nada nele sobre arrays ou estruturas, especialmente como usá-las e com que finalidade.

Seu código parece entender tudo, mas eu não entendo como utilizá-lo na análise de posição.

Ao mesmo tempo, parece que não consigo resolver minha situação sem arrays. Parece que usei todas as opções - bandeiras, balcões de posição, abertura de compra e venda usando funções separadas, bem como fechamento das mesmas. Nenhum deles ajuda. Assim que a compra abre e a venda fecha, o terminal não vê condições para fechar até que uma nova venda seja aberta. Se não houver baías durante este período, tudo funciona bem. Será bastante frustrante se as matrizes não ajudarem.

De qualquer forma, aguardo ansiosamente qualquer outra recomendação sua. Obrigado.

22.02 13.00 Acho que entendi a razão de minha situação: para fazer com que as posições se aproximem de minhas condições, dependendo das condições de sua abertura, atribuo a cada um deles um magik diferente. Mas para fazer isso, eu primeiro uso OrderSelect() após abrir uma posição. Assim, cada posição cria uma nova magia quando OrderSelect() é aplicada e a anterior é destruída. É por isso que as condições são procuradas pelo último magik e se várias barras (vendas) abrem por condições diferentes, todas elas são fechadas pela última posição aberta (isso pode ser visto no Testador de Estratégia). Assim, quando uma posição de compra é aberta quando uma venda é aberta, ela muda seu número mágico e o terminal não consegue encontrar condições para fechar a venda. Encontrei a confirmação disto através de impressões digitais. Agora resta saber como evitar tal situação. Quem pode ajudar?

 
Qualquer pessoa pode ajudar a adaptar um EA para colocá-lo no mercado. Não consigo descobrir os cheques (
 
novichok2018:

Não sei, talvez não saiba como usar o livro didático, mas não encontrei lá nenhuma palavra sobre arrays ou estruturas, muito menos sobre como usá-las e para quê.

Seu código parece entender tudo, mas eu não entendo como utilizá-lo na análise de posição.

Ao mesmo tempo, parece que não consigo resolver minha situação sem arrays. Parece que usei todas as opções - bandeiras, balcões de posição, abertura de compra e venda usando funções separadas, bem como fechamento das mesmas. Nenhum deles ajuda. Assim que a compra abre e a venda fecha, o terminal não vê condições para fechar até que uma nova venda seja aberta. Se não houver baías durante este período, tudo funciona bem. Será bastante frustrante se as matrizes não ajudarem.

De qualquer forma, aguardo ansiosamente qualquer outra recomendação sua. Obrigado.

Este tutorial é antigo, foi escrito para versões de MT4 < 600, ou seja, para a antiga MQL4, não tinha estruturas. As arraias eram.

 
Alexey Volchanskiy:

O tutorial é antigo, escrito para versões do MT4 < 600, ou seja, para o antigo MQL4, não havia estruturas no mesmo. Havia matrizes.

A Ajuda também contém matrizes, mas qual é a utilidade: não está claro como usar matrizes criadas para fechamento/abertura de posições.

 
novichok2018:

Há matrizes na ajuda também, mas qual é a utilidade: como usar as matrizes criadas para fechar/abrir posições não é claro.

))))))))) me faz rir. Por que precisamos de matrizes para abrir/fechar posições?

 
Alexey Volchanskiy:

))))))))) me fez rir. Por que você precisa de matrizes para abrir/fechar?

Se houver uma série de negociações, e para cada etapa houver parâmetros diferentes - lote/sl/tp/distância, então é mais fácil passar por todas elas em uma matriz

 
Taras Slobodyanik:

Se há uma série de negociações, e para cada etapa há parâmetros diferentes lote/sl/tp/distância, então é mais fácil passar por tudo isso em uma matriz

A situação é descrita no post 1243. Talvez você possa ajudar? Obrigado.

 

novichok2018:

Quem pode ajudar?

Lógica) Escreva em palavras um plano do que a EA deve fazer, em que seqüência, sob quais condições (fluxograma). A escrita do código será muito mais fácil.

 
Aleksey Lebedev:

Lógica) Escrever um plano em palavras, o que deve fazer o Consultor Especialista, em que seqüência, sob que condições (fluxograma). A escrita do código será muito mais fácil.

Obrigado a todos vocês. Acho que eu mesmo resolvi o problema: apenas removi todas as magias e apliquei bandeiras para identificar as posições, para cada condição diferente. Simples e eficaz. E sem matrizes.

Se qualquer um dos especialistas vir as armadilhas desta solução, que ainda não se manifestaram - ficaria muito grato pelo esclarecimento.