Friday, November 25, 2016

Forex Trading Api Json

Los datos de cambio de alimentación / Alimentación moneda Hace un tiempo, yo estaba buscando una conexión de datos de cambio de alimentación. Quería utilizar la moneda de datos para convertir los precios del producto a la moneda local visitor8217s. Por desgracia, no pude encontrar ninguna Feeds de datos libre de la divisa. Así que corté juntos una hoja de cálculo de Google Docs que exporta la velocidad de datos de Google Finance Divisas. Esto le da una FX libre de Data Feed / RSS moneda de 90 monedas que está disponible en XML, JSON, JSON-P y RSS a través de HTTP y HTTPS. Los formatos que sea fácil de construir APIshys citar los tipos de cambio en literalmente cualquier lenguaje de programación Java 8211, PHP, JavaScript y muchos otros. Feeds de divisas datos Existen cuatro fuentes de datos de la divisa. USD RSS 8211 las tasas de cambio de USD a otras monedas. Euros para piensos 8211 las tasas de cambio de euros a otras monedas. Top 10 EUR RSS 8211 las tasas de cambio de euros a 9 monedas importantes. Top 10 USD alimente a 8211 las tasas de cambio de USD a 9 monedas importantes. Si es posible, utilice Feeds el Top 10 de la divisa de datos, ya que son más pequeños y se cargan más rápido. USD alimentación contiene USD a AED, ANG, ARS, AUD, BDT, BGN, BHD, BND, BOB, BRL, PTB, CAD, CHF, CLP, CNY, CP, CRC, coronas, coronas danesas, DOP, DZD, EGP, EUR , FJD, GBP, HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KD, KYD, KZT, dolor lumbar, LKR, LTL, LVL, MAD, MDL, MKD , MUR, MVR, MXN, MYR, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SCR, SEK, SGD , SLL, THB, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, dong, XOF, YER, ZAR, ZMK. EUR alimentación contiene euros a AED, ANG, ARS, AUD, BDT, BGN, BHD, BND, BOB, BRL, PTB, CAD, CHF, CLP, CNY, CP, CRC, coronas, coronas danesas, DOP, DZD, EGP, FJD , GBP, HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KD, KYD, KZT, dolor lumbar, LKR, LTL, LVL, MAD, MDL, MKD, MUR , MVR, MXN, MYR, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SCR, SEK, SGD, SLL El THB, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, dong, XOF, YER, ZAR, ZMK. Top 10 euros alimentación contiene EUR a USD, JPY, GBP, CHF, AUD, CAD, SEK, NOK y HDK. Top 10 USD FeedForex Trading Diario 1 - Automated Forex Trading con la API de OANDA Por Michael Halls-Moore el 21 de enero de 2015 He mencionado anteriormente en el artículo QuantStart: 2014 en revisión que estaría pasando algunos de 2015 escribiendo sobre el comercio de divisas automatizado. Teniendo en cuenta que yo mismo por lo general realizan investigaciones en mercados de acciones y futuros, pensé que sería divertido (y educativo) para escribir sobre mis experiencias de entrar en el mercado de divisas en el estilo de un diario. Cada entrada del diario tratará de construir sobre todos los anteriores, pero también debería ser relativamente autónomo. En esta primera entrada del diario Ill estar describiendo cómo configurar una nueva cuenta de corretaje de práctica con OANDA, así como la forma de crear un mecanismo básico multiproceso orientado a eventos que puede ejecutar automáticamente operaciones en un entorno de práctica y en vivo. El año pasado pasamos mucho tiempo mirando el backtestter impulsado por eventos. Principalmente para acciones y ETFs. El que presento a continuación se orienta hacia la divisa y se puede utilizar para el comercio de papel o de comercio en vivo. He escrito todas las instrucciones siguientes para Ubuntu 14.04, pero deben traducir fácilmente a Windows o Mac OS X, usando una distribución de Python como Anaconda. La única biblioteca adicional utilizada para el motor de intercambio de Python es la biblioteca de peticiones, que es necesaria para la comunicación HTTP con la API de OANDA. Dado que este es el primer puesto directamente sobre el comercio de divisas, y el código presentado a continuación puede adaptarse directamente a un entorno de comercio en vivo, me gustaría presentar las siguientes renuncias: Exención de responsabilidad: La negociación de divisas en el margen conlleva un alto nivel de riesgo, Y puede no ser adecuado para todos los inversores. El rendimiento pasado no es indicativo de resultados futuros. El alto grado de apalancamiento puede trabajar en contra de usted, así como para usted. Antes de decidir invertir en divisas debe considerar cuidadosamente sus objetivos de inversión, nivel de experiencia y apetito de riesgo. Existe la posibilidad de que deba afrontar la pérdida de parte o la totalidad de su inversión inicial y por lo tanto no debe invertir dinero que no pueda permitirse perder. Usted debe ser consciente de todos los riesgos asociados con el comercio de divisas y buscar el asesoramiento de un asesor financiero independiente si tiene alguna duda. Este software se proporciona tal cual y se excluyen todas las garantías expresas o implícitas, incluyendo, pero no limitado a, las garantías implícitas de comerciabilidad y aptitud para un propósito particular. En ningún caso los regentes o contribuyentes serán responsables de ningún daño directo, indirecto, incidental, especial, ejemplar o consecuente (incluyendo, pero no limitado a, la adquisición de bienes o servicios sustitutivos pérdida de uso, datos, ganancias o interrupción del negocio Sin importar la causa y la teoría de la responsabilidad, ya sea en contrato, responsabilidad estricta o agravio (incluyendo negligencia o de otro tipo) que surja en cualquier uso del software, incluso si se le avisa de la posibilidad de tal daño. Configuración de una cuenta con OANDA La primera pregunta que viene a la mente es ¿Por qué elegir OANDA. En pocas palabras, después de un poco de Googling alrededor de los corredores de la divisa que tenía API, vi que OANDA había publicado recientemente una adecuada REST API que fácilmente podría ser comunicada con desde casi cualquier idioma de una manera muy sencilla. Después de leer su documentación de API de desarrollador. Decidí darles una oportunidad, al menos con una cuenta de práctica. Para ser claro - no tengo ninguna relación anterior o existente con OANDA y sólo estoy proporcionando esta recomendación basada en mi experiencia limitada jugando alrededor con su API de la práctica y un cierto uso breve (para la transferencia directa de datos del mercado) mientras que empleado en un fondo previamente. Si alguien ha llegado a través de cualquier otro corredor de la divisa que también tienen una API similarmente moderna entonces Id ser feliz para darles una mirada también. Antes de utilizar la API es necesario registrarse para una cuenta de práctica. Para ello, diríjase al enlace de registro. Verá la siguiente pantalla: A continuación, podrá iniciar sesión con sus credenciales de inicio de sesión. Asegúrese de seleccionar la pestaña fxTradePractice de la pantalla de inicio de sesión: Una vez que tenga que tomar nota de su ID de cuenta. Se enumera debajo del encabezado negro Mis fondos junto a Primaria. El mío es un número de 7 dígitos. Además, también necesitará generar un token API personal. Para hacer esto, haga clic en Administrar acceso a la API debajo de la pestaña Otras acciones en la parte inferior izquierda: En esta etapa, podrá generar un token de API. Usted necesitará la llave para su uso posterior, así que asegúrese de anotarlo también. Ahora querrá lanzar la aplicación FXTrade Practice, que nos permitirá ver las órdenes ejecutadas y nuestra pérdida de papel (ganancia de beneficio). Si está ejecutando un sistema Ubuntu necesitará instalar una versión ligeramente diferente de Java. En particular, la versión de Oracle de Java 8. Si no lo hace, entonces el simulador de práctica no se cargará desde el navegador. Ejecuté estos comandos en mi sistema: ahora podrá iniciar el entorno de comercio de prácticas. Vuelva al cuadro de mandos de OANDA y haga clic en el enlace Destacado de Práctica de FXTrade. Se abrirá un diálogo de Java preguntando si desea ejecutarlo. Haga clic en Ejecutar y la herramienta fxTrade Practice se cargará. Mine incumplió a una carta de vela de 15 minutos de EUR / USD con el panel de cotización a la izquierda: En este punto estamos listos para comenzar a diseñar y codificar nuestro sistema automatizado de comercio de divisas contra la API de OANDA. Visión general de la arquitectura comercial Si ha estado siguiendo la serie de backtester dirigida a eventos para acciones y ETF que creé el año pasado, será consciente de cómo funciona un sistema comercial basado en eventos. Para aquellos de ustedes que son nuevos en el software impulsado por eventos. Yo sugeriría fuertemente la lectura a través del artículo con el fin de obtener alguna idea de cómo funcionan. En esencia, todo el programa se ejecuta en un bucle de infusión mientras que sólo termina cuando el sistema de comercio está apagado. El mecanismo de comunicación central del programa se da a través de una cola que contiene eventos. La cola se consulta constantemente para comprobar si hay nuevos eventos. Una vez que un evento ha sido retirado de la parte superior de la cola debe ser manejado por un componente apropiado del programa. Por lo tanto un feed de datos de mercado podría crear TickEvent s que se colocan en la cola cuando un nuevo precio de mercado llega. Un objeto de estrategia de generación de señales puede crear OrderEvent que se van a enviar a una correduría. La utilidad de este sistema se da por el hecho de que no importa qué orden o tipos de eventos se colocan en la cola, ya que siempre serán manejados correctamente por el componente correcto dentro del programa. Además, diferentes partes del programa se pueden ejecutar en subprocesos separados. Lo que significa que nunca se espera ningún componente en particular antes de procesar cualquier otro. Esto es extremadamente útil en situaciones de negociación algorítmica en las que los controladores de alimentación de datos del mercado y los generadores de señales de estrategia tienen características de rendimiento muy diferentes. El bucle comercial principal es dado por el siguiente pseudo-código de Python: Como se indicó anteriormente, el código se ejecuta en un bucle infinito. En primer lugar, se consulta la cola para recuperar un nuevo evento. Si la cola está vacía, el bucle simplemente se reinicia después de un breve período de descanso conocido como latido. Si se encuentra un evento, se evalúa su tipo y luego se invoca al módulo relevante (ya sea la estrategia o el manejador de ejecución) para manejar el evento y posiblemente generar nuevos que vuelvan a la cola. Los componentes básicos que vamos a crear para nuestro sistema de comercio incluyen los siguientes: Streaming Price Handler - Esto mantendrá una conexión de larga duración abierta a los servidores de OANDAs y enviar datos de tick (es decir, bid / ask) a través de la conexión para los instrumentos que estaban interesados Generador de Señal de Estrategia - Esto tomará una secuencia de eventos de tick y los usará para generar órdenes comerciales que serán ejecutadas por el manejador de ejecución. Execution Handler - Toma un conjunto de eventos de orden y los ejecuta ciegamente con OANDA. Eventos: estos objetos constituyen los mensajes que se transmiten en la cola de eventos. Sólo necesitamos dos para esta implementación, a saber, el TickEvent y el OrderEvent. Punto de entrada principal - El punto de entrada principal también incluye el bucle comercial que sondea continuamente la cola de mensajes y envía mensajes al componente correcto. A menudo se denomina bucle de eventos o controlador de eventos. Ahora discutiremos la implementación del código en detalle. En la parte inferior del artículo está la lista completa de todos los archivos de código fuente. Si los coloca en el mismo directorio y ejecuta python trading. py, comenzará a generar órdenes, asumiendo que ha rellenado su ID de cuenta y su token de autenticación de OANDA. Implantación de Python Es una mala práctica almacenar contraseñas o claves de autenticación dentro de una base de código, ya que nunca se puede predecir quién podrá acceder a un proyecto. En un sistema de producción almacenaríamos estas credenciales como variables de entorno con el sistema y luego consultaríamos estos envvars cada vez que el código se redistribuya. Esto asegura que las contraseñas y los tokens de autorización nunca se almacenan en un sistema de control de versiones. Sin embargo, puesto que sólo estamos interesados ​​en la construcción de un sistema de comercio de juguetes, y no estamos preocupados por los detalles de producción en este artículo, en su lugar, separar estos símbolos de autenticación en un archivo de configuración. En el siguiente archivo de configuración de settings. py tenemos un diccionario denominado ENVIRONMENTS que almacena los puntos finales de API para la API de flujo de precios de OANDA y la API de negociación. Cada subdirectorio contiene tres puntos finales separados de API: real. Práctica y caja de arena. La API de sandbox es puramente para probar código y para comprobar que no hay errores o errores. No tiene las garantías de tiempo de actividad de las API reales o de la práctica. La práctica API, en esencia, proporciona la capacidad de comercio de papel. Es decir, proporciona todas las características de la API real en una cuenta de práctica simulada. La API real es sólo eso - es el comercio en vivo Si utiliza ese punto final en su código, se negociará contra el saldo de su cuenta real. SER EXTREMADAMENTE CUIDADOSO IMPORTANTE: Al negociar contra la práctica API recuerde que un costo de transacción importante, el de impacto de mercado. no es considerado. Dado que en realidad no se están introduciendo operaciones en el medio ambiente, este costo debe contabilizarse de otra manera en otro lugar utilizando un modelo de impacto en el mercado si se desea evaluar de forma realista el rendimiento. En lo que sigue, estamos utilizando la cuenta de práctica dada por la configuración DOMAIN. Necesitamos dos diccionarios independientes para los dominios, uno para los componentes de API de flujo y de intercambio. Finalmente tenemos el ACCESSTOKEN y ACCOUNTID. He llenado los dos abajo con identificadores falsos así que usted necesitará utilizar sus los propios, que se pueden alcanzar de la página de la cuenta de OANDA: El paso siguiente es definir los acontecimientos que la cola utilizará para ayudar a todos los componentes individuales comunican. Necesitamos dos: TickEvent y OrderEvent. El primero almacena información sobre los datos del mercado de instrumentos, tales como la (mejor) oferta / consulta y el tiempo de negociación. El segundo se utiliza para transmitir órdenes al manejador de ejecución y por lo tanto contiene el instrumento, el número de unidades a negociar, el tipo de pedido (mercado o límite) y el lado (compra y venta). Para probar el código de eventos a futuro, vamos a crear una clase base llamada Evento y que todos los eventos hereden de esto. El código se proporciona a continuación en events. py: La próxima clase que vamos a crear manejará la estrategia de negociación. En esta demo vamos a crear una estrategia bastante absurda que simplemente recibe todas las garrapatas del mercado y cada 5 tick aleatoriamente compra o vende 10.000 unidades de EUR / USD. Es evidente que esta es una estrategia ridícula. Sin embargo, es fantástico para fines de pruebas porque es fácil de codificar y entender. En las entradas del diario futuro, vamos a reemplazar esto con algo significativamente más emocionante que (con suerte) a su vez un beneficio El archivo strategy. py se puede encontrar a continuación. Permite trabajar a través de él y ver lo que está pasando. Primero importamos la biblioteca aleatoria y el objeto OrderEvent de events. py. Necesitamos la lib al azar para seleccionar una orden al azar de compra o venta. Necesitamos OrderEvent, ya que así es como el objeto de estrategia enviará órdenes a la cola de eventos, que luego será ejecutada por el manejador de ejecución. La clase TestRandomStrategy toma simplemente el instrumento (en este caso EUR / USD), el número de unidades y la cola de eventos como un conjunto de parámetros. A continuación, crea un contador de ticks que se utiliza para indicar cuántas instancias de TickEvent ha visto. La mayor parte del trabajo se produce en el método calculatesignals, que simplemente toma un evento, determina si es un TickEvent (de lo contrario ignorar) e incrementa el contador de tick. A continuación, comprueba si el recuento es divisible por 5 y luego compra o vende al azar, con un pedido de mercado, el número especificado de unidades. No es ciertamente la estrategia comercial más grande del mundo, pero será más que adecuado para nuestros propósitos de evaluación de API de corretaje de OANDA. El siguiente componente es el manejador de ejecución. Esta clase tiene la tarea de actuar sobre las instancias de OrderEvent y hacer solicitudes al corredor (en este caso OANDA) de una manera muda. Es decir, no existe una superposición de la gestión de riesgos o de la construcción de fondos. El manejador de ejecución simplemente ejecutará cualquier orden que se le haya dado. Debemos pasar toda la información de autenticación a la clase Execution, incluyendo el dominio (practice, real o sandbox), el token de acceso y el ID de cuenta. A continuación, creamos una conexión segura con httplib. Uno de Pythons construido en las bibliotecas. La mayor parte del trabajo ocurre en executeorder. El método requiere un evento como parámetro. A continuación, construye dos diccionarios: los encabezados y los parámetros. Estos diccionarios serán codificados correctamente (parcialmente por urllib, otra biblioteca de Python) para ser enviados como una petición HTTP POST a la API de OANDAs. Pasamos los parámetros de encabezado Content-Type y Authorization, que incluyen nuestra información de autenticación. Además codificamos los parámetros, que incluyen el instrumento (EUR / USD), unidades, tipo de pedido y lado (compra / venta). Finalmente, realizamos la solicitud y guardamos la respuesta: El componente más complejo del sistema de trading es el objeto StreamingForexPrices, que maneja las actualizaciones de precios de mercado de OANDA. Hay dos métodos: connecttostream y streamtoqueue. El primer método utiliza la biblioteca de peticiones de Python para conectarse a un socket de transmisión con los encabezados y parámetros adecuados. Los parámetros incluyen el ID de cuenta y la lista de instrumentos necesarios que deben ser escuchados para actualizaciones (en este caso es sólo EUR / USD). Tenga en cuenta la línea siguiente: Esto le indica a la conexión que se va a transmitir y, por tanto, mantenerse abiertos de forma prolongada. El segundo método, streamtoqueue. En realidad intenta conectarse a la secuencia. Si la respuesta no tiene éxito (es decir, el código de respuesta no es HTTP 200), simplemente regresamos y salimos. Si tiene éxito tratamos de cargar el paquete JSON devuelto a un diccionario Python. Finalmente, convertimos el diccionario Python con el instrumento, bid / ask y timestamp en un TickEvent que se envía a la cola de eventos: Ahora tenemos todos los componentes principales en su lugar. El paso final es terminar todo lo que hemos escrito hasta ahora en un programa principal. El objetivo de este archivo, conocido como trading. py. Es crear dos subprocesos separados. Uno de los cuales ejecuta el controlador de precios y el otro que ejecuta el controlador de negociación. Por qué necesitamos dos hilos separados Puesto simplemente, estamos ejecutando dos pedazos separados de código, que están funcionando continuamente. Si tuviéramos que crear un programa no roscado, entonces el socket de streaming utilizado para las actualizaciones de precios nunca volvería a liberarse a la ruta del código principal y, por tanto, nunca realizaríamos ningún tipo de transacción. De manera similar, si ejecutamos el bucle comercial (ver más abajo), nunca volveríamos a devolver la ruta de flujo al socket de streaming de precios. Por lo tanto, necesitamos múltiples subprocesos, uno para cada componente, para que puedan llevarse a cabo independientemente. Ambos se comunicarán entre sí a través de la cola de eventos. Vamos a examinar esto un poco más. Creamos dos subprocesos separados con las siguientes líneas: Pasamos el nombre de la función o el método al argumento de la palabra clave de destino y luego pasamos un iterable (como una lista o una tupla) al argumento de la palabra clave args, que luego pasa esos argumentos al método actual /función. Finalmente iniciamos ambos subprocesos con las siguientes líneas: Así podemos ejecutar dos segmentos de código de looping efectivamente infinitos, independientemente, que se comunican a través de la cola de eventos. Tenga en cuenta que la biblioteca de subprocesos Python no produce un verdadero entorno multihilo multi-núcleo debido a la implementación CPython de Python y el bloqueo de intérprete global (GIL). Si desea leer más sobre multithreading en Python, eche un vistazo a este artículo. Examinemos el resto del código en detalle. En primer lugar, importamos todas las bibliotecas necesarias, incluida la cola. Enhebrado y tiempo. A continuación, importamos todos los archivos de código anteriores. Personalmente, prefiero capitalizar cualquier configuración, que es un hábito que tomé de trabajar con Django Después de que se define la función de comercio, que se explicó en Python-pseudocódigo anterior. Se ejecuta un ciclo infinito while (mientras que True:) que sondea continuamente desde la cola de eventos y sólo salta el bucle si se encuentra vacío. Si se encuentra un evento entonces es un TickEvent o un OrderEvent y luego se llama al componente apropiado para llevarlo a cabo. En este caso es un manejador de estrategia o de ejecución. El lazo entonces simplemente duerme para los segundos del latido (en este caso 0.5 segundos) y continúa. Finalmente, definimos el punto de entrada principal del código en la función principal. Es bien comentado abajo, pero resumiré aquí. En esencia instanciamos la cola de eventos y definimos los instrumentos / unidades. A continuación, creamos la clase StreamingForexPrices de flujo de precios y posteriormente el manejador de ejecución de ejecución. Ambos reciben los detalles de autenticación necesarios dados por OANDA al crear una cuenta. A continuación, creamos la instancia de TestRandomStrategy. Finalmente, definimos los dos subprocesos y luego los iniciamos: Para ejecutar el código basta con colocar todos los archivos en el mismo directorio y llamar al siguiente en el terminal: Tenga en cuenta que para detener el código en esta etapa se requiere una matanza dura del Proceso de Python. Vía Ctrl-Z o equivalente Ive no agregó un hilo adicional para manejar buscando el sys. exit () que sería necesario para detener el código de forma segura. Una forma potencial de detener el código en una máquina Ubuntu / Linux es escribir: Y luego pasar la salida de este (un número de proceso) en lo siguiente: Donde PROCESSID debe reemplazarse con la salida de pgrep. Tenga en cuenta que esto NO es una práctica particularmente buena En artículos posteriores vamos a crear un mecanismo más sofisticado stop / start que hace uso de la supervisión de procesos Ubuntus para tener el sistema de comercio que funciona 24/7. La salida después de 30 segundos o así, dependiendo de la hora del día en relación con las horas de negociación principales para EUR / USD, para el código anterior, se da a continuación: Las primeras cinco líneas muestran los datos de garaje JSON devueltos de OANDA con bid / ask precios. Posteriormente puede ver el resultado de la orden de ejecución así como la respuesta JSON devuelta por OANDA confirmando la apertura de un comercio de compra por 10.000 unidades de EUR / USD y el precio en el que se logró. Esto seguirá funcionando indefinidamente hasta que usted mate el programa con un comando Ctrl-Z o similar. Lo que sigue En artículos posteriores vamos a llevar a cabo algunas mejoras muy necesarias, incluyendo: Estrategias reales - estrategias adecuadas de divisas que generan señales rentables. Infraestructura de producción - Implementación de servidores remotos y sistema de monitoreo 24/7 supervisado, con capacidad stop / start. Gestión de carteras y riesgos - Cartera y superposiciones de riesgo para todos los pedidos sugeridos de la estrategia. Múltiples estrategias - Construir una cartera de estrategias que se integran en la superposición de la gestión de riesgos Al igual que con las acciones de backtestter impulsado por eventos, también tenemos que crear un módulo de backtesting forex. Eso nos permitirá realizar investigaciones rápidas y facilitar el despliegue de estrategias. Código Completo settings. py (recuerda cambiar ACCOUNTID y ACCESSTOKEN): Trading API - Versión 2.0 La interfaz de comercio de Stockpairs es una API basada en HTTP. La API admite las solicitudes GET y POST. Los argumentos de solicitud se transmiten codificados URL en parámetros de URL o parámetros de carga útil de POST. Las respuestas se devuelven a través de una estructura JSON codificada por UTF-8. Para utilizar la API necesitará obtener una clave API. Póngase en contacto con nosotros en supporttockpair y háganos saber cómo utilizará nuestra API y su volumen de datos proyectado. Le enviaremos una clave y le mantendremos informado de los próximos cambios y características. Comprar secuencia de llamadas Una secuencia de compra exitosa utiliza el siguiente flujo: authenticate - Autenticar un usuario y utilizar cookies para mantener la autenticación. TradingMetadata - esta función devuelve una estructura de datos periférica de todas las opciones disponibles y su estado de mercado. Utiliza esta función para determinar el ID de opción que desea negociar en el que se determina el tipo de opción, el subyacente y la duración. Update - Llamar a la actualización con una opción id devolverá una cotización actual que incluye los precios y pagos actuales de esta opción. Una cotización se honra por un tiempo limitado dependiendo de las condiciones del mercado. Puede llamar a la función de actualización una vez por segundo para recibir cotizaciones actualizadas. Buy - Ingrese una posición usando una opción id y quote timestamp como referencia. Alternativamente. Puede utilizar el comando buyBatch para omitir algunos o todos los pasos anteriores. Este comando le permite especificar el nombre de usuario y la contraseña (no es necesario autenticar), especificar los criterios de opción (no necesita metadatos) y permitirle comprar al precio actual (no necesita actualizar). Versiones y compatibilidad La versión actual de la API es 2.0. Nos esforzaremos por hacer que toda la versión 2.x del protocolo sea compatible con versiones anteriores. Al probar la API puede encontrar que hay más datos que van y vienen de lo que realmente se documenta. Sin embargo, se recomienda encarecidamente que sólo utilice los datos que se documentan en estas páginas. Todos los demás campos y parámetros están sujetos a cambios sin previo aviso ni documentación. Solicitudes Todas las solicitudes se envían a www. stockpair / tapi2 / ACTION donde ACTION cambia de acuerdo con la solicitud específica. En todos los ejemplos específicos utilizamos parámetros de URL, pero los parámetros de carga útil POST son igualmente compatibles. Las solicitudes tienen algunos parámetros comunes:. ,. ,,,. Stockpair. Servicios NXF O,, 5,,, 10117,. :. . ,,. . Copyrights copy 2010-2016 Stockpair Trader8217s Habitación JSON API Kenmore Design ha sido capaz de desarrollar sistemas de seguridad y la integración de ya en los proveedores de uso, así como personalizar toda la back office para dar a nuestros clientes un casi android fácil de usar aprenda como va sensación. La CRM ha ayudado a nuestro equipo de gestión para verificar que cada miembro de nuestro equipo está haciendo lo que tienen que hacer, así como garantizar que ningún cliente se ha olvidado siempre. Como resultado, hemos sido capaces de aumentar nuestra base de clientes, manteniendo nuestro pequeño equipo de apoyo. Esto en sí mismo tendrá nuestra nueva oficina de vuelta pagado en el plazo de 4 meses. El apoyo ha sido impresionante, todo el equipo 8230 leer las preguntas de descanso ¿Qué estás buscando forXigniteGlobalCurrencies conseguir exactamente lo que usted necesita si se trata de las tarifas en tiempo real de divisas, datos históricos de cambio de divisas, o un widget conversor de moneda, que hemos conseguido le cubierto. También proporcionamos los tipos de cambio históricos de Londres, los tipos de contratos a plazo, y los datos de divisas bar / nivel garrapatas. Ponga en marcha rápidamente su Minimizar el tiempo de comercialización-desarrollo con nuestra documentación en línea, preguntas frecuentes, y código de ejemplo generado dinámicamente. También ofrecemos un tablero de instrumentos de uso analítica para ayudar a entender su uso actual, y sin riesgo prueba de 7 días para probar antes de comprar. Mejor en su clase de fiabilidad para ayudar a procesar los millones de solicitudes de API por hora, Xignite utiliza los Amazon Web Services (AWS) de la nube. La infraestructura proporcionada por AWS permite Xignite para escalar de manera efectiva y dinámica de su entrega de información financiera en tiempo real, mientras que la optimización de los recursos informáticos y de red. Mejor cobertura de datos de divisas y funcionalidad de la API - todo incluido


No comments:

Post a Comment