Type/to search
0
Follow
2
Followers
Bagaimana cara men-debug ketika menemui kesalahan parameter pesanan?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

Ketika saya mengevaluasi strategi kontrak mata uang digital, saya menemukan bahwa hanya pesanan pertama yang terjual, dan kemudian buy, sell, closebuy, dan closesell gagal.

Pesan kesalahan hanya: Pelanggaran parameter perintah

Tidak ada informasi lain, saya memeriksa dengan cermat, tidak menemukan apa-apa, meminta bantuan.

Aku tidak tahu apa yang harus kulakukan.

Membuat perubahan
Setelah pengujian ditemukan bahwa harga yang ditawarkan terlalu kecil, masalah ini telah diselesaikan, berharap platform dapat memberikan informasi kesalahan yang lebih rinci, sekarang tidak ada yang cukup baik dalam dokumentasi atau debugging

Membuat perubahan

  1. Balance balance tidak bisa di set pada saat penghitungan ulang, hanya bisa di set pada saat stock balance, apakah di sini seharusnya bisa di set pada saat balance balance kan?

Saya memeriksa, 100 kontrak hanya sekitar 50% dari total akun, kerugian -11%, awalnya 3 koin, setelah kerugian masih 2,87, mengapa itu menyebabkan kekurangan dana?

Pembaruan setelah 7 hari

  1. Saya menggunakan bitmex saat melakukan retesting, dan setel saldo menjadi 3, kemudian saya menggunakan exchange saat melakukan order.Sell ((10000, 100) telah diuji berkali-kali, dan semuanya kurang dari dana pengguna

Kemudian akhirnya ditemukan bahwa jumlah pesanan diubah menjadi exchange.Sell ((10000, 2), pass! tetapi menunjukkan pemanfaatan dana adalah 0, yaitu sekitar 0

Di sini adalah tempat yang membingungkan:
Dokumen tersebut berbunyi: exchange.Buy ((10000, 2) mewakili jumlah pesanan adalah 2 kontrak, bitmex satu kontrak adalah 1 dolar. Apakah sisa mata uang di sini mewakili jumlah kontrak? atau jumlah BTC? seharusnya jumlah BTC yang benar?

Apakah ada yang salah?

  1. bitmex kontrak retest, jika sisa koin ditetapkan sebagai 3 ≠ exchange.Sell(10000, 3) akan menunjukkan kurangnya dana, tetapi exchange.Buy(10000, 3) tetapi bisa, yaitu exchange.Sell harus lebih kecil dari sisa dana untuk berhasil melakukan pemesanan, mengapa?

-------------- menemukan bahwa kurangnya dana yang diminta terkait dengan harga pesanan, jika harga terlalu rendah saat exchange.Sell, akan kurang dana yang diminta, pesanan gagal, tidak mengerti.

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)