vedroid
|
Дата: 28.12.2011
На самом деле нет такого таймаута фиксированного. Я пытался где-то пол-года тому назад подобрать, но всегда получалось по разному. Бывало что лимитка + стоп проскакивали менее чем за секунду, а бывало и за 3 не получалось. Мои выводы: 1) У альфы есть фиксированный временной мараторий между заявками 2) Время меняется в зависимости от загрузки их сервера 3) Альфа-Директ - фуфло! Ждем в 2012 новый убер-терминал от альфы. Обещают космолет.
|
|
Спасибо:
|
|
|
|
|
Sergey Masyura
|
Дата: 28.12.2011
OvcharenkoVI Попробую найти, а так да, есть такой косяк у них(( Как выяснилась такая же ерунда, если, например, отменить ордер и тут же отправить заявку на регистрацию. У себя в роботе после первой операции запускаю таймер и жду пока та первая заявка отменится / в Вашем случае исполнится Код var timer = new Timer(300); timer.Elapsed += (sender, args) => { if(_orderClose.State != OrderStates.Done) { this.AddInfoLog("Пред. заявка {0}, tr.id {1} еще не отменена", _orderClose.Id, _orderClose.TransactionId); } else { this.AddInfoLog("Заявка {0}, tr.id {1} отменена, открытие позиции", _orderClose.Id, _orderClose.TransactionId);
timer.Stop();
_orderClose = null; PlaceOpenOrder(state > 0 ? OrderDirections.Buy : OrderDirections.Sell, _lastPrice, volumeToClear); } }; timer.Start();
|
|
|
|
|
Sergey Masyura
|
Дата: 28.12.2011
vedroid На самом деле нет такого таймаута фиксированного. Я пытался где-то пол-года тому назад подобрать, но всегда получалось по разному. Бывало что лимитка + стоп проскакивали менее чем за секунду, а бывало и за 3 не получалось. Мои выводы: 1) У альфы есть фиксированный временной мараторий между заявками 2) Время меняется в зависимости от загрузки их сервера 3) Альфа-Директ - фуфло! Ждем в 2012 новый убер-терминал от альфы. Обещают космолет. да, посмотрим чего сделают. обещать я тоже умею [cool]
|
|
|
|
|
OvcharenkoVI
|
Дата: 28.12.2011
Все ждут в принципе)
|
|
Спасибо:
|
|
|
|
|
OvcharenkoVI
|
Дата: 28.12.2011
Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь)
|
|
Спасибо:
|
|
|
|
|
Sergey Masyura
|
Дата: 02.01.2012
OvcharenkoVI Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь) Залил реализацию получения реал-тайм свечек на CodePlex. Код
trader.CandlesFinished += OnCandlesFinished; trader.CandlesStarted += OnCandlesStarted; trader.CandlesChanged += OnCandlesChanged;
trader.RegisterCandles(_security, AlfaTimeFrames.Minute5, trader.MarketTime - TimeSpan.FromHours(3));
Свечки берутся локально из терминала - должен быть открыт график с этими свечками для данного инструмента и именно этого же тайм-фрейма. Если будут вопросы или сложности - пишите. Как будет время добавлю это в пример и обновлю документацию.
|
|
|
|
|
OvcharenkoVI
|
Дата: 02.01.2012
Сергей, огромное спасибо, будем пробовать!
|
|
|
|
|
OvcharenkoVI
|
Дата: 04.01.2012
Sergey Masyura OvcharenkoVI Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь) Залил реализацию получения реал-тайм свечек на CodePlex. Код
trader.CandlesFinished += OnCandlesFinished; trader.CandlesStarted += OnCandlesStarted; trader.CandlesChanged += OnCandlesChanged;
trader.RegisterCandles(_security, AlfaTimeFrames.Minute5, trader.MarketTime - TimeSpan.FromHours(3));
Свечки берутся локально из терминала - должен быть открыт график с этими свечками для данного инструмента и именно этого же тайм-фрейма. Если будут вопросы или сложности - пишите. Как будет время добавлю это в пример и обновлю документацию. Тьфу тьфу все получилось=) спасибо) Потестил все с индикаторами, все работает)
|
|
Спасибо:
|
|
|
|
|
Sergey Masyura
|
Дата: 05.01.2012
OvcharenkoVI Тьфу тьфу все получилось=) спасибо)
Потестил все с индикаторами, все работает)
Порядок =)
|
|
Спасибо:
|
|
|
|
|
OvcharenkoVI
|
Дата: 08.01.2012
|
|
|
|
Сергей, все копался копался - не знаю что куда воткнуть.
Можно ли в AlfaTrader добавить GlobalFilter? Чтобы не было обязательным держать открытым таблицы заявок, сделок и так далее, было бы очень удобно.
Выдержка из документации Альфы:
Установка и получение глобальных фильтров. СИНТАКСИС [VB] ADObj.GlobalFilter(Name)
[C++] HRESULT get_GlobalFilter(BSTR Name, BSTR *Value); HRESULT put_GlobalFilter(BSTR Name, BSTR Value); ПРИМЕЧАНИЕ Терминал устанавливает на сервере «Альфа-Директ» так называемые глобальные фильтры, которые указывают какую именно информацию необходимо присылать клиенту. Выбор этих фильтров определяется открытой конфигурацией в терминале. Данное свойство позволяет установить дополнительные фильтры к уже существующим. При чтении этого свойства будут доступны лишь те фильтры, которые были установлены с помощью открытого интерфейса. Параметр Name определяет с каким именно фильтром будет работа: • «FI» – котировки; • «AT» – все сделки; • «Q» – очереди заявок. Значение фильтра задается как набор цифровых кодов инструментов (paper_no) соединенных знаком «|». ЗНАЧЕНИЯ ЦИФРОВЫХ КОДОВ ИНСТРУМЕНТОВ МОЖНО УЗНАТЬ ИЗ ТАБЛИЦЫ ЛОКАЛЬНОЙ БАЗЫ ДАННЫХ.
|
|
Спасибо:
|
|
|
|