
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
Pessoal,
bom dia.
Um comportamento estranho que tenho verificado na minha conta demo da XP. Anexo, envio um print do market watch do WINM25 para exemplificar.
O meu entendimento é que os valores de ask e bid são os melhores valores de compra e venda registrados no book, logo, a priori, não deveria haver, em nenhum momento, ticks de compra ou venda fora dos valores de ask e bid. No entanto, vejam que vários ticks ocorrem fora dos valores de ask e bid. Isso acontece direto (todos os segundos sempre tem ticks fora do range). Me utilizando dos elementos da estrutura MqlTick, me parece que existe um delay entre o "MqlTick.last" e os "MqlTick.ask" e "MqlTick.bid".
Problemas que isso causa: Em simulações de experts, dependendo do código, uma entrada pode ser acionada por pelo "MqlTick.last", porém o simulador realiza entradas sempre pelo "MqlTick.ask" ou pelo "MqlTick.bid". Exemplo: No caso do print em questão, uma compra poderia ter sido disparada quando MqlTick.last = 137250, porém o simulador iria considerar a entrada em 137235, que é o valor do MqlTick.ask no momento. Ou seja, uma entrada 15 pontos mais vantajosa que o último preço negociado. Se for em trades de alta frequencia e de baixo objetivo, a simulação, mesmo utilizando realticks providos pela XP apresentará resultados errados.
Alguem saberia explicar o que ocorre?
struct MqlTick
{datetime time; // time of this price update
double bid; // current Bid price
double ask; // current Ask price
double last; // Last trade price
ulong volume; // volume for Last price
long time_msc; // time of this price update in milliseconds
uint flags; // flags (which fields of the structure have changed)
double volume_real; // volume for the Last price with increased accuracy
};