Exemplo n.º 1
0
class CreditAbility(MyXmlObject):
    """
    Режим кредитования.
    """
    ROOT_NAME = 'overnight'
    # Ночной
    overnight = SimpleBooleanField('@status', 'true', 'false')
    # Дневной
    intraday = SimpleBooleanField('@status', 'false', 'true')
Exemplo n.º 2
0
class CmdResult(MyXmlObject):
    """
    Результат отправки команды (но не исполнения на серваке).
    """
    ROOT_NAME = 'result'
    success = SimpleBooleanField('@success', 'true', 'false')
    text = StringField('message')
    id = IntegerField('@transactionid')
Exemplo n.º 3
0
class RemoteRequestQuery(OrderedXmlObject, XmlObject):
    ROOT_NAME = 'query'
    ORDER = ('data', 'prompts')

    url = StringField('@url')
    storage_instance = StringField('@storage-instance')
    template = StringField('@template')
    data = NodeListField('data', QueryData)
    prompts = NodeListField('prompt', QueryPrompt)
    default_search = SimpleBooleanField("@default_search", "true", "false")
Exemplo n.º 4
0
class Lookup(OrderedXmlObject):
    ROOT_NAME = 'lookup'
    ORDER = ('auto_launch', 'extras', 'responses', 'field')

    name = StringField("@name")
    auto_launch = SimpleBooleanField("@auto_launch", "true", "false")
    action = StringField("@action", required=True)
    image = StringField("@image")
    extras = NodeListField('extra', Extra)
    responses = NodeListField('response', Response)
    field = NodeField('field', Field)
Exemplo n.º 5
0
class MarketOrderAbility(MyXmlObject):
    """
    Возможность рыночных заявок.
    """
    ROOT_NAME = 'marketord'
    # Id бумаги
    secid = IntegerField('@secid')
    # Код бумаги
    seccode = StringField('@seccode')
    # Флаг доступности
    permitted = SimpleBooleanField('@permit', 'yes', 'no')
Exemplo n.º 6
0
class Security(Entity):
    """
    Ценная бумага.
    """
    ROOT_NAME = 'security'
    id = secid = IntegerField('@secid')
    active = SimpleBooleanField('@active', 'true', 'false')
    # Код инструмента
    seccode = StringField('seccode')
    # Тип бумаги
    sectype = StringField('sectype')
    # Идентификатор режима торгов по умолчанию
    board = StringField('board')
    # Идентификатор рынка
    market = IntegerField('market')
    # Наименование бумаги
    name = StringField('shortname')
    # Количество десятичных знаков в цене
    decimals = IntegerField('decimals')
    # Шаг цены
    minstep = FloatField('minstep')
    # Размер лота
    lotsize = IntegerField('lotsize')
    # Стоимость пункта цены
    point_cost = FloatField('point_cost')
    # Имя таймзоны инструмента
    timezone = StringField('sec_tz')
    # Флаги фичей
    credit_allowed = SimpleBooleanField('opmask/@usecredit', 'yes', 'no')
    bymarket_allowed = SimpleBooleanField('opmask/@bymarket', 'yes', 'no')
    nosplit_allowed = SimpleBooleanField('opmask/@nosplit', 'yes', 'no')
    immediate_allowed = SimpleBooleanField('opmask/@immorcancel', 'yes', 'no')
    cancelbalance_allowed = SimpleBooleanField('opmask/@cancelbalance', 'yes',
                                               'no')
Exemplo n.º 7
0
class TextMessage(Entity):
    """
    Текстовые сообщения, которые можно передавать через Транзак.
    """
    ROOT_NAME = 'message'
    # Дата
    id = date = DateTimeField('date', TIME_FORMAT)
    # Срочность
    urgent = SimpleBooleanField('urgent', 'Y', 'N')
    # Отправитель
    sender = StringField('from')
    # Содержимое
    text = StringField('text')
Exemplo n.º 8
0
class SessionDatum(IdNode, OrderedXmlObject):
    ROOT_NAME = 'datum'
    ORDER = (
        'id', 'nodeset', 'value', 'function',
        'detail_select', 'detail_confirm', 'detail_persistent', 'detail_inline',
        'autoselect',
    )

    nodeset = XPathField('@nodeset')
    value = StringField('@value')
    function = XPathField('@function')
    detail_select = StringField('@detail-select')
    detail_confirm = StringField('@detail-confirm')
    detail_persistent = StringField('@detail-persistent')
    detail_inline = StringField('@detail-inline')
    autoselect = SimpleBooleanField('@autoselect', true="true", false="false")
Exemplo n.º 9
0
class StopLoss(StopOrder):
    """Стоп лосс оредер"""
    # Использование кредита
    use_credit = SimpleBooleanField('stoploss/@usecredit', 'yes', 'no')
    # Цена активации
    activation_price = FloatField('stoploss/activationprice')
    # Рыночное исполнение
    bymarket = ItemField('bymarket')
    # Защитное время удержания цены
    # (когда цены на рынке лишь кратковременно достигают уровня цены активации,
    # и вскоре возвращаются обратно)
    guard_time = DateTimeField('stoploss/guardtime', TIME_FORMAT)
    # Примечание
    broker_ref = StringField('stoploss/brokerref')
    # Количество лотов
    quantity = IntegerField('stoploss/quantity')
    # Цена исполнения (отменяет bymarket)
    price = FloatField('stoploss/orderprice')
Exemplo n.º 10
0
class ClientAccount(Entity):
    """
    Данные клиентсткого аккаунта.
    """
    ROOT_NAME = 'client'
    id = StringField('@id')
    active = SimpleBooleanField('@remove', 'false', 'true')
    # Возможные типы клиента: spot (кассовый),
    # leverage (плечевой), margin_level (маржинальный)
    type = StringField('type', choices=('spot', 'leverage', 'mct'))
    # Валюта  фондового  портфеля
    currency = StringField('currency', choices=('NA', 'RUB', 'EUR', 'USD'))
    # Идентификатор рынка
    market = IntegerField('market')
    # код Единого Портфеля, в который включен данный клиент
    union = StringField('union')
    # счет FORTS клиента
    forts_acc = StringField('forts_acc')
Exemplo n.º 11
0
class ServerStatus(Entity):
    """
    Состояние соединения.
    """
    ROOT_NAME = 'server_status'
    connected = StringField('@connected', choices=('true', 'false', 'error'))
    timezone = StringField('@server_tz')
    # Атрибут recover – необязательный параметр. Его наличие означает, что
    # коннектор пытается восстановить потерянное соединение с сервером
    recover = SimpleBooleanField('@recover', 'true', None)
    text = StringField('text()')

    def __repr__(self):
        if self.connected != 'error':
            return "ServerStatus(id=%d,tz=%s,conn=%s)" % \
                   (self.id, self.timezone, self.connected)
        else:
            return "ServerStatus(ERROR, text=%s)" % self.text
Exemplo n.º 12
0
class Action(ActionMixin):
    """ For CC < 2.21 """

    display = NodeField('display', Display)
    auto_launch = SimpleBooleanField("@auto_launch", "true", "false")
    redo_last = SimpleBooleanField("@redo_last", "true", "false")
Exemplo n.º 13
0
class MediaResource(AbstractResource):
    ROOT_NAME = 'media'
    path = StringField('@path')
    lazy = SimpleBooleanField('resource/@lazy', true="true", false="false")