Блог им. Kuznez

Помогите подправить скрипт в QPILE

    • 14 октября 2011, 15:01
    • |
    • Kuznez
  • Еще
Добрый день!)
Имеется хорошенький скрипт «Фильтр таблицы всех сделок»: smart-lab.ru/blog/19777.php#comments
нашел на Комоне. Вот код:

PORTFOLIO_EX FILTR;
DESCRIPTION Фильтр таблицы сделок;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;

PROGRAM

'******************************************************************************
' Автор: Beginner
' версия 1.01 09.2009
' Программа фильтрует таблицу всех сделок по акциям Сбербанка
' с заданым объемом .
'
' E-mail: svar4ikov@yandex.ru
'******************************************************************************


NEW_GLOBAL(«Last_Num»,1)

NEW_GLOBAL(«j»,0)

'Очищение таблицы и создание
Tab_Sort=CREATE_MAP()



SecCode=«SBER03» ' бумага
ClassCode=«EQBR» ' класс
QUAN=1000 ' объем

N=GET_NUMBER_OF(«ALL_TRADES») 'получаем кол-во записей

FOR i from Last_Num to N ' Начало цикла
Tab_Trade=GET_ITEM(«ALL_TRADES», i)
IF (GET_VALUE(Tab_Trade, «SecCode»)== SecCode AND GET_VALUE(Tab_Trade, «ClassCode»)== ClassCode)
Q=0+GET_VALUE(Tab_Trade, «QUANTITY»)
IF Q>=QUAN ' Проверка времени

FTime=""&GET_VALUE(Tab_Trade, «TIME»)
TTime=SUBSTR(FTime,0,2)& ":" & SUBSTR(FTime,2,2) & ":" & SUBSTR(FTime,4,2)
Op=""&GET_VALUE(Tab_Trade, «OPERATION»)
TPrice=0+GET_VALUE(Tab_Trade, «PRICE»)

Tab_Sort=SET_VALUE(Tab_Sort,«CodeFut»,Seccode)
Tab_Sort=SET_VALUE(Tab_Sort,«ST_Time»,TTime)
Tab_Sort=SET_VALUE(Tab_Sort, «TPrice», TPrice)
Tab_Sort=SET_VALUE(Tab_Sort, «QUAN», Q)
Tab_Sort=SET_VALUE(Tab_Sort, «Op», Op)
ADD_ITEM(1, Tab_Sort)
j=j+1
IF Op==«Sell»
SET_ROW_COLOR_EX(1,«RGB(255,140,140)», «RGB(255,140,140)», «DEFAULT_COLOR», «DEFAULT_COLOR») '
ELSE
SET_ROW_COLOR_EX(1,«RGB(140,255,140)», «RGB(140,255,140)», «DEFAULT_COLOR», «DEFAULT_COLOR») '
End IF

End IF
End IF
End FOR ' Конец цикла

Last_Num=N+1 ' пресвоим последний номер сделки



END_PROGRAM

PARAMETER CodeFut;
PARAMETER_TITLE CodeFut;
PARAMETER_DESCRIPTION Название фьюч;
PARAMETER_TYPE STRING(32);
END

PARAMETER ST_Time;
PARAMETER_TITLE ST_Time;
PARAMETER_DESCRIPTION Время сделки;
PARAMETER_TYPE STRING(32);
END

PARAMETER TPrice;
PARAMETER_TITLE TPrice;
PARAMETER_DESCRIPTION Цена;
PARAMETER_TYPE NUMERIC(10,2);
END

PARAMETER QUAN;
PARAMETER_TITLE QUAN;
PARAMETER_DESCRIPTION Кол-во;
PARAMETER_TYPE NUMERIC(10,0);
END

PARAMETER Op;
PARAMETER_TITLE Op;
PARAMETER_DESCRIPTION Операция;
PARAMETER_TYPE STRING(32);
END

END_PORTFOLIO_EX


