Boa tarde,
É possível enviar uma ordem que seja executada apenas no valor que enviei?
Por exemplo, quero comprar 5000 ações da VALE5 a R$ 30,00. Porém, normalmente, uma ordem "maiorzinha" ao ser executada é quebrada em várias partes conforme a oferta e procura, podendo ser executada um pouco fora desse preço ou muito fora do preço, dependendo da liquidez. Dependendo da estratégia, isso pode comer o lucro. Assim, eu quero que esta ordem seja executada exatamente a R$ 30,00 não importa quantos lotes sejam consumidos, se forem só 200, tudo bem, é isso mesmo que espero.
É possível fazer isso pela bote do MT5? E por programação?
Valeu!
Olá Gustavo Hennemann,
Para que você não corra o risco de slippage na execução de sua ordem, você tem, basicamente, duas alternativas:
1) colocar uma ordem limite com preço especificado em 30 reais; a ordem pode não ser executada em sua totalidade, mas você não irá pagar mais caro que isso; entretanto, a questão de "quebrar" sua ordem em lotes menores, infelizmente você não terá controle sobre isso, uma vez que depende do mercado e da posição das ordens disponíveis no book.
2) colocar uma ordem do tipo FOK (fill or kill); nesse caso você vai executar sua ordem no preço pré-estabelecido, mas o próprio tipo da ordem se encarrega de verificar se existe volume disponível naquele nível de preço que você deseja; o tipo da ordem diz tudo: ela será preenchida, ou, na eventualidade de restrições de volume/preço, a ordem será automaticamente cancelada.
Abraços,
Malacarne
Olá Gustavo Hennemann,
Para que você não corra o risco de slippage na execução de sua ordem, você tem, basicamente, duas alternativas:
1) colocar uma ordem limite com preço especificado em 30 reais; a ordem pode não ser executada em sua totalidade, mas você não irá pagar mais caro que isso; entretanto, a questão de "quebrar" sua ordem em lotes menores, infelizmente você não terá controle sobre isso, uma vez que depende do mercado e da posição das ordens disponíveis no book.
2) colocar uma ordem do tipo FOK (fill or kill); nesse caso você vai executar sua ordem no preço pré-estabelecido, mas o próprio tipo da ordem se encarrega de verificar se existe volume disponível naquele nível de preço que você deseja; o tipo da ordem diz tudo: ela será preenchida, ou, na eventualidade de restrições de volume/preço, a ordem será automaticamente cancelada.
Abraços,
Malacarne
A primeira opção é o que quero executar, priorizando o preço.
Como eu configuro esta ordem (qual o tipo e como configuro a requisição)? Já existe algum tópico com estes detalhes?
Obrigado novamente
Olá @Rodrigo Malacarne,
A primeira opção é o que quero executar, priorizando o preço.
Como eu configuro esta ordem (qual o tipo e como configuro a requisição)? Já existe algum tópico com estes detalhes?
Obrigado novamente
Olá Gustavo Hennemann,
Você precisa entender então como utilizar ordens do tipo LIMIT.
Por favor dê uma olhada no seguinte link (especificamente a parte de ordens pendentes): https://www.metatrader5.com/pt/terminal/help/trading/general_concept
Abraços,
Malacarne
Olá Gustavo Hennemann,
Você precisa entender então como utilizar ordens do tipo LIMIT.
Por favor dê uma olhada no seguinte link (especificamente a parte de ordens pendentes): https://www.metatrader5.com/pt/terminal/help/trading/general_concept
Abraços,
Malacarne
Aí, não importa se a ordem é a mercado ou pendente, a política será priorizar o preço em detrimento do volume.
Assim, a requisição fica:
request.deviation = 0; //sem desvio do preço
request.type_filling = ORDER_FILLING_IOC;
É isso?
Obrigado
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
É possível enviar uma ordem que seja executada apenas no valor que enviei?
Por exemplo, quero comprar 5000 ações da VALE5 a R$ 30,00. Porém, normalmente, uma ordem "maiorzinha" ao ser executada é quebrada em várias partes conforme a oferta e procura, podendo ser executada um pouco fora desse preço ou muito fora do preço, dependendo da liquidez. Dependendo da estratégia, isso pode comer o lucro. Assim, eu quero que esta ordem seja executada exatamente a R$ 30,00 não importa quantos lotes sejam consumidos, se forem só 200, tudo bem, é isso mesmo que espero.
É possível fazer isso pela bote do MT5? E por programação?
Valeu!