vedroid
|
Date: 12/28/2011
На самом деле нет такого таймаута фиксированного. Я пытался где-то пол-года тому назад подобрать, но всегда получалось по разному.
Бывало что лимитка + стоп проскакивали менее чем за секунду, а бывало и за 3 не получалось.
Мои выводы:
- У альфы есть фиксированный временной мараторий между заявками
- Время меняется в зависимости от загрузки их сервера
- Альфа-Директ - фуфло! Ждем в 2012 новый убер-терминал от альфы. Обещают космолет.
|
|
|
|
Thanks:
|
|
|
|
|
|
Sergey Masyura
|
Date: 12/28/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
|
Date: 12/28/2011
vedroid:
На самом деле нет такого таймаута фиксированного. Я пытался где-то пол-года тому назад подобрать, но всегда получалось по разному.
Бывало что лимитка + стоп проскакивали менее чем за секунду, а бывало и за 3 не получалось.
Мои выводы:
- У альфы есть фиксированный временной мараторий между заявками
- Время меняется в зависимости от загрузки их сервера
- Альфа-Директ - фуфло! Ждем в 2012 новый убер-терминал от альфы. Обещают космолет.
да, посмотрим чего сделают. обещать я тоже умею [cool]
|
|
|
|
|
|
|
OvcharenkoVI
|
Date: 12/28/2011
|
|
|
|
Thanks:
|
|
|
|
|
|
OvcharenkoVI
|
Date: 12/28/2011
Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь)
|
|
|
|
Thanks:
|
|
|
|
|
|
Sergey Masyura
|
Date: 1/2/2012
OvcharenkoVI:
Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь)
Залил реализацию получения реал-тайм свечек на CodePlex.
trader.CandlesFinished += OnCandlesFinished;
trader.CandlesStarted += OnCandlesStarted;
trader.CandlesChanged += OnCandlesChanged;
trader.RegisterCandles(_security, AlfaTimeFrames.Minute5, trader.MarketTime - TimeSpan.FromHours(3));
Свечки берутся локально из терминала - должен быть открыт график с этими свечками для данного инструмента и именно этого же тайм-фрейма.
Если будут вопросы или сложности - пишите. Как будет время добавлю это в пример и обновлю документацию.
|
|
|
|
|
|
|
OvcharenkoVI
|
Date: 1/2/2012
Сергей, огромное спасибо, будем пробовать!
|
|
|
|
|
|
|
OvcharenkoVI
|
Date: 1/4/2012
Sergey Masyura:
OvcharenkoVI:
Кстати, Сергей, вы говорили, что изложите какие то другие методы получения свечек от альфы)
жду не дождусь)
Залил реализацию получения реал-тайм свечек на CodePlex.
trader.CandlesFinished += OnCandlesFinished;
trader.CandlesStarted += OnCandlesStarted;
trader.CandlesChanged += OnCandlesChanged;
trader.RegisterCandles(_security, AlfaTimeFrames.Minute5, trader.MarketTime - TimeSpan.FromHours(3));
>
> Свечки берутся локально из терминала - должен быть открыт график с этими свечками для данного инструмента и именно этого же тайм-фрейма.
>
> Если будут вопросы или сложности - пишите. Как будет время добавлю это в пример и обновлю документацию.
Тьфу тьфу все получилось=) спасибо)
Потестил все с индикаторами, все работает)
|
|
|
|
Thanks:
|
|
|
|
|
|
Sergey Masyura
|
Date: 1/5/2012
OvcharenkoVI:
Тьфу тьфу все получилось=) спасибо)
Потестил все с индикаторами, все работает)
Порядок =)
|
|
|
|
Thanks:
|
|
|
|
|
|
OvcharenkoVI
|
Date: 1/8/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) соединенных знаком «|».
ЗНАЧЕНИЯ ЦИФРОВЫХ КОДОВ ИНСТРУМЕНТОВ МОЖНО УЗНАТЬ ИЗ ТАБЛИЦЫ ЛОКАЛЬНОЙ БАЗЫ ДАННЫХ.
|
|
|
|
Thanks:
|
|
|
|
|