RAPTOR v18.4: Исправлена отчетность, активированы выходные

This commit is contained in:
root
2026-04-18 23:26:45 +03:00
commit ef0958239e
312 changed files with 54247 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
""" Example - How to set/get balance for sandbox account.
How to get/close all sandbox accounts.
How to open new sandbox account. """
import logging
import os
from datetime import datetime
from decimal import Decimal
from t_tech.invest import MoneyValue
from t_tech.invest.sandbox.client import SandboxClient
from t_tech.invest.utils import decimal_to_quotation, quotation_to_decimal
TOKEN = os.environ["INVEST_TOKEN"]
logging.basicConfig(format="%(asctime)s %(levelname)s:%(message)s", level=logging.DEBUG)
logger = logging.getLogger(__name__)
def add_money_sandbox(client, account_id, money, currency="rub"):
"""Function to add money to sandbox account."""
money = decimal_to_quotation(Decimal(money))
return client.sandbox.sandbox_pay_in(
account_id=account_id,
amount=MoneyValue(units=money.units, nano=money.nano, currency=currency),
)
def main():
"""Example - How to set/get balance for sandbox account.
How to get/close all sandbox accounts.
How to open new sandbox account."""
with SandboxClient(TOKEN) as client:
# get all sandbox accounts
sandbox_accounts = client.users.get_accounts()
print(sandbox_accounts)
# close all sandbox accounts
for sandbox_account in sandbox_accounts.accounts:
client.sandbox.close_sandbox_account(account_id=sandbox_account.id)
# open new sandbox account
sandbox_account = client.sandbox.open_sandbox_account()
print(sandbox_account.account_id)
account_id = sandbox_account.account_id
# add initial 2 000 000 to sandbox account
print(add_money_sandbox(client=client, account_id=account_id, money=2000000))
logger.info(
"positions: %s", client.operations.get_positions(account_id=account_id)
)
print(
"money: ",
float(
quotation_to_decimal(
client.operations.get_positions(account_id=account_id).money[0]
)
),
)
logger.info("orders: %s", client.orders.get_orders(account_id=account_id))
logger.info(
"positions: %s", client.operations.get_positions(account_id=account_id)
)
logger.info(
"portfolio: %s", client.operations.get_portfolio(account_id=account_id)
)
logger.info(
"operations: %s",
client.operations.get_operations(
account_id=account_id,
from_=datetime(2023, 1, 1),
to=datetime(2023, 2, 5),
),
)
logger.info(
"withdraw_limits: %s",
client.operations.get_withdraw_limits(account_id=account_id),
)
# add + 2 000 000 to sandbox account, total is 4 000 000
print(add_money_sandbox(client=client, account_id=account_id, money=2000000))
logger.info(
"positions: %s", client.operations.get_positions(account_id=account_id)
)
# close new sandbox account
sandbox_account = client.sandbox.close_sandbox_account(
account_id=sandbox_account.account_id
)
print(sandbox_account)
if __name__ == "__main__":
main()