Begin implementing get all open trades
This commit is contained in:
parent
b818e7e3f5
commit
a18c150fe2
|
@ -218,6 +218,10 @@ class BaseExchange(ABC):
|
||||||
def get_all_positions(self):
|
def get_all_positions(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def get_all_open_trades(self):
|
||||||
|
pass
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def close_position(self, side, symbol):
|
def close_position(self, side, symbol):
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -129,6 +129,10 @@ class OANDAExchange(BaseExchange):
|
||||||
items.append(item)
|
items.append(item)
|
||||||
return items
|
return items
|
||||||
|
|
||||||
|
def get_all_open_trades(self):
|
||||||
|
r = trades.OpenTrades(accountID=self.account_id)
|
||||||
|
return self.call(r)
|
||||||
|
|
||||||
def close_position(self, side, symbol):
|
def close_position(self, side, symbol):
|
||||||
data = {
|
data = {
|
||||||
f"{side}Units": "ALL",
|
f"{side}Units": "ALL",
|
||||||
|
|
|
@ -492,6 +492,65 @@ class Trade(BaseModel):
|
||||||
guaranteedExecutionFee: str
|
guaranteedExecutionFee: str
|
||||||
quoteGuaranteedExecutionFee: str
|
quoteGuaranteedExecutionFee: str
|
||||||
halfSpreadCost: str
|
halfSpreadCost: str
|
||||||
|
# takeProfitOrder: TakeProfitOrder | None
|
||||||
|
takeProfitOrder: dict | None
|
||||||
|
stopLossOrder: dict | None
|
||||||
|
trailingStopLossOrder: dict | None
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"trades": [
|
||||||
|
{
|
||||||
|
"id": "14480",
|
||||||
|
"instrument": "EUR_USD",
|
||||||
|
"price": "1.06345",
|
||||||
|
"openTime": "2022-12-22T08:57:10.459593310Z",
|
||||||
|
"initialUnits": "100",
|
||||||
|
"initialMarginRequired": "2.9226",
|
||||||
|
"state": "OPEN",
|
||||||
|
"currentUnits": "100",
|
||||||
|
"realizedPL": "0.0000",
|
||||||
|
"financing": "0.0000",
|
||||||
|
"dividendAdjustment": "0.0000",
|
||||||
|
"unrealizedPL": "-0.0158",
|
||||||
|
"marginUsed": "2.9228",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lastTransactionID": "14480",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class OpenTrades(BaseModel):
|
||||||
|
trades: list[Trade]
|
||||||
|
lastTransactionID: str
|
||||||
|
|
||||||
|
|
||||||
|
OpenTradesSchema = {
|
||||||
|
"itemlist": (
|
||||||
|
"trades",
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "tradeID",
|
||||||
|
"instrument": "instrument",
|
||||||
|
"price": "price",
|
||||||
|
"openTime": "openTime",
|
||||||
|
"initialUnits": "initialUnits",
|
||||||
|
"initialMarginRequired": "initialMarginRequired",
|
||||||
|
"state": "state",
|
||||||
|
"currentUnits": "currentUnits",
|
||||||
|
"realizedPL": "realizedPL",
|
||||||
|
"financing": "financing",
|
||||||
|
"dividendAdjustment": "dividendAdjustment",
|
||||||
|
"unrealizedPL": "unrealizedPL",
|
||||||
|
"marginUsed": "marginUsed",
|
||||||
|
"takeProfitOrder": "takeProfitOrder",
|
||||||
|
"stopLossOrder": "stopLossOrder",
|
||||||
|
"trailingStopLossOrder": "trailingStopLossOrder",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
),
|
||||||
|
"lastTransactionID": "lastTransactionID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class HomeConversionFactors(BaseModel):
|
class HomeConversionFactors(BaseModel):
|
||||||
|
|
Loading…
Reference in New Issue