Type/to search
0
Follow
2
Followers
주문 매개변수 오류가 발생할 때 어떻게 디버깅을 수행하나요?
Help
Created 2020-04-23 11:09:20  Updated 2020-04-28 17:03:34
 7
 1712

제가 디지털 화폐의 계약 전략을 개발하는 과정에서 발견한 것은, 첫 번째 주문이 거래되고, 그 이후의 구매, 판매, 클로즈 바이, 클로즈 셀은 모두 실패했다는 것입니다.

오류 메시지는 다음과 같습니다:

다른 정보가 없어서, 제가 직접 확인해봤는데, 아무 문제도 없었어요.

젠장, 젠장

<unk> 업데이트 <unk>
테스트를 거친 후 원가 가격이 너무 낮았다는 것을 알게 되었는데, 이 문제는 해결되었는데, 플랫폼이 좀 더 자세한 오류 정보를 제공해주길 바랍니다. 이제 문서나 디비팅 모두 부족합니다.

<unk> 업데이트 <unk>

  1. 재검토할 때 Balance 잔액을 설정할 수 없고, Stock 잔액만 설정할 수 있습니다. 여기서는 잔액을 설정할 수 있어야 하는 건가요?

  2. 반복적인 테스트를 통해 처음 100개의 계약이 손실을 입었다면, 그 다음 100개의 계약이 적자를 보상한다는 것을 알 수 있었습니다. 100개의 계약은 전체 계좌의 약 50%를 차지하고, 손실은 11%였습니다. 처음에는 3개의 동전이었고, 손실이 끝나고 2.87개가 남았는데, 왜 자금이 부족했을까요?

<unk>n일 후 다시 업데이트

  1. 제가 Bitmex를 사용해서 재검토를 하고, 3을 설정하고, 주문을 할 때 Exchange를 사용했습니다. Sell ((10000, 100) 을 여러 번 테스트했는데, 모두 사용자들의 자금이 부족했습니다.

나중에 마침내 주문 수를 exchange.Sell ((10000, 2) 로 변경하는 것을 발견했습니다. 통과! 하지만 자금 사용량은 0으로 표시됩니다.

여기가 혼란스러운 부분입니다.
이 문서는 이렇게 쓰여 있습니다: exchange.Buy ((10000, 2) 는 다음 주문의 양이 2개의 계약이고, bitmex의 계약은 1달러입니다. 그 때 재검토할 때 여기의 잔액은 계약의 양을 나타낸 것인가? 아니면 BTC의 수를 나타낸 것인가?

"이것이 문제가 될 수 있습니까?"

  1. bitmex 계약 재검토, 만약 잔액이 3인 경우 △exchange.Sell(10000, 3) 는 자금이 부족하다는 것을 알려줄 것이지만, exchange.Buy(10000, 3) 는 허용된다. 즉, exchange.Sell는 잔액보다 조금 작아야 성공적 인 주문을 할 수 있습니다. 이것은 왜입니까?

--------------提示資金不足と下單価格に関連していることが判明し,exchange.Sell 때 가격이 너무 낮으면,提示資金不足,下單失敗,搞不懂となる。。。

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)