Type/to search
0
Follow
2
Followers
Comment déboguer lorsque l'on rencontre des erreurs de paramètres de commande ?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

J'ai fait un retour d'expérience en développant des stratégies de contrats de crypto-monnaie et j'ai découvert que les premières commandes étaient les seules à être vendues, et que les suivantes, que ce soit buy, sell, closebuy ou closesell, étaient des échecs.

Le seul message d'erreur est: erreur de paramètre de commande

Il n'y a pas d'autres informations, j'ai vérifié avec soin, je n'ai rien trouvé, j'ai demandé de l'aide

Je ne sais pas comment faire.

Une mise à jour
Après avoir testé et constaté que le prix était trop bas, le problème a été résolu, espérons que la plate-forme donnera des informations plus détaillées sur les erreurs, il y a maintenant des lacunes dans la documentation ou le débogage

Une mise à jour

  1. le solde de Balance ne peut pas être défini lors de la revue, il ne peut être défini que sur le solde de stock, est-ce que cela devrait être possible de définir le solde ?

J'ai vérifié et j'ai trouvé que 100 contrats ne représentaient que 50% du capital total du compte, une perte de 11%, au début il y avait 3 pièces, après la perte il y avait 2,87, pourquoi cela provoque-t-il une insuffisance de fonds?

Une nouvelle mise à jour après 8 jours

  1. J'ai testé avec Bitmex, le résultat était de 3 et j'ai utilisé Exchange pour passer une commande.

On a finalement trouvé que le nombre de commandes avait été changé en "exchange.Sell(10000, 2), OK! mais que l'utilisation des fonds était de 0, ce qui est à peu près égal à 0

La confusion est là:
Le document est écrit comme suit: exchange.Buy ((10000, 2) représente le montant de la commande suivante est de 2 contrats, bitmex un contrat est de 1 dollar. Alors, à l'époque, est-ce que le solde ici représente le montant du contrat? ou le nombre de BTC? Il devrait être le nombre de BTC, n'est-ce pas?

Est-ce que cela pose un problème ?

  1. si le contrat bitmex est réglé sur 3, exchanges.Sell ((10000, 3) indique que les fonds sont insuffisants, mais exchanges.Buy ((10000, 3) est acceptable, c'est-à-dire que exchanges.Sell doit être un peu plus petit que les fonds restants pour réussir à passer une commande, pourquoi?

-------------- découvre que le manque de fonds indiqué est lié au prix de la commande, si le prix est trop bas lors de l'exchange.Sell, le manque de fonds indiqué, la commande a échoué, ne comprend pas.

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)