Старатель (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 32 33 34 35 36 37 38 39 40 41 42 ... 47 След.
переменная с ошибкой
 
Как-то так?
Код
if c ~= 0 then
  a = b / c
  print(a)
else print("Что я делаю?! Нельзя на ноль делить!") end
Надо делать так, как надо. А как не надо - делать не надо.
Сделайте на графиках разметку начала и конца торгового дня, нужны вертикальные линии, обозначающие время 10:00, 23:45
 
С концом торгового дня проблем нет: последняя свеча в сутках - конец торгового дня.
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
 
Цитата
sam063rus пишет:
не чаще 1р/с происходит в данном случае получение сделки из твс, а оконные сообщения и возможный запрос на полную перерисовку - отправляется на каждый WM_PAINT
Не путайте ТВС с графиками. Повторяю: У меня цена последней сделки на графике обновляется не чаще 1 раза/сек.

Цитата
sam063rus пишет:
происходит - только не отображается - иначе бы при переходе на вкладку - там была бы не актуальная информация в первоначальный момент, и к тому же - есть роботы, индикаторы - они привязаны к графикам -им абсолютно параллельно активна или свёрнута вкладка - им торговать надо.
Мы ведь сейчас говорим о визуальном обновлении графиков, так?
Так вот, роботам без разницы, как расположены свечки на том или ином графике. Данные они берут не с самих "картинок".
Надо делать так, как надо. А как не надо - делать не надо.
Что предпочесть при выборе провайдера VDS ?, многоядерность или оперативки побольше
 
Цитата
Дмитрий пишет:
По-моему терминал всегда использует для работы только 1 ядро, независимо от их количества в процессоре (если не считать работы функций main() в скриптах - про них ничего не могу сказать).
Запустив несколько Lua-скриптов в терминале можно загрузить все доступные ядра процессора на полную.
Но, поскольку все портфели QPILE работают в одном потоке (вот только не помню в основном с самим QUIK или для них создаётся дополнительный поток?), то в 4 ядрах нет никакой необходимости. 2 ядра - под вопросом?
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
 
Цитата
sam063rus пишет:
Цитата
Дмитрий пишет:
Цитата
sam063rus пишет:
положение всех свечек на графике пересчитываются при каждом приходе сделки на график, при масштабировании
Наверное, все-таки не всех, а только тех, которые видны на графике в данный момент. Обычно это меньше, чем 3000.
в этом, наверно соглашусь - бо как не знаю исходную реализацию.
Если это так, то снятие ограничения в 3000 свечей не должно повлиять на производительность, если только не показан весь график целиком.
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
 
Цитата
sam063rus пишет:
поверьте, в современных новомодных операционных системах - не одна сотня процессов/сервисов работает в системе - так что, от этого пока ещё никто не ушёл.
Не надо троллить - вы поняли о чём я. Большинство работающих в фоне процессов/сервисов отъедают менее 10Мб ОЗУ и 0% ЦП.

Цитата
sam063rus пишет:
и не забываем, что положение всех свечек на графике пересчитываются при каждом приходе сделки на график, при масштабировании.
Ну, да, тут вы правы. Но это ничто по сравнению с полигональными моделями в 3D играх, ведь так?
У меня к примеру графики обновляются не чаще 1 раза/сек.
К тому же, возможно я ошибаюсь, но полагаю, что на неактивных вкладках или свёрнутых окнах обновления графиков не происходит.
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
 
Цитата
sam063rus пишет:
покажите мне современную игру - в которой одновременно 3000 "мобов" на уровне.
Под "мобом" вы подразумеваете самостоятельный объект, обладающий "интелектом" и состоящий из десятков а то и сотен полигонов? Какое это отношение имеет к статическому объекту типа "свеча"?
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
 
Разумному человеку не придёт в голову запускать на компьютере одновременно сотню приложений, если на компьютере всего 1Гб памяти. Есть большая вероятность, что Windows, если не "упадёт", то, как минимум, "зависнет".
Так и с QUIK. Вам дают инструмент, а как его использовать - решаете вы сами. Вы можете наоткрывать кучу таблиц/графиков, но если вы переоцените возможности своего компьютера, то результат будет соответствующий.
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Тогда можно предположить следующий алгоритм. Из документации:
Цитата
При выборе пункта меню Настройки/Сохранить настройки в файл, сохраняются все значения из таблицы Settings в wnd-файл.
При загрузке настроек из файла, модуль qchart получает от модуля qlua список индикаторов и автоматически создает индикатор по его имени.
При этом имя самого файла Lua-индикатора не сохраняется. Поэтому при создании индикатора последовательно перебираются файлы из папки LuaIndicators, пока не будет найден индикатор с именем Settings.Name.
Поиск, очевидно, происходит путём их запуска.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Цитата
Олег Хуснутдинов пишет:
теоретически, обновлён (дописан/удалён) может быть любой параметр, кроме ключевых (ключевые это Номер заявки, Дата торгов, Код класса).
Т.е., возможна такая ситуация, когда OnOrder может прийти, скажем, с незаполненным параметром account, balance или sec_code? И какое в этом случае будет значение параметра: nil или ""/0 в зависимости от типа?
И в этом случае не стоит бить тревогу? Или стоит?

Цитата
Олег Хуснутдинов пишет:
даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть и не является аномалией
То, что OnTrade может вызываться более одного раза - я в курсе: при переключении на другой сервер или очистке данных (файл trades.dat, как я понимаю). В каких ещё ситуациях OnTrade по одной сделке может вызываться более одного раза?
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Цитата
sam063rus пишет:
т.е. - я вообще ничего не делал: я просто кинул его в папку LuaIndicators и включил квик - в итоге, не будучи ни на одном графике - он сам запустился.
Да, действительно. Если на графике добавлен хоть один Lua-индикатор, то при старте QUIK будут запускаться все скрипты из папки LuaIndicators. Причём столько раз, сколько открыто Lua-индикаторов. Это ещё один повод, чтобы вне колбеков ничего лишнего не размещать.
Цитата
sam063rus пишет:
но он всё-равно запускается. И причём, несколько раз

Очевидно, у вас добавлено несколько Lua-индикаторов на графиках.
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Выше, глагол "добавлении" используется в настоящем времени несовершенного вида, т.е. указанные действия выполняются в момент добавления индикатора на график.
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
Цитата
sam063rus пишет:
Запускаются "автоматом", при старте квика (чем не основа для вирусописательства?)
Вы можете привести конкретный пример скрипта, который не будучи добавленным на график автоматически запускается при старте QUIK?
Надо делать так, как надо. А как не надо - делать не надо.
QLua-Indicators SandBox Internals
 
1. Не стоит размещать в папке LuaIndicators никаких файлов, кроме самих индикаторов, поскольку при добавлении любого индикатора каждый файл в этой папке сканируется минимум два раза:
Цитата
При добавлении нового индикатора на график плагин qlua сканирует папку LuaIndicators, проверяет файлы с расширением lua и luac (скомпилированные скрипты lua) [брехня! проверяются все файлы. Примеч. автора, т.е. меня] на соответствие следующим требованиям
2. Не стоит делать в теле индикатора (вне функций) что-либо, кроме объявления таблицы Settings, поскольку эти действия также будут выполняться минимум два раза при добавлении любого индикатора. Лучше сделать инициализацию в Init()

3. Если очень хочется, то вместо getScriptPath() можно использовать
Код
getWorkingFolder().."\\LuaIndicators"
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Николай Камынин пишет:
Это результаты на моем реальном счете
и соответственно рабочем сервере в реальном времени.
В таком случае, вам надо настроить интервал обновления данных, чтобы не вводить людей (и себя в первую очередь) в заблуждение своими тестами.
Информация как настроить есть в указанной выше мной теме. Почитайте, не ленитесь.  ;-)
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Дмитрий пишет:
Не Транзак случайно?
Он самый. Вы можете скачать демку с сайта и сразу подключиться к демо-торгам.
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Цитата
sam063rus пишет:
Если расхождение между локальным и серверным временем > 1 сек то это простой способ определить нагрузку на канал брокера.
Наблюдал расхождение между локальным временем и серверным более 40 сек. Это расхождение было не в течение какого-то короткого времени, а нескольких дней. Причём наблюдалось не только у меня.
Так что считать разницу между локальным и серверным временем - это простой способ определить несинхронизованность локального времени вашего компьютера и времени сервера QUIK у брокера, не более.
Цитата
sam063rus пишет:
Но, если параметры не соответствуют "ожиданиям" - то, нет смысла торговать в это время
По одному счёту могут быть запущены несколько торговых роботов. Либо вестись торговля руками. Так что, в общем случае, текущая позиция по счёту может и не совпадать с ожиданиями робота.
Надо делать так, как надо. А как не надо - делать не надо.
Индикатор адекватности системы биржа/Квик, давайте поразмыслим
 
