mirror of
https://github.com/aljazceru/bitfinex-api-py.git
synced 2025-12-19 06:44:22 +01:00
positions endpoint
This commit is contained in:
@@ -508,5 +508,11 @@ class _RestAuthenticatedEndpoints(_Requests):
|
|||||||
def increase_position(self, symbol: str, amount: Union[Decimal, float, str]) -> Notification[Increase]:
|
def increase_position(self, symbol: str, amount: Union[Decimal, float, str]) -> Notification[Increase]:
|
||||||
return serializers._Notification[Increase](serializer=serializers.Increase).parse(*self._POST("auth/w/position/increase", data={ "symbol": symbol, "amount": amount }))
|
return serializers._Notification[Increase](serializer=serializers.Increase).parse(*self._POST("auth/w/position/increase", data={ "symbol": symbol, "amount": amount }))
|
||||||
|
|
||||||
def get_position_history(self, start: Optional[str] = None, end: Optional[str] = None, limit: Optional[int] = None) -> List[PositionHistory]:
|
def get_positions_history(self, start: Optional[str] = None, end: Optional[str] = None, limit: Optional[int] = None) -> List[PositionHistory]:
|
||||||
return [ serializers.PositionHistory.parse(*sub_data) for sub_data in self._POST("auth/r/positions/hist", data={ "start": start, "end": end, "limit": limit }) ]
|
return [ serializers.PositionHistory.parse(*sub_data) for sub_data in self._POST("auth/r/positions/hist", data={ "start": start, "end": end, "limit": limit }) ]
|
||||||
|
|
||||||
|
def get_positions_snapshot(self, start: Optional[str] = None, end: Optional[str] = None, limit: Optional[int] = None) -> List[PositionSnapshot]:
|
||||||
|
return [ serializers.PositionSnapshot.parse(*sub_data) for sub_data in self._POST("auth/r/positions/snap", data={ "start": start, "end": end, "limit": limit }) ]
|
||||||
|
|
||||||
|
def get_positions_audit(self, ids: Optional[List[int]] = None, start: Optional[str] = None, end: Optional[str] = None, limit: Optional[int] = None) -> List[PositionAudit]:
|
||||||
|
return [ serializers.PositionAudit.parse(*sub_data) for sub_data in self._POST("auth/r/positions/audit", data={ "ids": ids, "start": start, "end": end, "limit": limit }) ]
|
||||||
|
|||||||
@@ -554,4 +554,44 @@ PositionHistory = generate_labeler_serializer("PositionHistory", klass=types.Pos
|
|||||||
"MTS_UPDATE"
|
"MTS_UPDATE"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
PositionSnapshot = generate_labeler_serializer("PositionSnapshot", klass=types.PositionSnapshot, labels=[
|
||||||
|
"SYMBOL",
|
||||||
|
"STATUS",
|
||||||
|
"AMOUNT",
|
||||||
|
"BASE_PRICE",
|
||||||
|
"FUNDING",
|
||||||
|
"FUNDING_TYPE",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"POSITION_ID",
|
||||||
|
"MTS_CREATE",
|
||||||
|
"MTS_UPDATE"
|
||||||
|
])
|
||||||
|
|
||||||
|
PositionAudit = generate_labeler_serializer("PositionAudit", klass=types.PositionAudit, labels=[
|
||||||
|
"SYMBOL",
|
||||||
|
"STATUS",
|
||||||
|
"AMOUNT",
|
||||||
|
"BASE_PRICE",
|
||||||
|
"FUNDING",
|
||||||
|
"FUNDING_TYPE",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"POSITION_ID",
|
||||||
|
"MTS_CREATE",
|
||||||
|
"MTS_UPDATE",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"TYPE",
|
||||||
|
"_PLACEHOLDER",
|
||||||
|
"COLLATERAL",
|
||||||
|
"COLLATERAL_MIN",
|
||||||
|
"META"
|
||||||
|
])
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -437,4 +437,32 @@ class PositionHistory(_Type):
|
|||||||
MTS_CREATE: int
|
MTS_CREATE: int
|
||||||
MTS_UPDATE: int
|
MTS_UPDATE: int
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class PositionSnapshot(_Type):
|
||||||
|
SYMBOL: str
|
||||||
|
STATUS: str
|
||||||
|
AMOUNT: float
|
||||||
|
BASE_PRICE: float
|
||||||
|
FUNDING: float
|
||||||
|
FUNDING_TYPE: int
|
||||||
|
POSITION_ID: int
|
||||||
|
MTS_CREATE: int
|
||||||
|
MTS_UPDATE: int
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class PositionAudit(_Type):
|
||||||
|
SYMBOL: str
|
||||||
|
STATUS: str
|
||||||
|
AMOUNT: float
|
||||||
|
BASE_PRICE: float
|
||||||
|
FUNDING: float
|
||||||
|
FUNDING_TYPE: int
|
||||||
|
POSITION_ID: int
|
||||||
|
MTS_CREATE: int
|
||||||
|
MTS_UPDATE: int
|
||||||
|
TYPE: int
|
||||||
|
COLLATERAL: float
|
||||||
|
COLLATERAL_MIN: float
|
||||||
|
META: JSON
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
23
examples/rest/get_positions.py
Normal file
23
examples/rest/get_positions.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# python -c "import examples.rest.get_positions_snapshot"
|
||||||
|
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
|
from bfxapi.client import Client, Constants
|
||||||
|
|
||||||
|
bfx = Client(
|
||||||
|
REST_HOST=Constants.REST_HOST,
|
||||||
|
API_KEY=os.getenv("BFX_API_KEY"),
|
||||||
|
API_SECRET=os.getenv("BFX_API_SECRET")
|
||||||
|
)
|
||||||
|
|
||||||
|
now = int(round(time.time() * 1000))
|
||||||
|
|
||||||
|
positions_snapshot = bfx.rest.auth.get_positions_snapshot(end=now, limit=50)
|
||||||
|
print(positions_snapshot)
|
||||||
|
|
||||||
|
positions_history = bfx.rest.auth.get_positions_history(end=now, limit=50)
|
||||||
|
print(positions_history)
|
||||||
|
|
||||||
|
positions_audit = bfx.rest.auth.get_positions_audit(end=now, limit=50)
|
||||||
|
print(positions_audit)
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# python -c "import examples.rest.get_positions_history"
|
|
||||||
|
|
||||||
import os
|
|
||||||
import time
|
|
||||||
|
|
||||||
from bfxapi.client import Client, Constants
|
|
||||||
|
|
||||||
bfx = Client(
|
|
||||||
REST_HOST=Constants.REST_HOST,
|
|
||||||
API_KEY=os.getenv("BFX_API_KEY"),
|
|
||||||
API_SECRET=os.getenv("BFX_API_SECRET")
|
|
||||||
)
|
|
||||||
|
|
||||||
now = int(round(time.time() * 1000))
|
|
||||||
|
|
||||||
positions_history = bfx.rest.auth.get_position_history(end=now, limit=50)
|
|
||||||
print(positions_history)
|
|
||||||
Reference in New Issue
Block a user