"Posição flutuanteSelect() erro - página 5

 

prostotrader:

Isso faz mais sentido "professor"?

Heh-heh-heh. Você é mesmo um adulto ou não?

O que você queria mostrar na captura de tela?

Vamos analisar os pontos em seu diário de bordo.

Em primeiro lugar:

2016.08.15 15:37:17.720    Test_deff_order (GAZR-9.16,M1)    History done. Ticket: 50942179

No segundo parágrafo, o que você vê?

Vou me dar ao trabalho de escrevê-lo:

2016.08.15 15:37:17.720    Test_deff_order (GAZR-9.16,M1)    Volume initial: 1.0. Volume current: 0.0 Deals done: 0.0 

 

Mas mais uma vez você está tentando analisar algo (ordens) sem levar em conta que o gatilho que permite analisar o volume da posição é uma transação do tipo TRADE_TRANSACTION_DEAL_ADD - adicionando um negócio ao histórico.

No entanto, pela enésima vez, com TRADE_TRANSACTION_DEAL_ADD você não verifica o volume da posição.

Aqui está seu código a partir da mensagem acima:

      case TRADE_TRANSACTION_DEAL_ADD:
        if((order_ticket!=0) && (trans.order==order_ticket))
        {
         Print("Deal done. Ticket: ",trans.order);
        }
      break; 
 
Изменение позиции в терминале происходит строго в результате получения сделочной транзакции, ....

Você não vê que a posição (no segundo caso) mudou ANTES da chegada da transação?

ESTE NÃO DEVERÁ SER, porque Alexndr escreveu:

Изменение позиции в терминале происходит СТРОГО в результате получения сделочной транзакции, ....
 

ESTRITAMENTE!

ESTRITAMENTE!

ESTRITAMENTE!

ESTRITAMENTE!

 
prostotrader:

Você não vê que a posição (no segundo caso) mudou ANTES da realização da transação?

NÃO DEVERIA SER, porque Alexndr escreveu:

Ah, é isso aí... Somente o autor dirá mais precisamente :-))

Mas, imho, não vale a pena pegar essas palavras. A transação comercial já chegou, só não é processada imediatamente na OnTradeTransaction().

O engraçado é que você aponta para a transação comercial, enquanto em seu código há o caso TRADE_TRANSACTION_HISTORY_ADD .

Imho, aqui é importante processá-lo examinando as transações - caso TRADE_TRANSACTION_DEAL_ADDD.

 
Dennis Kirichenko:

Ah, é isso aí... Somente o autor pode ser mais preciso :-))

Mas, imho, não devemos nos meter nestas palavras. A transação já chegou, apenas não foi processada imediatamente na OnTradeTransaction().

Imho, é importante processá-lo examinando as transações...

Obrigado Denis!

Sou um otário por nem saber o que éa OnTradeTransaction

 
prostotrader:

Obrigado Deniska!

Sou um otário por nem saber o que é a OnTradeTransaction.

O prazer é meu! Mas sua ironia é infundada. Você já foi esfregado várias vezes seguidas o que está incorreto no código.

Ao menos você deveria ter agradecido a Vladimir, ele foi o primeiro a apontar na direção certa ;-)

 
Dennis Kirichenko:

O prazer é meu! Mas sua ironia não está destinada a ser. Você já foi informado várias vezes seguidas o que está errado no código.

Ao menos você deve agradecer a Vladimir, ele foi o primeiro a apontar na direção certa ;-)

Leia "a seu gosto":

https://www.mql5.com/ru/forum/93357#comment_2707875

 

Karputov Vladimir

Os números sob meus avatares não podem ser multiplicados por 1000?

Mais uma coisa...

Caso você não tenha notado, eu diria que em todos os exemplos as encomendas são feitas

Assincronamente, por isso é importante controlá-los!

 
prostotrader:

Karputov Vladimir

Os números sob meu avatar não podem morrer em 1000?

Os números sob seu avatar não pertencem a você, portanto você não tem poder sobre eles (você não pode mudá-los à vontade).

Adicionado.

Esqueça os pedidos até a transação com o tipo TRADE_TRANSACTION_DEAL_ADD. Por que "esquecer"? Porque é ERRADO.