mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
exchanges/order: Add TimeInForce type (#1382)
* Added TimeInForce type and updated related files * Linter issue fix and minor coinbasepro type update * Bitrex consts update * added unit test and minor changes in bittrex * Unit tests update * Fix minor linter issues * Update TestStringToTimeInForce unit test * fix conflict with gateio timeInForce * Update order tests * Complete updating the order unit tests * update kucoin and deribit wrapper to match the time in force change * fix time-in-force related test errors * linter issue fix * time in force constants, functions and unit tests update * shift tif policies to TimeInForce * Update time-in-force, related functions, and unit tests * fix linter issue and time-in-force processing * added a good till crossing tif value * order type fix and fix related tim-in-force entries * update time-in-force unmarshaling and unit test * fix time-in-force error in gateio * linter issue fix * update based on review comments * add unit test and fix missing issues * minor fix and added benchmark unit test * change GTT to GTC for limit * fix linter issue * added time-in-force value to place order param * fix minor issues based on review comment and move tif code to separate files * update on exchanges linked to time-in-force * resolve missing review comments * minor linter issues fix * added time-in-force handler and update timeInForce parametered endpoint * minor fixes based on review * nits fix * update based on review * linter fix * rm getTimeInForce func and minor change to time-in-force * minor change * update based on review comments * wrappers and time-in-force calling approach * minor change * update gateio string to timeInForce conversion and unit test * updated order test unit tes functions * minor fixes on unit tests * nits fix based on feedback * update TestDeriveCancel unit test assert messages * update TestDeriveCancel unit test assert messages * update timeInForceFromString method to return formatted error and update functions using it * restructure and fix minor exchanges time-in-force handling issues * replaced unused getTypeFromTimeInForce with inline switch-based order type check * separated the repeated timeInForce conversion code to a function * update exchanges time-in-force handling based on review comments * limter fix * edded comment to validTimesInForce var * added comment to gateio's timeInForceString func * added goodTillCancel switch case to gateio timeInForceString func
This commit is contained in:
@@ -272,8 +272,6 @@ func parseOrderType(orderType string) order.Type {
|
||||
return order.Limit
|
||||
case order.Market.String():
|
||||
return order.Market
|
||||
case order.ImmediateOrCancel.String():
|
||||
return order.ImmediateOrCancel
|
||||
case order.Stop.String():
|
||||
return order.Stop
|
||||
case order.TrailingStop.String():
|
||||
|
||||
@@ -448,30 +448,30 @@ func generateMethodArg(ctx context.Context, t *testing.T, argGenerator *MethodAr
|
||||
input = reflect.ValueOf(req)
|
||||
case argGenerator.MethodInputType.AssignableTo(orderSubmitParam):
|
||||
input = reflect.ValueOf(&order.Submit{
|
||||
Exchange: exchName,
|
||||
Type: order.Limit,
|
||||
Side: order.Buy,
|
||||
Pair: argGenerator.AssetParams.Pair,
|
||||
AssetType: argGenerator.AssetParams.Asset,
|
||||
Price: 150,
|
||||
Amount: 1,
|
||||
ClientID: "1337",
|
||||
ClientOrderID: "13371337",
|
||||
ImmediateOrCancel: true,
|
||||
Leverage: 1,
|
||||
Exchange: exchName,
|
||||
Type: order.Limit,
|
||||
Side: order.Buy,
|
||||
Pair: argGenerator.AssetParams.Pair,
|
||||
AssetType: argGenerator.AssetParams.Asset,
|
||||
Price: 150,
|
||||
Amount: 1,
|
||||
ClientID: "1337",
|
||||
ClientOrderID: "13371337",
|
||||
TimeInForce: order.ImmediateOrCancel,
|
||||
Leverage: 1,
|
||||
})
|
||||
case argGenerator.MethodInputType.AssignableTo(orderModifyParam):
|
||||
input = reflect.ValueOf(&order.Modify{
|
||||
Exchange: exchName,
|
||||
Type: order.Limit,
|
||||
Side: order.Buy,
|
||||
Pair: argGenerator.AssetParams.Pair,
|
||||
AssetType: argGenerator.AssetParams.Asset,
|
||||
Price: 150,
|
||||
Amount: 1,
|
||||
ClientOrderID: "13371337",
|
||||
OrderID: "1337",
|
||||
ImmediateOrCancel: true,
|
||||
Exchange: exchName,
|
||||
Type: order.Limit,
|
||||
Side: order.Buy,
|
||||
Pair: argGenerator.AssetParams.Pair,
|
||||
AssetType: argGenerator.AssetParams.Asset,
|
||||
Price: 150,
|
||||
Amount: 1,
|
||||
ClientOrderID: "13371337",
|
||||
OrderID: "1337",
|
||||
TimeInForce: order.ImmediateOrCancel,
|
||||
})
|
||||
case argGenerator.MethodInputType.AssignableTo(orderCancelParam):
|
||||
input = reflect.ValueOf(&order.Cancel{
|
||||
|
||||
Reference in New Issue
Block a user