Comment limiter le nombre de chiffres de prix sur le disque dur

Auteur:Je suis Zayne., Créé: 2019-11-02 15:00:19, mis à jour:

Par exemple, récemment, il y a eu des erreurs fréquentes dans les mouvements en direct, peut-être que le prix de l'échange que j'utilise ne peut être qu'un chiffre, demandez des indices.img


Plus de

Inventeur de la quantification https://www.fmz.com/api#setprecision

Le foinAu lieu de vous précipiter dans la stratégie, regardez le tutoriel sur le forum.

Le foinAu lieu de vous précipiter dans la stratégie, regardez le tutoriel sur le forum.

Le foinLe prix d'achat est le prix de l'échange.

Le foinLes stratégies publiques n'ont généralement pas de limites particulières à la précision.

Le foin_N(2.312,1)

Je suis Zayne.La plupart des stratégies publiques ont ce problème, et j'en ai essayé plusieurs, le prix est un nombre entier de décimales, et il y a des transactions, des erreurs fréquentes, les achats et les ventes qui sont exécutés ne sont pas exécutés, la stratégie ne produit pas les résultats escomptés.

Je suis Zayne.Ça va.

Je suis Zayne.Où se trouve le code Par exemple, cette stratégie de rachat. fonction Annuler les ordres en attente (ordreType) { pendant (true) { Var orders = _C (exchange.GetOrders); Var count = 0; if (typeof(orderType)!= 'undefined') { pour (var i = 0; i < commandes.longth; i++) { si (ordres[i].Type == ordreType) { Il est possible d'envoyer des messages. Je ne sais pas. Je ne sais pas. Je ne sais pas. Le nombre de commandes est le nombre de commandes. Je ne sais pas. si (compte == 0) { retourner; Je ne sais pas. pour (var j = 0; j < commandes.longth; j++) { if (typeof(orderType) == 'undefined' (ordreType == commandes[j].Type)) { L'échange.CancelOrder (en anglais seulement) (en anglais seulement). Si (j < (orders.length-1)) { Je ne peux pas le faire. Je ne sais pas. Je ne sais pas. Je ne sais pas. Je ne sais pas. Je ne sais pas. fonction updateProfit ((accountInit, accountNow, ticker) Var netNow = accountNow.Balance + accountNow.FrozenBalance + ((accountNow.Stocks + accountNow.FrozenStocks) * ticker.Buy)), le compte actuel est le compte actuel de la société. Var netInit = compteInit.Balance + compteInit.FrozenBalance + ((accountInit.Stocks + compteInit.FrozenStocks) * ticker.Buy); LogProfit ((netNow - netInit); Je ne sais pas. Var InitAccount = nul; var LastBuyPrice = 0; Var LastSellPrice = 0; fonction on Tick (() { Il y a une différence entre les deux types de ticker. Var BuyPrice = ticker.Buy + SlidePrice est le nombre de vues sur le site. Var SellPrice = ticker.Sell - SlidePrice est une liste de tickers utilisés par les utilisateurs. Les profits disparaissent. Si le prix d'achat est supérieur à la valeur maximale de l'offre, CancelPendingOrders (en anglais seulement); retourner; Je ne sais pas. Je ne sais pas. le type est nul; Je ne sais pas. si (Price de dernière achat > 0 && (ticker.Buy - Prix de dernière achat) > SlidePrice) { Le type d'ordre est le même que celui de type d'ordre. Je ne sais pas. Je ne sais pas. si (Price de vente dernière > 0 && (Price de vente dernière - ticker.Sell) > SlidePrice) { si (cancelType == nul) { Le type de fichier à supprimer est le type de fichier à supprimer. Je ne sais pas. Le type de type est -1; Je ne sais pas. Je ne sais pas. Je ne sais pas. si (cancelType == -1) { CancelPendingOrders (en anglais seulement); } else if (cancelType!= null) { Il est possible de modifier le type de code Les commandes en attente (cancelType); Je ne sais pas. Var orders = _C (exchange.GetOrders); si (orders.length == 2) { retourner; Je ne sais pas. Var compte = _C (exchange.GetAccount); Var quantityBuy = _N ((Math.min ((account.Balance / BuyPrice, Lot)); Var amountSell = Math.min ((account.Stocks, Lot); Var amountSell = Math.min ((account.Stocks, Lot)); Var amountSell = Math.min ((account.Stocks, Lot)); Var quantitéSell = Math.min (account.Stocks, Lot)); Var quantitéSell = Math.min (account.Stocks, Lot)); Var quantitéSell = Math.min (account.Stocks, Lot) si (amountBuy >= MinStock) est égal à si (ordres.length == 0 ordres de ordres[0].Type == ORDER_TYPE_SELL) { si (ordre.longueur > 0) { Pour les utilisateurs qui souhaitent modifier le fichier, il est nécessaire de modifier le fichier. Je ne sais pas. Le prix de l'échange est le prix de l'échange. Le prix de vente est le prix de vente. Je ne sais pas. Je ne sais pas. Si (montant de vente >= MinStock) { si (ordres.length == 0 ordres de commandes[0].Type == ORDER_TYPE_BUY) { si (ordre.longueur > 0) { Pour les utilisateurs qui souhaitent modifier le fichier, il est nécessaire de modifier le fichier. Je ne sais pas. Le prix de vente (SellPrice, amountSell) est le prix de vente (SellPrice, amountSell) Le dernier prix de vente = prix de vente; Je ne sais pas. Je ne sais pas. Je ne sais pas. fonction onexit (()) { CancelPendingOrders (en anglais seulement); Je ne sais pas. fonction main (() { InitAccount = _C (exchange.GetAccount); Log (InitAccount); SetErrorFilter (("502: Add 503: Pour une erreur inattendue lors d'une panne de temps réseau lors d'une panne de temps WSARecv lors d'une connexion lors d'une panne de temps GetAddr lors d'une panne de temps inattendue lors d'une panne de temps EOF"); Le taux de conversion est le taux de conversion de l'argent. Le nombre d'intervalles est calculé en fonction de l'intervalle de temps. Lot = Math.max (MinStock, Lot); pendant (true) { OnTick (en anglais seulement); Sleep ((LoopInterval * 1000)); Je ne sais pas. Je ne sais pas.