Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 844

 
Escapee:

Espere... Entenda finalmente o que eu preciso...

Aqui está a abertura do pedido que eu precisava - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . E este roteiro funciona.

Agora eu preciso de um close......

Não é um roteiro. É apenas um comando para abrir uma ordem. A função OrderSend devolve o ticket de pedido caso a abertura tenha sido bem sucedida. Mas antes de fechar deve primeiro determinar o bilhete do pedido. Para determiná-lo, precisamos primeiro selecionar o pedido da lista de pedidos por seu índice. Se houver apenas 1 ordem aberta, seu índice na lista será 0. Assim, se houver apenas uma ordem aberta, podemos fazer isso sem looping e verificando se há uma correspondência de símbolos e uma correspondência mágica. Não é muito inteligente, mas ainda assim. Exclusivamente para servir de exemplo.

if(OrderSelect(0, SELECT_BY_POS))
if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 30, clrNONE))
Print("Ордер закрыт");
Tal truque indocumentado em mql4 pode ser usado para fechar um pedido OrderClosePrice() em vez de Ask or Bid, e neste caso, não temos que distinguir entre os tipos de pedido. Ela fecha em qualquer caso.
 
AlexeyVik:

Não é um roteiro. É apenas um comando para abrir uma ordem. A função OrderSend devolve o ticket de pedido caso a abertura tenha sido bem sucedida. Mas antes de fechar deve primeiro determinar o bilhete do pedido. Para determiná-lo, precisamos primeiro selecionar o pedido da lista de pedidos por seu índice. Se houver apenas 1 ordem aberta, seu índice na lista será 0. Assim, se houver apenas uma ordem aberta, podemos fazer isso sem looping e verificando se há uma correspondência de símbolos e uma correspondência mágica. Não é muito inteligente, mas ainda assim. Exclusivamente para servir de exemplo.

Tal truque indocumentado em mql4 pode ser usado para fechar um pedido OrderClosePrice() em vez de Ask or Bid, e neste caso, não temos que distinguir entre os tipos de pedido. Fechará em qualquer caso.

Olhe aqui, você o escreveu, mas quem será responsável pelas "falhas"? :))))

Ele não entende que é um código muito incorreto para o trabalho no mundo real. Bem ... é como se ele estivesse descendo uma colina sentado em um barril, pensando que está andando de carro.

Eu tentei mostrar ao homem como fazê-lo corretamente, não como fazê-lo aleatoriamente. Ehhhhh...

 
Escapee:

Espere... Entenda finalmente o que eu preciso...

Aqui está a abertura do pedido que eu precisava - OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); . E este roteiro funciona.

Agora eu preciso fechar......

Eu entendo perfeitamente o que você precisa. E estou tentando explicar a você como fazê-lo corretamente. Mas você fecha seus ouvidos e não quer ouvir. Acho que tenho que tirar minha licença.

Como exemplo, você dá um simples comando para enviar um pedido comercial para o servidor. É claro que ele lhe enviará o pedido. Mas os dados nele contidos são corretos? E o que o servidor comercial retorna?

E sim: isto não é um roteiro. Este é um comando mql4

 
Boa noite, há alguma pergunta, o Expert Advisor precisa ser equipado com um bloco de erro ou o próprio terminal irá superá-los (erros como o servidor não responde, o preço mudou)?
 
Pokrov:
Boa noite, há alguma pergunta, o Expert Advisor precisa ser equipado com um bloco de erro ou o próprio terminal irá superá-los (erros como o servidor não responde, o preço mudou)?
Boa pergunta. И?
 
Pokrov, você precisa colocar em tratamento de erros se quiser que a EA os supere.
 
artmedia70:
Boa pergunta. И?
Então essa era a pergunta, há um ponto de interrogação no final, isso é necessário ou opcional?
 
artmedia70:

Olhe, você o escreveu, mas então quem será responsável pelas "falhas"? :))))

Ele não entende que é um código muito incorreto para o trabalho no mundo real. Bem ... é como descer uma colina em um barril pensando que está andando de carro.

Eu estava tentando ensinar um homem a fazer as coisas direito, não apenas fazê-las... Ehhh...

Eu fico com ela. Você deve beber menos. :) Embora haja uma advertência. Não alfabetizada, mas ainda assim. Apenas para lhe dar um exemplo.
 
Pokrov:
Então essa era a pergunta, há um ponto de interrogação no final, isso é necessário ou opcional?
Se você está escrevendo um brinquedo de teste, não é necessário. Mas é melhor para a EA em funcionamento. Se a EA continuar batendo no servidor da corretora com comandos errados ou modificações de ordens sem alterar os parâmetros, a corretora poderá bloquear a EA e, conseqüentemente, as ordens definidas pela EA se tornarão "desacompanhadas".
 
AlexeyVik:
Se você está escrevendo um brinquedo de teste, não é necessário. Mas é melhor para uma EA em funcionamento. Se sua EA continuar batendo no servidor com comandos errados ou modificando ordens sem alterar parâmetros, sua corretora bloqueará sua EA e, conseqüentemente, as ordens definidas por sua EA ficarão desacompanhadas.
Obrigado!