RAPTOR v18.4: Исправлена отчетность, активированы выходные
This commit is contained in:
78
invest-python-master/examples/trailing_stop.py
Normal file
78
invest-python-master/examples/trailing_stop.py
Normal file
@@ -0,0 +1,78 @@
|
||||
"""Example - Trailing Stop Take Profit order.
|
||||
spread=0.5 relative value
|
||||
indent=0.5 absolute value
|
||||
"""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
from decimal import Decimal
|
||||
|
||||
from t_tech.invest import (
|
||||
Client,
|
||||
ExchangeOrderType,
|
||||
GetStopOrdersRequest,
|
||||
PostStopOrderRequest,
|
||||
PostStopOrderRequestTrailingData,
|
||||
StopOrderDirection,
|
||||
StopOrderExpirationType,
|
||||
StopOrderTrailingData,
|
||||
StopOrderType,
|
||||
TakeProfitType,
|
||||
)
|
||||
from t_tech.invest.schemas import TrailingValueType
|
||||
from t_tech.invest.utils import decimal_to_quotation
|
||||
|
||||
TOKEN = os.environ["INVEST_TOKEN"]
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
|
||||
INSTRUMENT_ID = "TCS00A105GE2"
|
||||
QUANTITY = 1
|
||||
PRICE = 230.500000000
|
||||
STOPPRICE = 230
|
||||
INDENT = 0.5
|
||||
SPREAD = 0.5
|
||||
|
||||
|
||||
def main():
|
||||
logger.info("Getting Max Lots")
|
||||
with Client(TOKEN) as client:
|
||||
response = client.users.get_accounts()
|
||||
account, *_ = response.accounts
|
||||
account_id = account.id
|
||||
|
||||
logger.info(
|
||||
"Post take profit stop order for instrument=%s and trailing parameters: indent=%s, spread=%s, price=%s ",
|
||||
INSTRUMENT_ID,
|
||||
INDENT,
|
||||
SPREAD,
|
||||
STOPPRICE,
|
||||
)
|
||||
|
||||
post_stop_order = client.stop_orders.post_stop_order(
|
||||
quantity=QUANTITY,
|
||||
price=decimal_to_quotation(Decimal(PRICE)),
|
||||
stop_price=decimal_to_quotation(Decimal(STOPPRICE)),
|
||||
direction=StopOrderDirection.STOP_ORDER_DIRECTION_SELL,
|
||||
account_id=account_id,
|
||||
stop_order_type=StopOrderType.STOP_ORDER_TYPE_TAKE_PROFIT,
|
||||
instrument_id=INSTRUMENT_ID,
|
||||
expiration_type=StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL,
|
||||
exchange_order_type=ExchangeOrderType.EXCHANGE_ORDER_TYPE_LIMIT,
|
||||
take_profit_type=TakeProfitType.TAKE_PROFIT_TYPE_TRAILING,
|
||||
trailing_data=StopOrderTrailingData(
|
||||
indent=decimal_to_quotation(Decimal(INDENT)),
|
||||
indent_type=TrailingValueType.TRAILING_VALUE_ABSOLUTE,
|
||||
spread=decimal_to_quotation(Decimal(SPREAD)),
|
||||
spread_type=TrailingValueType.TRAILING_VALUE_RELATIVE,
|
||||
),
|
||||
)
|
||||
|
||||
print(post_stop_order)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user