Información histórica de la línea K. La desventaja de este mecanismo es evidente: en una línea K, solo se puede generar una compra y venta, y el precio generalmente se basa en el precio de cierre de la línea K. Y una línea K solo puede obtener cuatro precios de alta y baja, y no se obtiene información sobre cómo cambia el precio dentro de una línea K, si el precio más alto ocurre primero o si el precio más bajo ocurre primero, etc. Por ejemplo, en la línea K de 1 hora, se obtiene una información de movimiento a intervalos de segundos en tiempo real, y las instrucciones de negociación se emiten en el disco en lugar de esperar que termine la línea K. El mecanismo de retorno onbar es muy fácil de entender, el retorno es muy rápido.
La plataforma FMZ repetió dos tipos de repetición a nivel analógico y a nivel de disco real. La repetición a nivel analógico generará 14 puntos de tiempo de repetición en cada ciclo de línea K de base, según el tick generado en la simulación.El nivel de disco real es el tick real recogido, aproximadamente una vez cada pocos segundos, y actualmente parte de él es compatible con la profundidad real (incluye 20 archivos) y la transacción real por pieza.El volumen de datos es grande y la velocidad de repetición es lenta, por lo que no se puede volver a replicar en un tiempo particularmente largo. El mecanismo de repetición de FMZ puede hacer que la estrategia se negocie varias veces en una línea K, evitando situaciones en las que solo se puede cerrar el precio de transacción, y es más precisa y tiene en cuenta la velocidad de repetición.https://www.fmz.com/digest-topic/4009
El marco de la política de repetición es el mismo que el disco real y es un ciclo muerto. Como la repetición se hace saltando a diferentes puntos de repetición, en este momento se puede dejar de usar Sleep, que salta automáticamente al siguiente punto de tiempo al final de un ciclo.Sleep(10)
En el video, el hombre dice que su esposa y su hijo fueron asesinados.
El motor de repetición se basa en el precio de compra del usuario y el precio de salida en el momento de repetición. Si el precio de compra es mayor que el precio de venta, se vende una transacción. Si no se puede realizar, se genera un listado.
GetRecords()
Los ciclos predeterminados de las funciones también pueden especificar parámetros de ciclos en el código.Como se mencionó anteriormente, el uso de interfaces API en el disco físico también puede causar que el acceso falle y regrese.null
La política es la de tolerar los errores, ya que el uso de los datos en ellos puede generar errores y causar que el disco se detenga.
Los errores más comunes:
Antes de usar la API para devolver los datos, se debe juzgar si es null o no. A continuación se presentan los métodos comunes de agrupamiento:
//1.判断为null进行处理
var ticker = exchange.GetTicker();
while(ticker == null){
Log('ticker 获取出错');
ticker = exchange.GetTicker();
}
Log(ticker.Last);
// 2.判断不为null再进行引用
var ticker = exchange.GetTicker();
if(!ticker){
Log(ticker.Last);
}
// 3._C()函数重试
var ticker = _C(exchange.GetTicker);
Log(ticker.Last);
// 4. try catch容错
try{
var ticker = exchange.GetTicker();
Log(ticker.Last);
}
catch(err){
Log('ticker 获取出错');
}
Si quieres obtener información errónea, puedes usarla.GetLastError()
, devolverá la última cadena de información de error, y se puede procesar la diferenciación de errores.
En la actualidad, hay muchos errores en los resúmenes de los mensajes en los foros:https://www.fmz.com/bbs-topic/1427Aquí hay un resumen de algunos problemas que pueden ser resueltos con la búsqueda CTRL+F.
¿Cómo se colocan los custodios?
Para más información, véase la sección Añadir administradores.
¿Puede alguien encontrar una estrategia para la escritura genérica?
https://www.fmz.com/marketsAlgunas personas ofrecen servicios de redacción o consultan en grupos, y necesitan comunicarse a su propio riesgo.
Todos los accesos a las interfaces indican un tiempo de espera
Se refiere al tiempo de acceso a la interfaz de intercambio, si ocasionalmente no es un problema, si siempre se indica que la red en la que se encuentra no se puede acceder, se necesita usar un servidor extranjero.
Error en la ubicación de error.
El sistema de detección de errores, generalmente un error escrito para la estrategia, provoca el error al intentar bajar el nivel de la posición cuando no hay tenencia o no hay suficiente cantidad de tenencia.
símbolo no establecido
Las bolsas de futuros no tienen contratos establecidos en el código, por lo que consulte la función exchange.SetContractType
BITMEX 429 error, {
error :{ message : Rate limit exceeded retry in 1 seconds...... }}
La frecuencia de acceso a las interfaces de los intercambios es demasiado alta.
El estado está fuera de alcance.
El horario del servidor está fuera de su rango y necesita actualizar el tiempo del servidor, no puede ser demasiado desviado.
GetOrder ((455284455)): Error: ID de pedido no válido o orden cancelada.
Algunos intercambios han cancelado sus órdenes y no tienen acceso a la información de las mismas, ya que las mismas no la mantienen.
Obtener órdenes: 400: {
código:-1121, msg: símbolo no válido. }
Los pares de transacciones no válidos, se comprueban si hay un error en la configuración de los pares de transacciones.
El descifrado de la clave secreta falló.
Si se ha modificado el código de FMZ después de la configuración de APIKEY, intente agregar una página de intercambio en FMZ y reconfigure el APIKEY de la bolsa.
Signature not valid: Invalid submission time or incorrect time format (La firma no es válida: tiempo de presentación no válido o formato de tiempo incorrecto)
Se recomienda usar servidores Linux o software de sincronización de tiempo de instalación en los sistemas windows en los que se presente el problema.
¿Por qué se ha creado un agente global y los administradores no pueden acceder a la API de los intercambios?
Los agentes globales no tienen puertos de red de hosts de agentes, por lo que es mejor que los hosts de servidores extranjeros se desplieguen debido a problemas de latencia.
¿Cómo se mantiene la estrategia local y no en la FMZ subida?
Se puede importar un archivo local con Python, guardar las políticas normalmente escritas en base a la API de FMZ en un archivo bajo el camino de ejecución en su propio servidor y leer directamente la ejecución.
#!python2.7
def run(runfile):
with open(runfile,"r") as f:
exec(f.read())
def main():
run('my.py')
Cómo usar la red de pruebas de los intercambios o cambiar la dirección de base de la API
Se puede cambiar directamente a la dirección de la base de la API correspondiente con el exchange.SetBase (():
exchange.SetBase("https://www.okex.me")
el gaoencheerApio
Ciencia¿Cómo implementar la política en local? He escrito una sencilla declaración de salida de Log y he seguido la operación al final de la frase. El primer paso es usar una computadora portátil como servidor y ejecutar el programa administrador. El segundo paso es escribir un programa test.py para la salida de la información de Log (la función de la interfaz API de FMZ). El tercer paso, al igual que al final del texto, es escribir un runfile que se ejecute mediante la llamada run.py a test.py.
el giso9¿Qué pasa con el curso de comercio cuantificado en la nube que compré?
¿ Qué es eso?Muchos
¿ Qué es eso?- ¿ Qué pasa?
¿Qué es eso?Aprendiendo
¿Qué es?Hay un pequeño error de texto, GetAccount tiene acceso a la cuenta. En la introducción, FrozenStocks debería ser un saldo congelado y no disponible.
¿Qué es eso?getorder outtime ¿Qué sucede cuando obtienes un pedido fuera de tiempo?
Los árboles de madera hacen trucos.La tasa de garantía de los activos no se puede obtener, hasta el 0% será obligado a liquidar la tasa de garantía de los activos
el año 2020Yo estoy viendo el operador de la k-string de 1 minuto, por lo que el tiempo de sueño del ciclo muerto de Python se puede configurar en 0.1s, es decir, sleep ((100) ¿Veo que has escrito un sleep ((10)), es decir, 0.1s no excederá el límite de API de huobi HM?
El templo del viento orientalexchange.SetDirection (("closebuy"); // si es un contrato permanente, establece directamente el exchange.SetDirection (("sell") Aquí probé el contrato perpetuo OKex, y si lo ponemos en sell, se abre directamente, no es tan barato.
El templo del viento orientalexchange.SetDirection (("closebuy"); // si es un contrato permanente, establece directamente el exchange.SetDirection (("sell") Aquí probé el contrato perpetuo OKex, y si lo ponemos en sell, se abre directamente, no es tan barato.
El templo del viento orientalHay dos errores de ortografía en el código de GetOrders. Uno es que la función se escribe como una función y el otro como una condición del ciclo for.
El templo del viento orientalEs mi culpa. exchange.Buy ((-1, 0.5), el par de transacciones es ETH_BTC, y el listado de mercado representa la compra de ETH de 0.5BTC exchange.Buy ((price, 0.5), si este es el tipo de lista de precios, representa comprar 0.5ETH con el precio de precio.
El templo del viento orientalexchange.Buy ((-1, 0.5), el par de transacciones es ETH_BTC, que representa la compra de ETH de 0.5BTC al precio del mercado Esto es lo que se supone que es el precio de compra de 0.5 ETH de aluminio.
el giso9Gracias.
Las hierbasEl curso está disponible en línea desde hace mucho tiempo.
Las hierbasAñade WeChat a la página de inicio para que te atraiga.
¿Qué es?¿Tenemos algún grupo oficial de intercambio? A veces tenemos problemas y no sabemos dónde preguntar.
Las hierbasCambiado
Las hierbasObtener otra vez
Las hierbasLa información original se puede ver en GetRawJSON o en el campo de información
El templo del viento orientalMuy bien, muy bien, también hay respuesta administrativa.
Las hierbasOh, corregido, gracias por señalar el error.
Las hierbasAlgunos contratos perpetuos permiten el mantenimiento bidireccional, por lo que se requiere establecer el equilibrio.