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
Bem, já percebeu o ponto. Digo-lhe meticulosamente, pode verificar: a função OrderSend() devolve um valor booleano. Neste caso, se o pedido for verificado com sucesso, o bilhete de encomenda é escrito em variável da estrutura MqlResult. Chamo-lhe "função de devolução do bilhete de encomenda" para mim. Aqui está o link para a fonte:"Ao enviar um pedido de compra utilizando a função OrderSend(), pode descobrir imediatamente o bilhete da encomenda que foi criada se o pedido for verificado com sucesso.
E se vai divagar do tema por iniciativa do moderador, tem uma resposta semelhante: não há e nunca haverá um tutorial MQL5, por isso não está claro, que tutorial está a ver... Talvez possamos discutir a substância da discussão, ou nada? :)
Obrigado pela resposta sobre a 'proibição', recebi-a.
Não há uma compreensão correcta do que irá acontecer quando se recebe uma resposta do servidor.
OrderSend() devolve realmente um valor booleano, mas não é o mais importante - o principal é a estrutura, que é preenchida quando se recebe uma resposta do servidor.
Sim, nós escrevemos um bilhete na estrutura (não só encomendas, mas também negócios), mas será mais importante do que o resto da informação na estrutura?
Vamos analisar a estrutura da resposta. Na minha opinião, o quadro é aproximadamente o seguinte
PS
O nome correcto para uma estrutura é MqlTradeResult e não MqlResult (embora na minha opinião não seja muito importante).
Se o pedido for correcto e executado, então o volume e o preço são importantes no caso do servidor "ter o direito" de reduzir os parâmetros de dados da transacção e pode exigir uma reacção do Expert Advisor sobre as acções do servidor.
Infelizmente, ainda não percebi.
precisa de ter um campo "tempo" na estrutura de retorno por alguma razão. use o tempo na ordem que aparece. Isto é suficiente para controlar uma pequena história.
A estrutura deveria chamar-se MqlTradeResult , e não MqlResult (embora na minha opinião não tenha grande importância).
Não é exactamente um entendimento correcto do que acontece quando se recebe uma resposta do servidor.
OrderSend() devolve realmente um valor booleano, mas não é o mais importante. O principal é a estrutura que é preenchida ao receber uma resposta do servidor.
Sim, de facto, um bilhete é escrito na estrutura (não só encomendas, mas também negócios), mas será mais importante do que o resto da informação na estrutura?
"Ao enviar um pedido de compra utilizando a função OrderSend(), podemos conhecer imediatamente o bilhete da encomenda que foi criada quando o pedido foi verificado com sucesso. Mas ao mesmo tempo, a ordem em si pode ainda não aparecer no terminal do cliente e uma tentativa de a seleccionar utilizando a função OrderSelect falhará. Da segunda frase resulta que nem sempre é possível trabalhar com as propriedades da encomenda (tempo de encomenda), mesmo que o seu bilhete seja conhecido. Portanto, "utilizar o tempo na ordem que apareceu" não é uma solução ideal. Além disso, a ordem pode "não abrir" de todo. A minha abordagem resolveria o problema de controlar uma pequena história, independentemente do que aconteceu à ordem antes de esta entrar para a história.
Não sei, se é tão importante pedir aos criadores que façam adições à estrutura MqlTradeResult (na forma de tempo para o qual uma transacção é executada ou uma ordem é definida).
Embora não compreenda porque é necessário, prefiro acrescentar parâmetros à OnTrade().
Não sei, se é tão importante, pedir aos programadores que façam adições na estrutura MqlTradeResult(como tempo de negócio executado ou de encomenda efectuada).
Bem, era sobre isso que eu estava a perguntar desde o início :) Existiu um precedente, por assim dizer :)
Adição. Se alguém fizesse esta pergunta há meio ano atrás, poderíamos esperar por um aparecimento relativamente rápido desta funcionalidade, enquanto esperamos pelo próximo ano - é mais fácil introduzir uma variável para a data. Embora não seja completamente exacta, mas ainda assim.
Embora não compreenda porque é necessário, prefiro acrescentar parâmetros à OnTrade().
Pessoalmente, não posso esperar mais pelo aparecimento da estrutura/parâmetros de Comércio. Já há 9 meses que estou à espera disso. Vou ter de me contentar com o que tenho.
Escrevi "de memória", em resposta a conselhos para estudar um livro-texto Bem, não vamos discutir, quem tem uma melhor compreensão :) Vejam a minha resposta a Sergeev. E aqui repito: de acordo com a lógica da estratégia, só preciso de um bilhete e do tempo de levar a encomenda à produção. O que salientou não é nenhum dos dois. "Informação muito importante" como o retcode não ajuda em nada a optimizar o carregamento da história, que é do que estou a falar em geral.
1) EncomendarEnviar() e carregar a história, e a partir deste ponto, por favor, elaborar (não consigo compreender do que estamos a falar, e penso que estamos sem relva).
2. Logicamente, se a análise for baseada apenas no resultado OrderSend(), a sequência de acções é a seguinte
a) Verificar o código retc, precisamos de saber o que realmente aconteceu;
b) Se o resultado for bem sucedido, obter o bilhete, o volume e o preço. Se formos solicitados, obtemos os novos preços (e verificamos se nos satisfazem).
c) Se a resposta for satisfatória e não tivermos erros, obter um bilhete e tempo. Pode utilizar a hora do servidor ou tentar retirá-la do histórico (para o cálculo aproximado no momento, é melhor conhecer a hora do servidor);
d) Se não estivermos satisfeitos com a resposta (ou satisfeitos apenas parcialmente) - não corresponder ao volume ou se tivermos um requote, decidir sobre os próximos passos.
PS
Em suma, não importa como se olha para ele, o código retcode deve ser visto.
Não sei do que estás a falar, e penso que estamos sem erva).
Veja a discussão desde o início. ...Ninguém nega a importância do retcode, mas para soluções simples pode passar sem ele.
Até que ponto esta opção é crítica para si?
c) Se a resposta for satisfatória e não houver erros, recebemos um bilhete. Pode usar a hora actual;
Até que ponto esta opção é crítica para si?
Esta é a opção padrão (que tem as suas desvantagens, mencionadas acima) + economia de tempo. Uma vez que não preciso de verificação de código retcode, há apenas uma questão de economia de tempo: seja de forma independente, ou esteticamente com MqlTradeResult. Na verdade, esta é a razão da minha pergunta :)
Se o pedido for bem sucedido, mais cedo ou mais tarde, o comércio ficará na história e a ordem aparecerá na lista. Consequentemente, poderá descobrir exactamente o que aconteceu e como aconteceu.
E a variante sugerida é, por assim dizer, "a curto prazo", para aqueles que querem obter todos os dados necessários de uma só vez e não se preocupar com acções desnecessárias.
Claro que talvez se acrescente algo mais no servidor de resposta, mas há uma série de características e razões pelas quais os criadores podem não concordar com esta opção (e o pedido, lamentavelmente pouco justificado e confirmado por argumentos convincentes).
PS
Embora, talvez me tenha escapado alguma coisa e os criadores tenham decidido que é bastante razoável.