[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 823

 
Tomcrafft:

Olá a todos!

Rapazes, ajudem-me aqui... Como faço para garantir que quando uma ordem é aberta de um certo nível (com stop and take)

O Expert Advisor não abre uma segunda, terceira, etc. encomenda. E a próxima ordem deve ser aberta somente depois que a primeira for fechada em stop ou take.

Primeiro verifique se já existe uma ordem em aberto no mercado, e se ainda não existe, então abra-a, caso contrário não há necessidade.
 
"Clear tester cache", o que é isso e como posso conseguir isso?
 
eugggy:

Ajuda necessária: há 2 ordens pendentes (em direções diferentes), quando uma é acionada, a outra precisa ser fechada. O código como mostrado abaixo. Como fazê-lo corretamente, que não houve erro com um número de bilhete errado e funciona corretamente, apenas algumas linhas necessárias para colocar no EA, eu não aprendo. Obrigado de antemão.



Quando a variável "Dica" recebe valor? Deve ser após OrderSelect().

OrderSelect(Total,SELECT_BY_TICKET,MODE_TRADES);
Tip=OrderType();

if(Tip===OP_SELL)

 
eugggy:

Ajuda necessária: há 2 ordens pendentes (em direções diferentes), quando uma aciona, precisamos fechar a outra. O código como mostrado abaixo. Como deve ser elaborado corretamente que não foi um erro com um número de bilhete errado e funciona corretamente, apenas um par de linhas necessárias para colocar no conselheiro, tenho algo que não posso aprender. Não sei como fazê-lo. Obrigado de antemão.



Verificar se há ordens do mercado.

Se presente, verifique se há algum pendente

Se sim, exclua-os

 
eugggy:
Eu o fiz por loop, mas recebo uma bagunça, OrderTotal() retorna o número de pedidos (2), se eu subtrair um, então qual pedido será selecionado: o primeiro ou o segundo, e depois a mesma bagunça com os bilhetes. Em geral, o erro 4108 - número de bilhete errado, e também Alert(Ticket) devolve um número superior a 0, mesmo que a EA tenha acabado de ser lançada e não haja pedidos.

Deixar claro se SELECT_BY_TICKET ou SELECT_BY_POS ???

Leia sobre OrderSelect() na ajuda

SELECT_BY_TICKET os números de pedido no servidor da empresa, por exemplo #12345 e #12399

SELECT_BY_POS os números de ordem "na lista pessoal", ou seja, para duas ordens, uma tem #0, a outra #1

 
eugggy:
Se eu o deixar assim, funcionará corretamente? Parece funcionar, talvez seja necessário algum retorno ou uma atualização, em uma palavra, funcionará na vida real?


Não, não vai.

 

eugggy:
А нельзя ли подробнее? Нельзя))). Я имею ввиду, если сильно не придираться, где, что, неправильно и как исправить?

Eu o fiz com um loop, mas minha confusão começa, OrdersTotal() devolve o número de pedidos (2), se eu subtrair um, então qual pedido será selecionado: o primeiro ou o segundo, e então a mesma confusão com os bilhetes. Em geral, o erro 4108 é um número de bilhete errado e o Alert(Ticket) devolve um número superior a 0 mesmo que a EA tenha acabado de ser lançada e não haja pedidos.



Você já recebeu sua resposta detalhada:

Vinin :


Verificar se há ordens do mercado.

Se houver, verifique se há ordens pendentes.

Se presente, remover Por ciclos sucessivos para
 
eugggy:
Eu gostaria de saber mais sobre isso. Não))). Quero dizer, se você não é exigente, onde, o que, errado e como consertar?


Vou me repetir.

Verificar se há uma ordem de mercado,

Se houver, verifique se há uma ordem pendente.

Se houver, exclua-o.

Se alguma coisa, eu escreverei o código amanhã. Embora, isso já tenha sido feito em algum lugar neste tópico.

 
eugggy:
Entendo, mas é fácil para você, dois para testes, mas eu já tentei - não funciona, é por isso que estou perguntando. Como se eu fosse um programador com 5 anos de experiência. Você não pode)))) - Estou só brincando.
poste aqui todo seu código
 
eugggy:
Eu tive a idéia, mas tenho problemas com a implementação, não estou familiarizado com a busca de pedidos, não há quase nada em ajuda, e o tutorial não é para mentes comuns. Se não houver problema, tentarei usar algum código fonte MQL4, ou talvez você encontre alguns livros sobre MQL4 para que uma pessoa comum possa compreender.

Explique também, com suas próprias palavras, o que a EA deve fazer