Цитата
lergen пишет:
Не отображались изменения позиций по срочному рынку.
В смысле, при покупке/продаже контрактов не изменялись позиции по клиентским счетам? Такие проблемы на бирже часто случаются.
Очевидно, текущую позицию нужно считать в каждом роботе самостоятельно, а не полагаться на биржу. И при большом расхождении значений отправлять уведомления по sms и e-mail. И копию отправлять брокеру и на биржу, чтоб не расслаблялись.  :D
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Цитата
sam063rus пишет:
Цитата
Старатель пишет:
на случай "потери" части свечей сервером
а как робот поймёт, что это "потеря", а не неликвид?
А как человек это понимает (если заметит, конечно  :) )? Наверное, надо прописать какой-то алгоритм. Хотелось бы услышать, какие варианты можно использовать.

Цитата
sam063rus пишет:
для себя - сделал таблицу: критичных и некритичных параметров, а также контроль так сказать целостности данных на случай намеренного и ненамеренного "технического сбоя"
Можете подробнее описать, каким образом вы реализуете контроль целостности данных?
Цитата
sam063rus пишет:
Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются
Вот тут не понятно. Какие ошибки таким образом вы пытаетесь устранить?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Там, если покопаться, много чего интересного можно найти. Вот, например, инструмент линейка, о котором пользователи QUIK просят несколько лет; процентная шкала:

Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Старатель пишет:
установил терминал одного из "конкурентов" Квика, который является его ровесником. И что же? Визуально - тот же самый QUIK, только отстал на несколько лет...
Хотя и у "отсталого" терминала есть чему поучиться. Вот, например, как выглядит настройка свойств трендовой линиии:

Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
sam063rus пишет:
Хотя стать Вашим конкуреном - дело весьма небольшого времени.
Да вот, к сожалению, что-то не видно этих конкурентов-то. Каких вы можете назвать потенциальных конкурентов?
По вашим оценкам, сколько нужно времени, чтобы создать конкурентоспособный программный продукт с нуля. И какие для этого потребуются финансовые ресурсы?

