Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Boa tarde!
Tenho uma pergunta semelhante para todos e especialmente para o fxsaber.
Parece ser uma pergunta primitiva, mas não consigo encontrar a resposta para ela.
Aqui https://www.mql5.com/ru/forum/6343/page939 foi-me dito: "Tente procurá-lo. O fxsaber tem trabalhado neste problema há algum tempo. O que deu certo, eu não sei, não estou interessado". Por isso, decidi perguntar-lhe.
A questão é esta. Abri posição e quero imprimir o conteúdo da MqlTradeResult:
retcode, pedido e volume são impressos, mas o negócio e o preço são sempre zeros.
Por favor, me informe o que estou fazendo de errado e como obter acesso (pelo menos, imprima-o primeiro) ao conteúdo da estrutura de resultados?
Que tal isso?
Abro uma posição e quero imprimir o conteúdo da MqlTradeResult desta forma:
O retcode, o pedido e o volume são impressos, mas o negócio e o preço são sempre zeros.
Por favor, informe o que estou fazendo de errado e como obter acesso (pelo menos imprima-o primeiro) ao conteúdo da estrutura de resultados?
Os zeros são escritos em resultado.
Que tal isso?
Zeros e são prescritos no resultado.
Vejo um pedido aberto, recebo result.retcode 10009 e result.price = 0 ?
Você pode explicar o significado do resultado se ele não contiver um resultado?
Por favor, explique qual é o objetivo do resultado se ele não contém o resultado?
Esta é uma característica da MT5 onde o resultado é apenas um pedido (bilhete e sem preço), mas não uma negociação. Você tem várias opções
Esta é uma característica da MT5 onde o resultado é apenas um pedido (bilhete e sem preço), mas não uma negociação. Você tem várias opções
Na MQL4 não havia nenhuma estrutura de resultados e recebemos um ticket e selecionamos a ordem apropriada e solicitamos os dados necessários. A MQL5 tem a estrutura de resultados que contém muitos dados necessários, e seria ilógico não usá-la.
1. Antes de fazer uma pergunta sobre o fórum, tentei "descobrir por mim mesmo como tudo funciona" e o que vejo - na estrutura de resultados:
resultado.deal, ou seja, assume-se que faz sentido e nem sempre é representado por zero na estrutura de resultados. Outros exemplos podem ser dados que indicam que o resultado.preço, bem como o resultado.deal pode ser obtido da MqlTradeResul, que é o que eu tentei fazer.preço presente em dobro; // Preço de negociação, confirmado pelo corretor.
No código da amostra do desenvolvedor
Em nenhum lugar eu vi informação de que "Esta é uma característica da MT5, quando o resultado é apenas um pedido (bilhete e sem preço), mas não um acordo". Por favor, diga-me com base em quais informações você chegou a esta conclusão.
2. Se você souber de algum desenvolvimento de "nível superior já pronto (nível baixo está oculto)", que lhe permita obter os parâmetros de uma posição imediatamente após sua abertura (o código 10009 aparece), sem seleção prévia por bilhete, por favor, me dê um exemplo ou me dê um link para ele.
Obrigado.
Na MQL4 não havia nenhuma estrutura de resultados e recebemos um ticket e selecionamos a ordem apropriada e solicitamos os dados necessários. A MQL5 tem a estrutura de resultados com muitos dados necessários e seria ilógico não utilizá-la.
1. Antes de fazer uma pergunta no fórum, eu tentei "descobrir por mim mesmo como tudo funciona" e o que eu vejo é que a estrutura resulta:
resultado.deal, ou seja, assume-se que faz sentido e nem sempre é representado por zero na estrutura de resultados. Há outros exemplos que mostram que o resultado.preço assim como o resultado.deal podem ser obtidos da MqlTradeResul, que é o que eu tentei fazer.Há um preço duplo; // Preço de negócio, confirmado pelo corretor.
No código da amostra do desenvolvedor
Em nenhum lugar vi informação de que "esta é uma característica da MT5 onde o resultado é apenas um pedido (bilhete e sem preço), mas não um negócio". Por favor, diga-me com base em quais informações você chegou a esta conclusão.
2. Se você souber de algum desenvolvimento de "nível superior já preparado (o nível inferior está oculto)", que permita obter os parâmetros de uma posição imediatamente após sua abertura (o código 10009 aparece), sem seleção prévia por bilhete, dê um exemplo ou dê um link para ele.
Um pedido comercial resulta em uma rejeição ou em uma ordem de mercado. Isto não é um comércio, nem é uma posição gerada por um comércio.
Um pedido comercial resulta em uma rejeição ou em uma ordem de mercado. Isto não é um comércio, nem é uma posição gerada por um comércio.
- Após qual etapa você acha que aparece a Estrutura de Resultado da Solicitação de Comércio (MqlTradeResult), dentre as que você listou?
- De acordo com a descrição da MQL5:
"Estrutura do resultado da solicitação de comércio (MqlTradeResult)
Como resposta a uma solicitação comercial, o servidor comercial retorna dados contendo o resultado do processamento da solicitação comercial como uma estrutura especial pré-definida MqlTradeResult". e "10009 TRADE_RETCODE_DONE Order executed".
Isto é, o código de retorno do servidor comercial 10009 significa que o pedido de OrderSend foi executado com sucesso, isto é, se eu solicitar dados da MqlTradeResult, após receber o código 10009, como posso explicar esse resultado.price = 0 ?
Obrigado:
- após qual passo, daqueles listados por você, a estrutura da solicitação comercial (MqlTradeResult) aparece?
- De acordo com a descrição da MQL5:
"Estrutura do resultado da solicitação de comércio (MqlTradeResult)
Como resposta a uma solicitação comercial, o servidor comercial retorna dados contendo o resultado do processamento da solicitação comercial como uma estrutura especial pré-definida MqlTradeResult". e "10009 TRADE_RETCODE_DONE Order executed".
Portanto, o código de retorno do servidor 10009 significa que o pedido de OrderSend foi executado com sucesso, ou seja, se eu solicitar dados da MqlTradeResult, após receber o código 10009, como posso explicar esse resultado.preço = 0 ?
10009 TRADE_RETCODE_DONE - você mesmo o descreveu - a ordem foi executada. Isto é simplesmente o fato de que a ordem foi colocada em fila de espera com sucesso no servidor para execução.
Além disso, se esta ordem for executada (afinal de contas, ela pode ser rejeitada pelo servidor), então há uma negociação - este é o resultado da negociação com o preço de abertura.
Leia sobre
OnTradeTransaction
É chamado em Expert Advisors quando ocorre um evento TradeTransaction. A função é destinada a processar os resultados da execução dos pedidos comerciais.
nuloOnTradeTransaction( )
const MqlTradeTransaction&trans,// estrutura de uma transação comercial
const MqlTradeRequest&solicitação,// estrutura da solicitação
const MqlTradeResultado& resultado// estrutura da resposta
);
Em nenhum lugar eu vi a informação de que "Esta é uma característica da MT5 onde o resultado é apenas uma ordem (bilhete e sem preço), mas não uma negociação". Por favor, diga-me com base em quais informações você chegou a esta conclusão.
Experiência própria.
2. Se você souber de algum desenvolvimento de "nível superior já pronto (nível baixo está oculto)", que lhe permita obter os parâmetros de uma posição imediatamente após sua abertura (o código 10009 aparece), sem seleção prévia por bilhete, por favor dê um exemplo ou um link para ele.
Há outra opção, mas é "avançada".