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
- 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
- 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 ?
- 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.
下单和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)
}
- 1