Не поленился: установил терминал одного из "конкурентов" Квика, который является его ровесником. И что же? Визуально - тот же самый QUIK, только отстал на несколько лет...

Цитата
sam063rus пишет:
моя компания - мне прмо предложила - если сделаете софт нетолько для клиентов НО!!! и для брокеров - они поддержат.
sam063rus, вашу энергию, да, как говорится, в нужное русло.
Вы могли бы объединить талантливых программеров-энтузиастов для разработки такого ПО.
От себя могу предложить тестирование данного продукта. Думаю, сотрудники ARQA не в восторге от моих тестирований.  :D  Я уже сам сбился со счёта, сколько багов, они обещали мне исправить.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
sam063rus пишет:
поставлена задача - дать пользователям полный доступ из квика- к архивным данным (из папки Archive) - и что мы видим?
А ыидим мы - тысячу и одну отговорок.
Видимо, функционал этот платный. И, если дать пользователям возможность работать с архивом графиков, то у брокеров отпадёт необходимость в его покупке.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Только не архивных, а "склеенных" *маленькое уточнение, с Вашего позволения.
Можете сделать скрин, как это выглядит?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
На наш взгляд в данном случае имеется некоторое недопонимание, не более того
Значит, брокер не достаточно информирован об этой возможности.
Я и говорю, донесите до сведения брокеров, что трансляция архивных графиков "на ваш взгляд не создаёт серьёзной нагрузки для серверов."
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Цитата
Старатель пишет:
Цитата
Alexey Ivannikov пишет:
На наш взгляд в этом нет ничего критичного.
В таком случае вы можете довести это до брокеров либо сделать возможным открывать графики в QUIK из архива?
Добрый день.

