MtGox api: seguimiento de ofertas/solicitudes que se cancelan

Estoy empezando con la API de mtgox. Principalmente estoy usando esta página para decirme cómo usarla.

Lo que tengo actualmente es que puedo buscar la profundidad y luego poner las ofertas y demandas en "cubos" (cada uno de los cuales es un rango de precio), y puedo decirle el volumen en cada cubo.

Ahora lo que quiero poder es mantener esto actualizado cada segundo más o menos.

Así que necesitaría estar al tanto de:

  • Transacciones que se realizan (es decir, se cumplen las ofertas/demandas).

  • Nuevas ofertas/pedidos.

  • Las ofertas/solicitudes se cancelan.

Parece como si la versión anterior de la API pudiera mostrar el cambio neto en cada volumen, pero este no parece ser el caso de la nueva versión.

¿Cómo haría para hacer esto?

Respuestas (2)

hay dos maneras de hacer esto.

1) API de sondeo MtGox V2. Llama al getFullDepthpara descargar el libro de pedidos completo. Luego llama getPartialDepthpara obtener actualizaciones, reemplazando todos los pedidos en su masterlibro de pedidos. Este método no es muy eficiente y solo puede sondear a un ritmo acelerado.

Aquí hay una demostración del proyecto de código abierto XChange para simplemente sondear el libro de pedidos parcial y crear un gráfico de libro de pedidos.

2) MtGox Polling API V2 + transmisión. Llama al getFullDepthpara descargar el libro de pedidos completo. Luego, utiliza la API de transmisión para recibir deptheventos y actualizar su masterlibro de pedidos en consecuencia. Las actualizaciones de profundidad con una cantidad de cero significan que las órdenes se cancelaron o completaron, es decir, ya no existen y puede eliminarlas.

Aquí hay una demostración del proyecto de código abierto XChange.

Su enlace a la "versión anterior de la API" en realidad va a la API de transmisión que todavía está disponible. Solo se actualizó la versión http y, a partir de ahí, parece difícil obtener información de profundidad precisa y confiable para períodos de tiempo precisos.

Así que me quedaría con la transmisión. Actualizado mucho más en tiempo real para sus necesidades.

Ahora descartaron el campo depth:volume pero todavía tienen volume_int, que es cambio de volumen * 1E8, por lo que podría obtener volumen de eso:

//js for example
var volume = volume_int * Math.pow(10,-8);

Consulte los ejemplos de github en la parte inferior de la página wiki para ayudarlo a comenzar. Por ejemplo, este