У вас не стоит Flash Player
Page 2 of 2 < 1 2
Настройки
#71794 - Fri Jul 24 2015 01:19 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Stan]
Kermit Offline
enthusiast

Registered: Wed Jan 18 2012
Записи: 256
Так не бывает, чтобы не было условия. Всегда открытие лимиткой имеет вид
Code:
if (Условие) sec.Positions.BuyAtPrice(i+1, Количество, Цена, Имя сигнала);


Если количество не меняется, то все управления заявками можно полностью описать значения Условие и Цена. А цену, разумеется,нужно предварительно приводить к шагу цены, тогда и считаться все будет правильно и левых транзакций +/- шаг цены каждый пересчет, из-за того то там в третьем знаке после запятой что-то поменялось.

Наверх
#71796 - Fri Jul 24 2015 02:12 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Kermit]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Originally Posted By: Kermit
Так не бывает, чтобы не было условия. Всегда открытие лимиткой имеет вид
Code:
if (Условие) sec.Positions.BuyAtPrice(i+1, Количество, Цена, Имя сигнала);


Если количество не меняется, то все управления заявками можно полностью описать значения Условие и Цена. А цену, разумеется,нужно предварительно приводить к шагу цены, тогда и считаться все будет правильно и левых транзакций +/- шаг цены каждый пересчет, из-за того то там в третьем знаке после запятой что-то поменялось.



Вы рассматриваете как код, в коде у вас условие, а я рассматриваю алгоритм в визуальном редакторе!)) Поэтому такие недопонимания возникли у нас))))))


Отредактировано Stan (Fri Jul 24 2015 02:12 PM)

Наверх
#71803 - Fri Jul 24 2015 04:14 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Originally Posted By: Ti_ru
Попробовал запустить в таком виде (поправил BuyIfLess на BuyAtPrice и CloseAtProfit на CloseAtPrice).
1. Переменная numOrder всегда равна 0. Даже если убрать условие по типу и по дате. То есть ордеров в таблице скрипт не видит, хотя они есть (в т.ч. активные)
2. Второй цикл с CancelledOrders вызывает ошибку "Не установлен внешний скрипт"

Тогда как его корректно написать, кто знает? Чтобы из таблицы заявок брались корректные данные?

Наверх
#71812 - Fri Jul 24 2015 07:02 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Разобрался на практике
Переменная numOrder всегда равнялась нулю, т.к. я неправильный оператор использовал. Надо ++ вместо +=.
Пришел к выводу, что посчитать количество переставлений заявок таким способом посчитать не получится, т.к. в случае изменения цены заявка в таблице остается прежняя, меняется только ее цена, то есть на биржу мы отправляем в стакан новый ордер, а в таблице ТСЛаб остается прежняя заявка.

Наверх
#71821 - Fri Jul 24 2015 10:06 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
Как быть??

Наверх
#71825 - Sat Jul 25 2015 09:37 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Stan]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Как говорит Kermit - считать количество выставлений новых лимиток, изменений цены и снятие заявок (это будут транзакции, которые учитывает биржа). Все это дело писать либо в кэш (в этом случае данные пропадут при перезапуске программы или ее сбое), либо в файл (в этом случае нам не страшны сбои, но пострадает производительность, не знаю пока насколько).

Наверх
#71831 - Sun Jul 26 2015 12:13 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Почему-то после первого изменения цены в лимитном ордере на открытие позиции при каждом последующем пересчете начинают генерироваться транзакции по изменению текущего лимитного ордера, даже если цена осталась прежней. В логе идет сообщение:
Заявка 238627564 на продажу 5 лотов RIU5 изменена на заявку по цене 85640.

В чем может быть причина (в скрипте используются позиции, а не прямое управление ордерами)


Отредактировано Ti_ru (Sun Jul 26 2015 12:13 PM)

Наверх
#71832 - Sun Jul 26 2015 01:20 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
В частности да если вы скрипт писали не через прямое управление то так и будет, у меня в данном случае сделано в визуале все именно так и происходит ДАЖЕ ЕСЛИ ЦЕНА НЕ ПОМЕНЯЛАСЬ ВСЕ РАВНО ИДЕТ ВЫСТАВЛЕНИЕ СНЯТИЕ ОРДЕРА, поэтому именно такую ситуацию выше я и описывал в диалоге с Kermit.

Наверх
#71833 - Sun Jul 26 2015 01:43 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Stan]
Ti_ru Offline
writer

Registered: Sun Oct 17 2010
Записи: 479
Но ведь это неправильно, зачем генерировать лишние транзакции, если ничего не изменилось. Мне кажется, где-то недоработка в программе. Тем более, что до первого изменения цены в заявке, все нормально. Может кто из специалистов пояснит.

ПС: расчет уровня для выставления новой лимитки обрабатывается с помощью метода RoundPrice, который округляет цену до минимального шага цены текущего инструмента.


Отредактировано Ti_ru (Sun Jul 26 2015 01:45 PM)

Наверх
#71835 - Sun Jul 26 2015 03:25 PM Re: Подсчет количества лимитных заявок и сделок по ним [Re: Ti_ru]
Stan Offline
veteran

Registered: Wed Oct 02 2013
Записи: 1357
эх. надо изучать API. А за метод округление спасибо. У меня где то был такой вариант, но в торги его не пробовал запускать ))))

Наверх
Page 2 of 2 < 1 2


Moderator:  ViL, sar