Брокерские компании знают о такой возможности, но, как Вы понимаете, у нас нет возможности заставлять их это делать.
Я говорю не про саму возможность трансляции брокером архивных графиков (понятно, что брокер в курсе). Я говорю про:
Цитата
Alexey Ivannikov пишет:
Цитата
Старатель пишет:
Но вот брокер не хочет этого делать, мотивируя тем, что это создаёт большую нагрузку на сервер. Это действительно так?
Большую или не большую - это оценочные категории. На наш взгляд в этом нет ничего критичного.
Либо вы лукавите про нагрузку на сервер, либо брокер откровенно врёт, чтобы не делать лишней для себя работы.
Короче, кто-то из вас не прав.
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
На наш взгляд в этом нет ничего критичного.
В таком случае вы можете довести это до брокеров либо сделать возможным открывать графики в QUIK из архива?
Надо делать так, как надо. А как не надо - делать не надо.
Графики фьючерсов
 
Цитата
Alexey Ivannikov пишет:
Это не трудно - попросить Вашего брокера их "склеивать".
Ну, да, попросить не трудно.
Но вот брокер не хочет этого делать, мотивируя тем, что это создаёт большую нагрузку на сервер. Это действительно так?
Надо делать так, как надо. А как не надо - делать не надо.
Какая последняя версия заявки (стоп-заявки) в Orders и OnOrder ?
 
В OnOrder всегда будет последняя "версия" заявки, имеющаяся в распоряжении клиентского терминала.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Николай Камынин пишет:
Но вот простой пример, который дает на правильный ответ
Звучит, как "А сейчас я расскажу вам всю правду..." Ну, ну, ага.  :D
Цитата
Николай Камынин пишет:
Но делать вывод что onParam быстрее, когда вызов OnQuote в 2 раза чаще - это прикольно.
Это тем более забавно, когда вы делаете выводы на основе данных с игрового сервера.
Надо делать так, как надо. А как не надо - делать не надо.
не соответствует время
 
Цитата
s_mike@rambler.ru пишет:
когда вы спрашиваете сервертиме, то получаете время в момент прихода запроса на сервер. Далее оно возвращается вам.
Никакой запрос никуда не отправляется. "SERVERTIME" вы получаете вместе с приходом параметров из ТТП. И оно корректируется на разницу времени, прошедшего с момента его прихода. А в остальном всё верно.
В этом легко убедиться, убрав из списков принимаемых параметров все "галки". Время сервера продолжит тикать синхронно с вашими часами. Но после переподключения к серверу "SERVERTIME" уже не отображается.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Николай Камынин, это вы на демке тестили?  :D
Вот результаты на боевом сервере.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Цитата
Старатель пишет:
Кстати, в строке 0 не работают события QTABLE_LBUTTONUP и QTABLE_RBUTTONUP
techsupport, вы бы как-то отреагировали что ли.
Надо делать так, как надо. А как не надо - делать не надо.
Не отображаются график
 
Цитата
sam063rus пишет:
можете также нажать правую кнопку мыши на легенде графика и выбрать "Заменить инструмент"
Не надо так. Лучше из "Параметров текущего окна"
Надо делать так, как надо. А как не надо - делать не надо.
Не отображаются график
 
to techsupport: У меня в папке archive сохранились файлы SPBFUT_RIH5_Х.dat. Почему нельзя открыть графики по данному инструменту?
Сделайте возможность открывать графики архивных инструментов.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Ответ будет?
Цитата
Старатель пишет:
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
sam063rus пишет:
Но, спрашивается, кому нужен стакан, несоответствующи реальному timestamp.
С одной стороны, да. А с другой, может кто-то сохраняет историю стакана.
Может, стоит сделать настройку: если на сервере скопилась очередь OnQuote, то, в зависимости от этой настройки выдавать на рабочее место либо всю очередь в хронологическом порядке (как сейчас) либо только последнее состояние стакана.
Надо делать так, как надо. А как не надо - делать не надо.
SQL в Lua
 
Цитата
Старатель пишет:
Сейчас использую SQLite 3 через LuaSQL .
Надо делать так, как надо. А как не надо - делать не надо.
SQL в Lua
 
Какую БД и библиотеку лучше использовать в Lua?
Сейчас использую SQLite 3 через LuaSQL. Но есть проблемы при одновременном доступе к БД из разных потоков/скриптов даже при чтении.
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок и классы, Не все классы стали отображаться в новых версиях. Как исправить?
 
