I'm having problems updating a Stop Market Order on GDAX,
The sequence I have for cancelling an order is in essence:
- Use Transactions.CancelOpenOrders()
- Use WaitForOrder() for order cancellation.
- If Order is not invalidated, then we can place a new SMO (Stop Market Order)
- place the order again at new price: StopMarketOrder(Symbol, -Portfolio[Symbol].Quantity, StopPrice);
The problem is I'm receiving sometimes "ERROR: Insufficient Funds" when I try to update this order, despite I did ok the first 4, 5, 6 attempts, My guess is: Despite I'm waiting for order cancellation response, GDAX has still not released these funds to place a new order, maybe it's checking too fast from the moment it cancels a trade to the moment it places a new one, so I get that message, here's an example where I did it right for 4 times and then it failed (same quantity):
I think I can solve it if I get the funds on hold at that moment: From
https://docs.pro.coinbase.com/#accountsACCOUNT FIELDSFieldDescriptionidAccount IDcurrencythe currency of the accountbalancetotal funds in the accountholdsfunds on hold (not available for use)availablefunds available to withdraw or trade
I've been looking at the documentation but I think there's no method or property for this, if so, is there any method I can use to prevent this issue?
Thanks for your support.
Jared Broad
Hi Xavier; ideally we can fully understand why the issue is happening before doing engineering to fetch that value. If possible please try asking GDAX support if your hunches are true and then adjusting the algorithm implementation. If it is true they're holding cash we can model that in backtesting as its a similar behavior to equities.
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Xavier R
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!