Type/to search
0
Follow
2
Followers
Como depurar ao encontrar erros de parâmetros de pedido?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

Quando eu estava desenvolvendo estratégias de contratos de moedas digitais, descobri que apenas o primeiro pedido era vendido, e que os seguintes, quer seja buy, sell, closebuy, closesell, eram fracassos.

Mensagem de erro apenas: Erro de parâmetro de ordem de coluna

Não tenho mais informações, verifiquei cuidadosamente e não encontrei nada de errado e pedi ajuda.

Como é que é possível?

  • O que é?
    Depois de testar e descobrir que o preço era muito baixo, o problema foi resolvido, esperamos que a plataforma forneça informações mais detalhadas sobre o erro, agora há falhas tanto na documentação quanto na configuração.

  • O que é?

  1. não pode definir o saldo do Balance no retorno, só pode definir o saldo do stock, não deveria ser possível definir o saldo aqui?

Eu verifiquei e descobri que 100 contratos representam apenas cerca de 50% do capital total da conta, perdendo 11%, começando com 3 moedas e perdendo 2,87 moedas, por que haveria falta de capital?

Atualização após 7 dias.

  1. Eu testei o bitmex na retrospectiva, o saldo foi definido como 3, e depois usei o exchange para fazer o pedido.

Depois, descobriu que o número de pedidos foi alterado para exchange.Sell ((10000, 2), pass! mas o uso de fundos foi mostrado como 0, ou seja, aproximadamente igual a 0

A confusão está aqui:
O documento é escrito assim: exchange.Buy ((10000, 2) representa a ordem de 2 contratos, bitmex um contrato é de US $ 1. Então, o saldo aqui representa o número de contratos? ou a quantidade de BTC?

Há algum problema?

  1. retomada do contrato bitmex, se o saldo é de 3, então ≠ exchange.Sell ((10000, 3) indica falta de fundos, mas exchange.Buy ((10000, 3) é aceitável, ou seja, o exchange.Sell deve ser menor do que o saldo para fazer um pedido com sucesso, por que isso?

-------------- Descobrir que a falta de dinheiro está relacionada com o preço do pedido, se o preço for muito baixo no exchange.Sell, isso indicará falta de dinheiro, falha do pedido, não entendo.

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)