[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 216

 
artsnz >> :

Isto é possível? DoC oferece para fechar um pedido a um preço melhor???? Esta é a primeira vez que ouço falar de uma empresa de corretagem ficando tão descuidada.

O robô não era estúpido, por definição não pode ser estúpido.

É necessário simplesmente corrigir o código, se você quiser pode colocá-lo aqui e pode ajudar aqui, você pode escrever em sua mensagem pessoal e certamente também irá ajudar.

1. Sim, isso aconteceu - está claro no registro.

2. Eu usei a palavra "estúpido" em sentido figurativo, o que significa que algo estava errado no código.

3. Aqui está o código de encerramento da pose:

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

Mas a pose nem sempre fecha, e não é um erro, é considerada normal, uma mensagem como esta vem do servidor:

2009.09.08 00:44:42 '64766': requote 1.51893 / 1.51933 para pedido #11573500 vender 1.80 EURCHF fechando em 1.51914

Como você sabe, isto significa que o preço mudou a curto prazo enquanto o pedido de fechamento foi para o servidor.

E o servidor sugere um novo preço de fechamento. O servidor tem tempo para responder - 3 segundos. E aqui está o problema - o servidor se recusa a fechar o pedido pelo novo preço!

Como isso acontece não está claro... Ajude-me a entender, por favor.

 

Pessoal, por favor, expliquem o significado do ponto de exclamação(!ExistPosição).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

 
001 >> :

Pessoal, por favor, expliquem o significado do ponto de exclamação(!ExistPosição).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= price - PipsForOpenMore * Point)

A tradução literal desta linha será

se cnt é MAIS que 0 e a função ExistPosition(OP_BUY) retorna FALSO e Ask é MENOR ou igual ao preço - PipsForOpenMore * Point, then....

O "!" é uma negação. Se não fosse, a condição se suporia que a função ExistPosition(OP_BUY) deveria retornar VERDADEIRO.

 
Olá, você poderia, por favor, aconselhar como pegar e processar um evento de stop loss ou ter lucro em um EA? Gostaria de lhe perguntar como processar um evento de stop loss ou de obtenção de lucro. Obrigado.
 
cdover >> :
Olá, você poderia, por favor, aconselhar como pegar e manusear em uma EA o evento de fechar um negócio no stoploss ou takeprofit. >> Obrigado.

Você quer que algo seja executado antes de fechar em stop/profit?

 
MrSoros писал(а) >>

Você quer que algo seja executado antes de fechar em stop/profit?

Não, logo após o fechamento.

 

OrdensTotal() - retornará 0 assim que a ordem for fechada.

Assim, se OrderTotal() retorna 0, então você faz o processamento...

Este é o caso quando apenas um pedido está aberto.

Se você descrever sua situação com mais detalhes, o que você quer fazer depois que o pedido for fechado, então eu poderei lhe dar uma resposta melhor :)

 
Alex5757000 >> :
Colegas, tenho uma pergunta sobre a média. puramente matemática. vamos supor que fizemos média de 3 vezes: posições com o mesmo volume de 1 lote. a um preço de 1,8 e 1,6 e 1,4. O preço real de abertura aqui será 1,6. com isto é claro. Mas não entendo como posso calcular o preço real aberto, se abrimos com lotes diferentes, por exemplo, com um fator de média de N. // Por exemplo: 0,1 lote e 0,2 e 0,4 - aqui N===2 a 1,8 e 1,6 e 1,4 . Qual será o preço real de abertura?

Eu não entendo a lógica.

Você pode explicar isso com mais precisão, a partir de um exemplo?

 
MrSoros писал(а) >>

3. Aqui está o código para fechar a posição:

Aumente o valor de escorregamento para 50, você tem 5 dígitos, então 0,3 pips não funciona.

 
cdover писал(а) >>
Olá, você poderia me dizer como captar e lidar no meu EA o evento de fechar um negócio em Stop Loss ou Take Profit. >> Obrigado.

Veja a última ordem na história, determine o tipo de ordem.

Por exemplo, para uma posição longa:

Se o pedido fechou a um preço igual ou inferior ao stop loss, então foi um stop loss.

Se ao preço igual ou superior ao TakeProfit - TakeProfit.

Razão: