Type/to search
0
Follow
2
Followers
Wie kann ich Fehler bei den Bestellparametern beheben?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

Als ich die Entwicklung einer Strategie für Kryptowährungs-Kontrakte begutachtete, stellte ich fest, dass nur der erste Auftrag erfolgreich war, und die folgenden, egal ob Buy, Sell, Closebuy oder Closesell, scheiterten.

Die Fehlermeldung lautet nur:

Es gibt keine weiteren Informationen, ich habe es genau geprüft, ich habe nichts gefunden, ich habe um Hilfe gebeten.

Was soll das?

Das ist eine neue Version.
Das Problem wurde gelöst, und wir hoffen, dass die Plattform detailliertere Fehlermeldungen liefert, da jetzt sowohl die Dokumentation als auch die Debugging fehlen.

Das ist eine neue Version.

  1. Bei der Rückmessung kann der Balance nicht gesetzt werden, nur der Stock kann gesetzt werden. Sollte der Balance hier gesetzt werden können?

  2. Nach mehreren Tests stellte sich heraus, dass 100 Verträge nur etwa 50% des Gesamtkapitals des Kontos ausmachen, mit einem Verlust von 3 Münzen zu Beginn und 2,87 nach dem Verlust.

Erstmals aktualisiert nach 8 Tagen

  1. Ich habe bei der Rückmessung die Bitmex-Börse benutzt und den Rest auf 3 gesetzt, dann habe ich bei der Auftragserteilung die Exchange benutzt.Sell ((10000, 100)) wurde unzählige Male getestet und alle hatten zu wenig Geld.

Später wurde endlich festgestellt, dass die Anzahl der Bestellungen in exchange.Sell ((10000, 2), Pass! geändert wurde, aber die Kapitalnutzung als 0 angezeigt wurde, was ungefähr 0 entspricht.

Die verwirrenden Stellen sind hier:
Das Dokument lautet: exchange.Buy (((10000, 2) bedeutet, dass der Auftrag 2 Kontrakte ist, bitmex ein Vertrag ist 1 Dollar.

Ist das ein Problem?

  1. Bitmex-Kontrakt-Rückschätzung, wenn die Restmenge auf 3 festgelegt wird. exchanges.Sell ((10000, 3) wird auf fehlende Mittel hinweisen, aber exchanges.Buy ((10000, 3) ist erlaubt, d. h. exchanges.Sell muss kleiner als die restlichen Mittel sein, um erfolgreich zu bestellen, warum ist das?

--------------- Entdeckt, dass der fehlende Geldbetrag mit dem Auftragspreis zusammenhängt, wenn der Preis bei Exchange.Sell zu niedrig ist, wird der fehlende Geldbetrag angezeigt, der Auftrag wird versagt und nicht verstanden.

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)