Type/to search
0
Follow
2
Followers
¿Cómo depurar cuando se encuentran errores en los parámetros de pedido?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

En mi retrospectiva de desarrollar una estrategia de contratos de monedas digitales, descubrí que solo la primera vez que se realizaba una transacción, las siguientes compras, ventas, closebuys y closesells eran fracasos.

El mensaje de error es solo: <unk> <unk> <unk> <unk>

No tengo más información, he buscado con cuidado y no he encontrado nada malo, pido ayuda.

¿Cómo se puede hacer eso?

¿Qué es esto?
Después de las pruebas, se descubrió que el precio de venta era demasiado bajo, el problema se resolvió, se espera que la plataforma dé información más detallada sobre los errores, ya que ahora hay deficiencias tanto en la documentación como en la configuración.

¿Qué es esto?

  1. no se puede configurar el saldo de Balance en la retrospectiva, solo se puede configurar el saldo de stock, ¿debería ser posible configurar el saldo aquí?

  2. Después de repetidas pruebas, descubrí que si la primera vez que se abren 100 contratos se pierde, y luego se abren otros 100 contratos para compensar la falta de fondos en la cuenta, revisé que los 100 contratos solo representan alrededor del 50% del capital total de la cuenta, la pérdida es del 11%, al principio había 3 monedas y luego 2.87 después de la pérdida, ¿por qué la falta de fondos?

Actualización después de 8 días

  1. Cuando realicé la retrospectiva, utilicé la plataforma de Bitmex, el saldo se estableció en 3, y luego usé Exchange para hacer pedidos.

Finalmente se descubrió que el número de pedidos se había cambiado a exchange.Sell ((10000, 2), aprobado! pero el uso de fondos se mostró como 0, que es aproximadamente igual a 0.

Aquí está la parte confusa:
El documento dice: exchange.Buy ((10000, 2) representa que el pedido es de 2 contratos, bitmex un contrato es de 1 dólar. ¿Entonces el saldo aquí representa el número de contratos? ¿o la cantidad de BTC? ¿Debería ser la cantidad de BTC, no?

¿Hay algún problema aquí?

  1. el contracto bitmex de retroalimentación, si el saldo de monedas es de 3 ≠ exchanges.Sell ((10000, 3) indicará que no hay fondos suficientes, pero exchanges.Buy ((10000, 3) es válido, es decir, exchanges.Sell debe ser un poco menor que el saldo para poder realizar un pedido, ¿por qué?

-------------- Descubrió que la falta de fondos de sugerencia está relacionada con el precio de la orden, si el precio es demasiado bajo en el exchange.Sell, indicará que no hay fondos suficientes, la orden fallará y no se entenderá.

Related Recommendations
Comment
All comments (7)

    下单和bitmex实盘一致,参数是张,一张一美元,我测试了,也不会报资金不足的错误

    /*backtest start: 2020-01-29 00:00:00 end: 2020-04-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}] */ function main() { exchange.SetContractType("XBTUSD") exchange.SetDirection('sell') exchange.Sell(10000,40) exchange.Buy(10000,400) }
    6 years ago

    下单资金不足的问题我也找到了,如果exchange.Sell时价格太低, 比如此时市价6000,你以500的价格卖出开空 ,就会提示资金不足,下单失败,当然为什么会和价格有关我还没明白

    6 years ago

    感谢,如果回测时余币实际代表的是合约张数,那资金利用率那里是否有问题?那个资金利用率可能是按btc数计算的,我每次下单都是满仓,但资金利用率一直小于0.01%

    6 years ago

    回测时余币代表BTC,只是下单参数是张,和bitmex网站一致

    6 years ago

    可用保证金是通过exchange.GetAccount() 返回对象的stocks属性获取么,已经用getOrders检查了没有未成交订单

    6 years ago

    1.期货有的是币作为保证金,USDT的余额无意义
    2.看可用保证金,和资金没关系。有资金也不意味着你可以无限开仓。另外还要检查有没有未成交订单

    6 years ago

    回测时这里的余币到底代表合约张数?还是btc数量?应该是btc数量才对吧?

    6 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)