что хотелось бы изменить: дело в том, что таблица котировок считает все позиции собранные в стакане за раз, как отдельные сделки. т.е. покупатель покупает 100 000. а в ленте может быть 20 000+ 5 000+ 75 000. часть из них отфильтруется. останется только 75 000
вот это хреново(((( лента отображает сделки по зарегистрированным заявкам. потому что в одну долю секунды одновременно проходит куча баев например по одной цене. т.е. если в стакане на продажу 50, 15, 45 лотов по одной цене. а кто то купил по рынку 80 — будет в ленте не 80, а 50, 15, 15.
надо скрипт как то подредактировать, чтоб суммировал всю эту бяку вместе, прежде чем фильтровать.
_______
как можно суммировать:
а) считать все баи вместе за каждую конкретную секунду
б) еще лучше — считать все баи подряд до появления первого селла.
аналогично и с продажами.
затем фильтровать уже полученные резулбтаты по объему. цена для суммы прописывается по последней сделке в серии.
-> таким образом можно будет в ленте отфильтровать крупного покупателя/продавца по рынку.
Был бы очень признателен..)



67 | ★3
12 комментариев
В смысле? Ты хочешь, что бы эта программа собирала разрозненные заявки от одного какого-либо контрагента? Или что?
avatar
Henkok, я про то, что крупная покупка по рынку в ленте дробится на множество мелких частей — это исполненные заявки на продажу. принцип ленты такой. считают сделки по стакану. каждую отдельно. не замечали? сяс скрин сделаю.
avatar
это что-то из области искуственного интеллекта. представь какой шум вносит в ленту robot_PRADA и ему подобные «за каждую конкретную секунду»
avatar
vfreeman, не понимаю, что сложного просто складывать все покупки подряд, а потом из полученного фильтровать самые крупные сделки.
avatar
дело в том, эту инфу можно получить только сопоставляя заявки в стакане и принты на ленте. другой скрипт писать нужно.задача не тривиальная.
El-Potifor, посмотрите скрин, я думаю, мне не удалось объяснить на словах, что я имею ввиду.
B S BBB SS B — эти сделки произошли за одну секунду. три В посередине нужно просто сложить и выдать в таблицу за одну сделку. потом сложить два S. это вторая сделка. ну и так далее.
avatar
Kuznez, да я понял, что ты имеешь в виду. Только то что на скрине всего лишь твое предположение. там ордера как угодно могли идти от разных участников.а реализовать это конечно довольно просто, складывая принты каждую секунду.
El-Potifor, принты на бай и селл подряд, подчеркну! меня это устроит. ну так помоги реализовать та?))))
avatar
Kuznez, ту так я та не программист))
если вообще есть информация об ордерах кидаемых по рынку, в чем я сомневаюсь
т.е. если в стакане на продажу 50, 15, 45 лотов по одной цене. а кто то купил по рынку 80 — будет в ленте не 80, а 50, 15, 15.
________________________

Что-то вы мутите господа.)) Если в стакане висит заява на покупку на 10000 предположим и при этом Вася продал по рынку 2000, Петя 3000 а Юра 5000, то лента покажет 2000 продажа, 3000 продажа, 5000 продажа, т.е лента ОТОБРАЖАЕТ СДЕЛКИ ПО РЫНКУ!!!
avatar
getstar, а если наоборот. висят заявы на покупку 2000, 3000, 5000. а кто то продал по рынку 10 000 — будет все равно в ленте 2000, 3000, 5000, а не 10 000.
avatar

Читайте на SMART-LAB:
Фото
EUR/USD выше 1.1570: рынок покупает передышку, а не новую историю роста
Во вторник евро сумел отыграть прежнюю слабость и поднялся выше 1.1570 против доллара, обновив недельные максимумы. На первый взгляд движение...
Фото
Почему люди с депозитом до 10 000 ₽ годами стоят на месте?
Не потому, что денег мало. Маленький счёт не тормозит. Он разоблачает. На таком депозите невозможно долго врать себе. Сразу видно, кто торгует по...
Фото
Число инвесторов RENI достигло 120 тысяч человек по итогам марта 2026 года
Получили свежий отчет Московской Биржи. Количество наших инвесторов в марте выросло на 6 тысяч человек до 120 тысяч, 1,7х рост г/г. Средний размер...
Ваш любимый Мозговой штурм спешит на помощь! Мнение по текущему рынку простыми словами
В нашем рейтинге акций   знаменательное событие! Рекордное число акций с рейтингом 4 — 14 штук!!! И, вероятно, будет еще больше! Сегодня я...

теги блога Kuznez

....все тэги



UPDONW
Новый дизайн