Transaq
СБО "Transaq" => Подсистема ATF => Topic started by: Владимир I on Апреля 22, 2014, 10:52:38 am
-
Вот мои пожелания :
1. SMS, email оповещения
- программные ( signal::SMS( PhoneNumber, message ), signal::email( emailAddress, message ) ) + Multiple версии
- серверные ( программа регистрирует на сервере событие завершения сессии ( в т.ч. и особенно аварийное ),
signal::serverSMS( Event, PhoneNumber, message ), signal::serveremail( Event, emailAddress, message )
где Event - завершение сеанса, аварийное завершение сеанса, потеря соединения с биржей, возможно ещё какие-нибудь события,
препятствующие работе Транзака и особенно роботов ( которые должны работать круглосуточно ).
2. В параметры инструмента ( выдаваемые функцией getSecInfo() ) надо добавить след. информацию :
- Код базового актива ( для фьючерсов, опционов )
- Количество базового актива в инструменте ( для фьючерсов, опционов )
- Гарантийное обеспечение продавца ( для фьючерсов, опционов ) ==> Через statline
- Гарантийное обеспечение покупателя ( для фьючерсов, опционов ) ==> Через statline
- Дата завершения обращения ( для фьючерсов, опционов, облигаций )
- Шаг цены ==> Через getSecInfo
Данная информация есть в структуре 4.18 "Информация по инструменту" из Transaq XML Connector.
Лучше получить доступ к целиковой структуре, лишние параметры не помешают, а кому-то могут понадобиться.
3. Отслеживание режима торгов
- Функция isTradeSession( Market ) - возвращает 1 если торговая сессия на рынке Market активна, 0 - если не активна
- События onStartTrading( Market ), onStopTrading( Market ) - начало и конец торговой сессии на рынке Market.
4. Функцию trade_action::cancelAllSecAllOrders - чтобы снимала все неисполненные заявки по всем инструментам по текущему рынку и текущему клиенту.
5. Сделать окошко выбора инструментов побольше - иначе там названий опционов не видно.
6. Сделать окошко ввода параметров индикатора побольше и шрифт покрупнее.
7. Получение позиций по всем инструментам ( или идентификаторы инструментов по которым открыты позиции )
8. Нужна функция для получения текущего типа переменной ( NOT_DEFINED, number, string, date, hash, array, file, statline, ... )
9. Для объектов типа hash сделать метод .to_string()
10. Сделать функцию replace( строка, что поменять, на что поменять )
11. Сделать функции min( x,y ) и max( x,y ), in_range( x, y, z ) = min( max( x, y ), z )
in_range( x, y, z ) - ограничить значение x диапазоном [ y, z ]
Если окажется что y > z, то выдавать программную ошибку.
12. В функции round сделать необязательный второй параметр - до скольких знаков после запятой огруглять.
13. События onConnect(), onDisconnect( var reason ) к серверу Транзак
14. Лучше сделать жёсткую типизацию переменных :
var OptionName : string;
var TraceFile : file; // Эквивалентно var TraceFile = new_object( "file" );
var PutPositionsLots : array; // Эквивалентно var PutPositionsLots = new_object( "array" );
Это значительно повысит наглядность и надёжность программ.
-
15. Просьба реализовать функцию activationRobots() которая бы включала робота(ов);
16 Просьба реализовать функцию round для округления дробных чисел до XX знаков
var af=round(1.2356,XX);