Что за ошибка? Связана с какими-то частными настройками прав пользователя в Administrator? Или ошибка общего характера и проявляется у всех пользователей?
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Alexandr Shumilin пишет:
В общих чертах можно сказать, что "как правило" соблюдается следующий порядок рассылки на клиентские места QUIK — таблица текущих параметров, котировки, сделки, заявки, стоп-заявки, лимиты, графики, все-сделки.
Вот тут у меня есть сомнения: графики обновляются с большой задержкой по сравнению с ТВС. Хотя это может быть результатом частного случая настройки частоты обновлений графиков на сервере. В моём случае частота обновлений графиков - примерно 1 раз/сек.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Максим пишет:
Так OnParam на кучу всего реагирует, так что частота не показатель.
Цитата
Максим пишет:
И ещё, у вас же в скрипте хитрость - если между двумя вызовами OnQuote действительно стакан может несколько раз туда-сюда сходить, то вы на второй вызов ничего не напечатаете, т.к. best bid/offer "те же".
Частоту вызовов OnParam и OnQuote имеет смысл сравнивать только при изменении одинаковых параметров. В данном случае при изменении bid/offer. Поэтому я написал так, как написал - сравниваем только те колбеки, которые дают новую котировку bid/offer. По другому никак.

Цитата
Максим пишет:
Может статься, что в OnParam показывается вообще не та же котировка, что потом покажется в OnQuote.
А по логу разве не видно, что в большинстве случаев OnQuote приносит туже котировку, что до этого нам показал OnParam?
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Цитата
Максим пишет:
Сомнительные выводы из эксперимента (что непременно через OnParam надо котировки доставать). Там разница в пределах погрешности измерения + время на вызов колбека.
Ну наконец-то хоть кто-то решил оспорить мои выводы. Парирую:
Да, действительно, в большинстве случаев разница небольшая. Среднее значение за рассматриваемый период порядка 22 мс. Но погрешность тут ни при чём: и без времени видно, что в большинстве случаев OnParam даёт котировку раньше.
Цитата
Максим пишет:
Кроме того, в привидённом примере есть запись, противоречащая (по крайней мере на первый взгляд) утверждению о последовательности
Есть такая запись. Но это единственный случай из приведённого фрагмента лога, когда OnQuote оказывается "быстрее".

Очевидно, OnParam, как и OnAllTrade, приходят "пачками". Немного подчистил лог, удалив из него близкие по времени записи OnParam:
Скрытый текст
Не трудно заметить, что помимо того, что OnParam приходит раньше (в большинстве случаев), но и несколько чаще (незначительно, но факт).
Уверен, это зависит от настроек сервера. Поэтому у каждого могут быть свои результаты.
Но в моём случае, очевидно, работа с OnParam позволит раньше, пусть и ненамного, среагировать на изменение котировок.
Надо делать так, как надо. А как не надо - делать не надо.
коды событий поворотов колеса мыши SetTableNotificationCallback
 
Кстати, в строке 0 не работают события QTABLE_LBUTTONUP и QTABLE_RBUTTONUP
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Кстати, я специально даю фрагменты кода, чтобы каждый мог самостоятельно проверить на своём рабочем месте и опровергнуть мои доводы. Пока этого никто не сделал.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Цитата
Старатель пишет:
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Цитата
Michael Bulychev пишет:
На практике такой схемы работы не встречается, но теоретически придумать ее возможно.
Озвучьте, пожалуйста свою мысль.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
 
Это значит, что после такого колбека обязательно должен прийти OnOrder с заполненным UID?
Какие ещё параметры могут быть не заполненными в колбеках OnOrder, OnTrade? Можете отметить их в руководстве.
Надо делать так, как надо. А как не надо - делать не надо.
Скорость получения данных OnParam OnQuote
 
Скрипт выводит в лог последнюю котировку bid/offer из OnParam и OnQuote:
Скрытый текст
У меня результаты следующие:
Скрытый текст
Из лога видно, что OnParam даёт информацию об изменении котировки раньше.
Надо делать так, как надо. А как не надо - делать не надо.
Вопросы по совместной работе, quik junior и доске опционов., Два пользователя за одним терминалом. Программный доступ к доске опционов ...
 
Меню "Избранное" в профиле не хватает.
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 32 33 34 35 36 37 38 39 40 41 42 ... 47 След.
Наверх