Desviación del precio de la orden solicitada a la ejecución

 

Hola, estoy dando mis primeros pasos con el desarrollo en mql5 y no consigo solucionar un problema, en concreto en un programa python que utiliza la librería de metatrader5. El problema que tengo es que al poner la orden desde aquí, el precio al que se ejecuta cambia mucho con respecto al precio que se envía.

Por dar toda la info, antes de ejecutar hago una consulta del precio, y a continuación incluyo la orden con esa precio y un parámetro 'desviation=5':


price = mt5.symbol_info_tick(symbol).ask -> da un resultado de  26521.69$

request_first = {'action': 1, 'symbol': 'BTCUSD', 'volume': 3.7, 'type': 1, 'price': 26521.69, 'sl': 26786.906899999998, 'tp': 26256.4731, 'deviation': 5, 'magic': 234000, 'comment': 'EIC - Orden de Compra', 'type_time': 0, 'type_filling': 1}

Y sin embargo al ir al broker, esta orden se ha ejecutado a un precio de 26505$.


¿Sabéis a qué es debida tanta diferencia? ¿El parámetro desviation no tendría que limitar que si la orden se desvía más de ese valor no se ejecute? 

Y por último, ¿alguna recomendación para ajustar más el precio (por ejemplo, no sé si dividir el volumen en más órdenes, usar órdenes límite, etc).?

Gracias de antemano!!