mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-31 15:10:42 +00:00
exchanges/ftx: Order improvements: submission + websocket reports (#741)
* exchanges/ftx: add support for ReduceOnly, ImmediateOrCancel and PostOnly orders * exchanges/ftx: adapt tests to ReduceOnly/ImmediateOrCancel/PostOnly boolean flags * exchanges/ftx: wrong json key of WsFillsDataStore.FillsData was causing json.Unmarshal() to yield an empty struct * exchanges/ftx: update WsFills to latest API * exchanges/ftx: add TestFTX_wsHandleData_wsFills * exchanges/ftx: WsOrders.FilledSize was never parsed properly because of a key error (was spelled `filedSize` -- with one L); enrich data structure to support latest API fields * exchanges/ftx: when order is closed, set status to closed, not canceled * exchanges/ftx: compatibleOrderVars: compare floats for almost-equality * order.Detail: add field: AverageExecutedPrice float64 * exchanges/ftx: FTX.wsHandleData() now populates all order.Detail fields properly on update/orders websocket message * exchanges/ftx: implement TestFTX_wsHandleData_Details() * exchanges/ftx: make golangci-lint happy * exchanges/ftx: make golangci-lint happy * exchanges/ftx/test: delete redundant commented code * exchanges/ftx: move websocket tests from ftx_test.go to ftx_websocket_test.go * exchanges/ftx: remove redundant line * exchange/ftx: greatly simplify TestFTX_wsHandleData (thanks to @shazbert) * exchanges/ftx: make golangci-lint/whitespace happy * exchanges/ftx: requested review change: delete a redundant line * exchanges/ftx/test: use predefined currency constants
This commit is contained in:
@@ -118,37 +118,38 @@ type ModifyResponse struct {
|
||||
// Each exchange has their own requirements, so not all fields
|
||||
// are required to be populated
|
||||
type Detail struct {
|
||||
ImmediateOrCancel bool
|
||||
HiddenOrder bool
|
||||
FillOrKill bool
|
||||
PostOnly bool
|
||||
Leverage float64
|
||||
Price float64
|
||||
Amount float64
|
||||
LimitPriceUpper float64
|
||||
LimitPriceLower float64
|
||||
TriggerPrice float64
|
||||
TargetAmount float64
|
||||
ExecutedAmount float64
|
||||
RemainingAmount float64
|
||||
Cost float64
|
||||
Fee float64
|
||||
Exchange string
|
||||
InternalOrderID string
|
||||
ID string
|
||||
ClientOrderID string
|
||||
AccountID string
|
||||
ClientID string
|
||||
WalletAddress string
|
||||
Type Type
|
||||
Side Side
|
||||
Status Status
|
||||
AssetType asset.Item
|
||||
Date time.Time
|
||||
CloseTime time.Time
|
||||
LastUpdated time.Time
|
||||
Pair currency.Pair
|
||||
Trades []TradeHistory
|
||||
ImmediateOrCancel bool
|
||||
HiddenOrder bool
|
||||
FillOrKill bool
|
||||
PostOnly bool
|
||||
Leverage float64
|
||||
Price float64
|
||||
Amount float64
|
||||
LimitPriceUpper float64
|
||||
LimitPriceLower float64
|
||||
TriggerPrice float64
|
||||
AverageExecutedPrice float64
|
||||
TargetAmount float64
|
||||
ExecutedAmount float64
|
||||
RemainingAmount float64
|
||||
Cost float64
|
||||
Fee float64
|
||||
Exchange string
|
||||
InternalOrderID string
|
||||
ID string
|
||||
ClientOrderID string
|
||||
AccountID string
|
||||
ClientID string
|
||||
WalletAddress string
|
||||
Type Type
|
||||
Side Side
|
||||
Status Status
|
||||
AssetType asset.Item
|
||||
Date time.Time
|
||||
CloseTime time.Time
|
||||
LastUpdated time.Time
|
||||
Pair currency.Pair
|
||||
Trades []TradeHistory
|
||||
}
|
||||
|
||||
// Filter contains all properties an order can be filtered for
|
||||
|
||||
Reference in New Issue
Block a user