Discussão do artigo "Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXII): ordens de negociação pendentes, posicionamento de ordens por condições"

 

Novo artigo Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXII): ordens de negociação pendentes, posicionamento de ordens por condições foi publicado:

Continuamos a criar funcionalidades que nos permitem negociar usando solicitações pendentes. Neste artigo criaremos um recurso para definir ordens pendentes por condições.

No objeto-solicitação pendente temos uma matriz armazenando todas as suas condições de ativação. No temporizador da classe de gerenciamento de negociação é constantemente examinada a lista de solicitações de negociação pendentes, e quando chega a hora de execução da solicitação pendente de negociação (quando atendidas as condições de ativação descritas nela), para o servidor é enviada uma ordem de negociação cujos parâmetros são especificados na solicitação de negociação disparada.

Para abrir posições, basta controlar que as condições especificadas sejam cumpridas, registrar esse momento para, assim, imediatamente enviar ao servidor a ordem de negociação permitindo abrir a posição.
No entanto, ao definir ordens pendentes usando objetos-solicitações pendentes há certa dificuldade: uma ordem é posicionada a uma distância do preço, enquanto uma posição é colocada de acordo como o preço atual correspondente.
Por essa razão, para colocar ordens pendentes por condições, também é necessário considerar a distância de posicionamento da ordem pendente. Neste caso, existe um dilema, isto é, ao criar uma solicitação pendente, indicamos a distância para colocar uma ordem pendente futura. Porém, não conhecemos essa distância. Talvez seja desde preço que está no momento da criação da solicitação pendente, ou desde o preço que existirá uma vez cumpridas todas as condições especificadas no objeto-ordem para ativação. Afinal, no momento em que todas as condições são atendidas, o preço poderia se afastar muito do local em que criada a solicitação pendente. Além disso, só poderemos saber com certeza o preço futuro apenas quando a única condição, para ativar a solicitação pendente, for um valor de preço definido. Em outros casos, desconheceremos o preço futuro em relação ao qual será necessário colocar a ordem.

Autor: Artyom Trishkin