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
Papaklass, obrigado pela resposta!
Exemplo (provavelmente vou repetir-me):
Lote mínimo = 1,0; passo mínimo do lote = 0,1. A cotação começa a cair, o comerciante tenta fechar uma posição longa de 10,1 lotes. No caso de um mercado de notícias, a ordem ORDER_FILLING_AON não pode ser executada. É mais razoável utilizar o RDER_FILLING_CANCEL. O comércio de venda oposta é parcialmente executado (por 10,0 lotes). A parte restante da posição longa (0,1 lote) continua a incorrer em perdas. Não pode ser fechado porque o lote mínimo do comércio = 1,0 lote. Isto é, para sair completamente do mercado, o comerciante deve:
1. incorrer em perdas óbvias comprando pelo menos 1,0 lote.
2. Tente executar um comércio de venda de lote 1.1 com o parâmetro ORDER_FILLING_AON.
Assim, em termos de senso comum, a entrada ORDER_FILLING_CANCEL eORDER_FILLING_RETURN impõe um requisito rigoroso para os valores do lote mínimo e do incremento mínimo do lote, estes devem ser iguais.
Outro exemplo.
Existe uma posição longa com lote 1.0 e SL/TP estão definidos. O comerciante tenta fazer um comércio inverso (venda) em volume de 1,1 lote com SL/TP especificado (para venda).
Suponha que tal volume está disponível no mercado e a posição resultante seria - volume de venda de 0,1 lote com um SL/TP especificado (para venda).
Mas não existe tal volume e temos ORDER_FILLING_CANCEL? Receberemos um erro sobre o SL/TP errado. Assim, digamos modestamente, a sabedoria é enviar SL/TP = 0 em tráfegos cruzados com o parâmetro ORDER_FILLING_CANCEL.
Sei que muitos programadores MQL5 são pessoas inteligentes, mas acredito que seria bom receber um artigo dos programadores explicando o algoritmo de verificação da correcção da colocação de encomendas.
Vou repetir a minha pergunta. Existe um artigo deste tipo? Se não, espera que apareça em breve?
Quando uma ordem é executada, o volume da posição restante não pode ser inferior ao mínimo.
Como pode ter tanta certeza?
Um posto acima deu um exemplo (o primeiro) de um caso em que tal situação é possível.
Ou o servidor tem um característica que o impede de fechar parcialmente uma encomenda de modo a que o restante seja inferior ao lote mínimo. Onde é que isto está explicitamente escrito na documentação?
Como pode ter tanta certeza?
Um posto acima deu um exemplo (o primeiro) de um caso em que tal situação é possível.
Ou existe uma regra especial no servidor que não lhe permite fechar parcialmente as encomendas. a característica Ou, existe um código especial que impede que uma encomenda seja parcialmente fechada para manter o saldo abaixo do lote mínimo. Onde é que isto está explicitamente escrito na documentação?
Isto é exactamente o que está escrito no servidor (como último recurso). Talvez o terminal também reaja a tempo para evitar uma operação obviamente errada.
Por todas as regras lógicas é impossível tornar a transacção em volume inferior ao mínimo e tal transacção que irá alterar/expor o volume de um item ao que é inferior ao lote mínimo.
Isto é exactamente o que está especificado no servidor (como autoridade final). Talvez o terminal também reaja a tempo para evitar uma operação obviamente errada.
Por todas as regras lógicas, é impossível executar um acordo com um volume inferior ao lote mínimo e um acordo que altere/exponha o volume da posição ao que é inferior ao lote mínimo.
O que e onde está escrito exactamente "no servidor..."?
Há uma coisa má nas suas mensagens: especulação. Desculpem a oposição directa. :-)
Dê-me uma ligação específica na documentação onde está explicitamente escrito: é proibido executar parcialmente uma transacção de modo a que o saldo seja inferior ao lote mínimo.
O que diz exactamente e onde diz "no servidor..."?
Há uma coisa má nas suas mensagens: especulação. Perdoem-me a minha oposição directa. :-)
Dê-me uma ligação específica na documentação que diz explicitamente: proibir a execução parcial de uma transacção de modo a que o saldo seja inferior ao lote mínimo.
Tente na Alpari (se não me engano, o seu lote mínimo é 0,10) com um guião sem quaisquer verificações para abrir um lote de, digamos, 0,01.
Veja o que a resposta (informação na estrutura) retorna sobre esta conta.
Também pode tentar gerir o Consultor Especialista com 0,01 lote no Testador de Estratégia sobre as contas de 2010.
Depois disso, continuaremos a conversa substantiva sobre o quê e onde é possível.
voix_kas:
Dê-me uma ligação específica na documentação, onde esteja claramente escrito: é proibido executar parcialmente uma troca de modo a que o saldo seja inferior ao lote mínimo.
Pode um átomo de hidrogénio ser mais pequeno que um átomo de hidrogénio. Talvez, mas isso já não seria o nosso universo ou as "nossas" leis físicas...
E que secção da documentação deve dizer isto em "O ABC" ou "Fundamentos de Matemática"?
Desculpem a oposição directa. :-)
Experimente na Alpari (se não estou enganado, eles têm um lote mínimo de 0,10) com um guião sem quaisquer verificações para abrir um lote de, digamos, 0,01.
Ver o que é devolvido na resposta (informação na estrutura).
Também pode tentar gerir o Consultor Especialista com 0,01 lote no Testador de Estratégia sobre as contas de 2010.
Depois disso, continuaremos a conversa substantiva sobre o quê e onde é possível.
Desculpem a oposição directa. :-)
Caro Senhor, leu a minha pergunta.
Não estou a perguntar se é possível fazer uma transacção com um volume inferior ao lote mínimo estabelecido numa determinada conta/tipo de conta. Claro que não.
A minha pergunta é a seguinte: Do ponto de vista do conceito MQL5, é aceitável executar uma transacção com um lote parcial inferior ao lote mínimo permitido? (Claro que estamos a falar de ORDER_FILLING_CANCEL eORDER_FILLING_RETURN).
E não estamos a falar de conclusões empíricas, mas de requisitos/limitações específicas no "motor" MQL5, que foram oficialmente publicados.
Caro Senhor, leu a minha pergunta.
Não estou a perguntar se é possível fazer uma transacção com um volume inferior ao lote mínimo estabelecido numa determinada conta/tipo de conta. Claro que não.
A minha pergunta é a seguinte: Do ponto de vista do conceito MQL5, é aceitável executar uma transacção com um lote parcial inferior ao lote mínimo permitido? (Claro que estamos a falar de ORDER_FILLING_CANCEL eORDER_FILLING_RETURN).
E não estamos a falar de conclusões empíricas, mas de requisitos/limitações específicas no "motor" MQL5 que foram oficialmente publicados.
Quando uma ordem é executada, o volume da posição restante não pode ser inferior ao volume mínimo. Será um múltiplo do volume mínimo, mas não menos.
Dê-me um exemplo de como se pode mudar uma posição por 0,01 lote, sendo o mínimo possível 0,1 lote. Então, responderá à sua própria pergunta.
A sua interpretação é clara. Mas olha para a documentação:
SYMBOL_VOLUME_MIN Volume mínimo para um comércio
SYMBOL_VOLUME_STEP Etapa mínima de mudança de volume para a conclusão de um negócio
Isto é, negócios (e portanto ordens) com um volume de 0,1, 0,11, 0,12 ... são possíveis no nosso exemplo. etc.
e impossíveis são 0,09, 0,08, 0,07 ... etc.
Exactamente, nada é dito sobre o volume da posição.
Eis um exemplo: compramos 1,0 lote, fechamo-lo parcialmente com venda 0,95 (isto corresponde às condições de granulação de volume), a posição restante é de 0,05 lotes. E não podemos fechá-lo agora.
Devemos primeiro aumentar a posição para pelo menos 1,05 (uma encomenda não pode ser inferior a 0,1) e depois fechá-la completamente.
É absurdo que não possamos fechar completamente uma posição aberta.
Acabei de o verificar manualmente e fecha-se na perfeição. Abri posição de compra com 0,21 lote e fechei posição de venda com 0,2 lote. 0,01 lote é deixado no mercado embora o mínimo fosse 0,1 lote. Verifiquei-o também no 4. Não há erros no fecho parcial também aí.
A posição restante de 0,01 lote está fechada por um comércio oposto do mesmo volume?
Ou seja, um comércio de venda com um volume de 0,01 passa (claro, fechando completamente a posição aberta)?
Caro Senhor, leu a minha pergunta.
Não estou a perguntar se é possível fazer uma transacção com um volume inferior ao lote mínimo estabelecido numa determinada conta/tipo de conta. Claro que não.
A minha pergunta é a seguinte: Do ponto de vista do conceito MQL5, é aceitável executar uma transacção com um lote parcial inferior ao lote mínimo permitido? (Claro que estamos a falar de ORDER_FILLING_CANCEL eORDER_FILLING_RETURN).
Não estamos a falar de conclusões empíricas, mas de requisitos/restrições específicas na MQL5 que foram oficialmente publicadas.
A resposta é simples - não possível e não admissível, em todas as condições (caso contrário, é em SD de uma só vez. E não só "nós" ficaríamos indignados como testadores da parte do cliente, mas também os corretores que estão a testar a parte do servidor).
Respondendo à parte técnica da sua pergunta, responderei que a verificação existe na parte do cliente (terminal e testador), e sem quaisquer dúvidas na parte do servidor.
A verificação da parte do cliente é necessária, em primeiro lugar, para pré-contrar todo o tipo de violações das condições e regras comerciais, e em segundo lugar, para reduzir a carga no servidor e evitar "ataques" com pedidos incorrectos (o terminal não enviará simplesmente um pedido ao servidor se detectar uma violação das regras comerciais ou um erro gritante no pedido).
Por sua vez, o servidor (como última instância) também verificará necessariamente a correcção do pedido comercial (incluindo a correcção das consequências esperadas da execução deste pedido).