Михаил Филимонов (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 След.
Экспорт по DDE таблицы Купить/продать
 
Совершенно не понятно зачем раз в 10 сек. выводить все строки из таблицы, да еще которые не изменяются в течении сессии???

00000 26.07.2023 03:29:03.239 --> risk
00001 26.07.2023 03:29:03.239 --> risk
00002 26.07.2023 03:29:03.239 --> risk
...............................................................
00155 26.07.2023 03:29:03.286 --> risk
00156 26.07.2023 03:29:03.286 --> risk
00157 26.07.2023 03:29:03.286 --> risk
00158 26.07.2023 03:29:03.286 --> risk

00163 26.07.2023 03:29:13.271 --> risk
00164 26.07.2023 03:29:13.273 --> risk
00165 26.07.2023 03:29:13.273 --> risk
..............................................................
00319 26.07.2023 03:29:13.306 --> risk
00320 26.07.2023 03:29:13.306 --> risk
00321 26.07.2023 03:29:13.306 --> risk
Экспорт по DDE таблицы Купить/продать
 
Добрый день, разработчики.

Почему, при экспорте таблицы  по DDE "Купить/продать" только с 4 колонками, а именно
1=Инструмент
2=Код инструмента
3=D long
4=D short
Передается огромное количество строк, ведь ничего не меняется в течении сессии?
Вывод "строчит" даже ночью. Зачем?

Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
Add risk : 26.07.2023 2:32:07
LUA и PIPE
 
Цитата
swerg написал:
Цитата
Михаил Филимонов написал:
ведь в LUA есть принудительная задержка в 1 мс.  
Занятное утверждение. На чем оно основано?
function main(  )
 sleep(1)
end
LUA и PIPE
 
Цитата
Nikolay написал:
LUA и PIPE
А, вообще, вывод по Pipe быстрее происходит, чем по DDE, ведь в LUA есть принудительная задержка в 1 мс. ?  
LUA и PIPE
 
Спасибо
LUA и PIPE
 
Добрый день!
Есть ли в LUA стандартная поддержка именных каналов:(Pipe)?
Если да, то можно пример?
Прерывание экспорта по DDE
 
Цитата
nikolz написал:
Относительно халявы для QUIK на луа сложно сказать.
Можете посмотреть мой тест
https://forum.quik.ru/forum10/topic7909/
это рабочая болванка для робота
При приходе сделки формирует все параметры для заявки по инструменту.
===============
Если надо что-то конкретное и не сложное, напишите, нарисую.
Спасибо, конечно, но в ветке написано, что есть проблемы,
тогда как у меня все работает.
Я открыл эту тему, чтобы понять Квик шалит, или в моем приложении
есть косяк. Приложение получилось большое (более 8 000 строк кода), возможно у меня где-то недочет.
Пользователям trans2quik.dll на заметку!
 
Цитата
Kalmar написал:
Цитата
Михаил Филимонов написал:
1024 советника  и 4194304 (4 миллиона) заявки в день для каждого из них.

Дело в том, чтоMDI приложении работают одновременно от 97- до 134 роботов.
Мне тоже кажется, что можно 9 бит использовать под идентификатор советника - 512 значений более чем достаточно.
Оставшиеся 22 можно использовать под TransID.
Знаковый (старший) бит не трогаем, чтобы не было переполнения.
И никаких проблем.

Цитата
Михаил Филимонов написал:
Потом, переписал под DWORD
Т.е. сейчас никакой проблемы нет?
Да, все работает нормально
Прерывание экспорта по DDE
 
Цитата
nikolz написал:
Выбирайте на свой вкус и цвет.
Понятно, а где взять примеры на Луа, чтобы что-то выбрать?
Очень не хочется разбираться в мертвом LUA
Пользователям trans2quik.dll на заметку!
 
Цитата
Kalmar написал:
end;
И, собственно все. Имя фьючерса здесь никак не учитывается.
А два младших байта (1й и 0й) видимо дают 65535 вариантов TransID-ов.

Это никак не объясняет происхождение числа 0x83917001, из первого поста.
По вышеприведенной логике 0x83 - это номер робота? - это 131, уже переполнение.
Но 2й байт - 0х91 - не похож на месяц/год.
Да и 0х7001 - 28673я транзакция?

Возможно где-то еще что-то примешивается?
Дело в то том, что я много пишу на MQL, там wdTransID - это Magic, объявленный как ULong
Вот я, по привычке, для Квик использовал ULong, посылая Ulong я получал кастрированный Long/
Потом, переписал под DWORD
Пользователям trans2quik.dll на заметку!
 
Цитата
nikolz написал:
Хочу поинтересоваться, что дает запись кода фьючерса в id.
если можно, то интересует численная оценка выигрыша относительно целочисленного id.
Номера советников можно написать в старших байтах.
Я так раньше делал.
Типа 32 бита в итоге
1024 советника  и 4194304 (4 миллиона) заявки в день для каждого из них.
------------------------
Чего уж проще.
Дело в том, чтоMDI приложении работают одновременно от 97- до 134 роботов.
Ордера я отсылаю асинхронно.
При генерации dwTransID каждым из роботов, неизбежно дублирование ID,
поэтому нужно делать уникальные ID
Прерывание экспорта по DDE
 
 Квик я пишу на Паскале (Дедфи), а вообще-то мне все-равно на каком языке писать
Прерывание экспорта по DDE
 
Цитата
nikolz написал:
экспорта куда?

В мое приложение
На сколько я понимаю
схемы выглядит так
Скрипт Луа - DLL - Собственное приложение
Прерывание экспорта по DDE
 
Цитата
nikolz написал:
Цитата
Михаил Филимонов написал:
 
Цитата
nikolz  написал Вы экспортируйте своим сервером в свою прогу или  сервером Excel  в таблицу Excel.
------------------
У меня свой сервер для скрипта луа, вроде нет проблем.
 
А возможно из луа экспортировать таблицу "Купить/Продать", которая в Квике составляется из таблицы "Клиентский портфель" ?
в луа можно получить это :
getPortfolioInfo   -Функция предназначена для  получения значений параметров таблицы «Клиентский  портфель» , соответствующих идентификатору участника торгов «firmid» и коду  клиента
и это
getBuySellInfo  -  Функция предназначена для  получения параметров таблицы «Купить/Продать».    
А где взять пример экспорта из скрипта Луа?  
Прерывание экспорта по DDE
 
Цитата
nikolz написал Вы экспортируйте своим сервером в свою прогу или  сервером Excel  в таблицу Excel.
------------------
У меня свой сервер для скрипта луа, вроде нет проблем.

А возможно из луа экспортировать таблицу "Купить/Продать", которая в Квике составляется из таблицы "Клиентский портфель" ?
Прерывание экспорта по DDE
 
Цитата
nikolz написал:
Цитата
Михаил Филимонов написал:
 
Цитата
Anzhelika Belokur  написал:
 Михаил Филимонов  , добрый день.

Уточните, настроены ли фильтры в таблице  "Текущие торги"? Если да, то какие? А так же поясните подробнее, что значит "пропадает экспорт"? Для наглядности желательно со скриншотами.
 Добрый вечер!

Фильтров нет (таблица по умолчанию)
В таблице 100 фьючерсов, при начале работы все данные по фьючерсам из таблицы экспортируются, а через некоторое время (бывает минуты, бывает 1 - 2 часа)
перестают экспортироваться данные по произвольным инструментам.
Данные других фьючерсов передаются.
Нет никаких ошибок и зависаний.
Сегодня обновился до 10,0,1,18 все тоже самое.  
Невозможно представить скриншот, странно, что Вы не знаете, что в такой ситуации скриншот бесполезен.

К участникам форума
У меня только такое поведение терминала, при выводе данных по DDE ?
Вы экспортируйте своим сервером в свою прогу или  сервером Excel  в таблицу Excel.
------------------
У меня свой сервер для скрипта луа, вроде нет проблем.
Экспорт ведется в свое приложение.
 
Прерывание экспорта по DDE
 
Цитата
Anzhelika Belokur написал:
Михаил Филимонов, добрый день.

Уточните, настроены ли фильтры в таблице  "Текущие торги"? Если да, то какие? А так же поясните подробнее, что значит "пропадает экспорт"? Для наглядности желательно со скриншотами.
Добрый вечер!

Фильтров нет (таблица по умолчанию)
В таблице 100 фьючерсов, при начале работы все данные по фьючерсам из таблицы экспортируются, а через некоторое время (бывает минуты, бывает 1 - 2 часа)
перестают экспортироваться данные по произвольным инструментам.
Данные других фьючерсов передаются.
Нет никаких ошибок и зависаний.
Сегодня обновился до 10,0,1,18 все тоже самое.  
Невозможно представить скриншот, странно, что Вы не знаете, что в такой ситуации скриншот бесполезен.

К участникам форума
У меня только такое поведение терминала, при выводе данных по DDE ?
Пользователям trans2quik.dll на заметку!
 
Вот так, для Квик, генерится Trans ID
function CalcTransID(const Data: string; const idx: integer): Dword;
var
 k, z: integer;
 Value: Dword;
 month, year: string;
begin
 if(idx < 0) then
 begin
   result:= 0;
   exit;
 end;
 k:= Pos('-', Data);
 z:= Pos('.', Data);
 month:= Copy(Data, k + 1, z - k - 1);
 year:= Copy(Data, z + 1, Length(Data) - z);
 if(TryStrToInt(month, k) = true) then
 begin
   Value:= k;
   if(TryStrToInt(year, k) = true) then
   begin
     Value:= Value + k;
     result:= (idx shl 24);
     Result:= Result + Value shl 16;
   end else result:= 0;
 end else result:= 0;
end;
А так берется, при отправке ордера
TTRansID = packed record
   ID: Dword;
   Value: Dword;
 end;

FTransAction: TTRansID;

function TExpert.GetTransID;
begin
 FTransAction.Value:= TransAction.Value + 1;
 if(TransAction.Value >= 65530) then FTransAction.Value:= 0;
 result:= TransAction.ID + TransAction.Value;
end;

Пишу для Квик на Паскале (Delphi XE4)
Пользователям trans2quik.dll на заметку!
 
Добрый день!

Фьючерсы имеют имя не боле 6 байт
Вы правильно все поняли. В старших 6 байтах имя символа а младшие байты служат для генерации уникальных ID.
Если имя меньше, н-р RTS, то 4 байт просто не заполняется.
В случае с MQL мне достаточно 1 байта для генерации уникальных ID для каждого советника.
В Квик мне нужно более 256 переборов. При отсылке ордера к существующему ID прибавляется 1, если значение = 4096,
то счетчик "обнуляется".
Я переделал под Квик генерацию ID.
К сожалению, я сейчас не дома и не могу выложить код генерации
Пользователям trans2quik.dll на заметку!
 
Вот здесь, код (MQL5) как реализован dwTransID

https://www.mql5.com/ru/forum/401229/page4#comment_44579294

 
Пользователям trans2quik.dll на заметку!
 
Цитата
Kalmar написал:
Наконец-то добрался чтобы проверить.
1. Мое сообщение  #2 говорило о том, что DWORD и LONG одно и тоже. Я не внял что сыр-бор изза знаковости.
2. Проверил, да, квик через транс2квик обрезает dwTransID если он больше "максимально положительного LONG".

Но, при этом в документации написано (см. скрин) "Указатель типа Long", т.е. никто не обещаел что с числом будут обращаться как с беззнаковым.
Согласен, что есть расхождение в прототипе, и описании, и наверное это все-таки баг.

Но, признайтесь честно, вы уже подаете 2млрд. транзакций в течении одного торгового дня, и вам не хватает знакового диапазона чтобы покрыть свои нужды?
Или тут принципиальный момент?
Добрый день!
Дело в том, что я Генерирую автоматически dwTransID на основе имен фьючерсов,
В старших байтах DWORD хранится имя фьючерса, а два младших байта 4096 вариантов dwTransID за торговый день.
А в моем приложении работают от 99 до 134 экспертов (роботов), каждый из них использует свой (уникальный) dwTransID.
Прерывание экспорта по DDE
 
Добрый день!
Экспортирую таблицу "Текущие торги" с фьючерсами по DDE
При запуске, все экспортируется нормально, но иногда, через несколько минут или часов,
пропадает экспорт по одному или нескольким фьючерсам.
Версия Квик 9,7,1,10
Это только у меня такое поведение Квик:?
Пользователям trans2quik.dll на заметку!
 
Посылаемый DWORD больше положительной части LONG, trans2quik (без ошибки) сам кастрирует DWORD до максимально положительного LONG!!!
Пользователям trans2quik.dll на заметку!
 
Внезапно....
Внимательно читаем...


Сами внимательно посмотрите на вложенный файл. И немного пошевелим мозгами!
Посылаем DWORD, а возвращается Long (максимально положительная часть)
Пользователям trans2quik.dll на заметку!
 
В файле trans2quik_api.h

dwTransID объявлен как DWORD  ( TRANS2QUIK_TRANSACTION_REPLY_CALLBACK и  TRANS2QUIK_ORDER_STATUS_CALLBACK)

На самом деле там LONG (положительные значения)

Пишу, так как все-равно исправлять не будут...
Колбек trade_status_callback вызывается несколько раз по одной сделке
 
А в order_status_callback могут быть дублирующие вызовы?
Название столбца таблицы
 
Добрый день.
Я использую два экземпляра с одинаковыми версиями Квик.
В одинаковых таблицах имеются одинаковые столбцы, но их названия отличаются.
Н-р В одной таблице столбец называется "Макс. возм. цен.", а в другом экземпляре Квик
этот же столбец называется "Макс.возм.цена".

Возможно ли редактировать названия столбцов в таблицах?
Если да, то как это сделать?
В каком файле дистрибутива Квик находятся названия столбцов таблицы?
Лимитированная заявка на Срочной секции
 
Боевой КВИК в Открытии
Лимитированная заявка на Срочной секции
 
Господа разработчики!
Пожалуйста, дайте пояснения по следующей ситуации.
Подается лимитированная заяка через Trans2quik с целью купить инструмент по указанной цене или снять заявку, если цена "ушла".
Параметры заявки

outStr:= 'ACCOUNT=' + FutAccaunt + '; TYPE=L; TRANS_ID=' + id +
          '; CLASSCODE=' + ExpData.FutData.ClassCode + '; SECCODE=' +
          ExpData.FutData.SecCode + '; ACTION=NEW_ORDER; OPERATION=' + s +
          '; EXECUTION_CONDITION=KILL_BALANCE' + '; PRICE=' + FloatToStr(price) +
          '; QUANTITY=' + FloatToStr(Qnty) + ';';

TYPE=L - лимитированная заявка, должна исполнится по цене, указанной в заявке
EXECUTION_CONDITION=KILL_BALANCE'  - если этой цены (или лучшей) нет, то заявка должна сняться.
Посылаю заявку на покупку с ценой 4927, а она исполняется по разным ценам, причем, не по тем, что указана в заявке.
Что я не так делаю?
Фондовая секция и trans2quik
 
Господа разработчики!
Возможна ли ситуация, когда я получаю TRANS2QUIK_ORDER_STATUS_CALLBACK, что сделка была совершена, но
на самом деле в терминале этой сделки нет?
Удаление отложенного ордера через trans2quik
 
Скажите, почему частично исполненный ордер (стоит с стакане), при его удалении не вызывается
TRANS2QUIK_ORDER_STATUS_CALLBACK (асинхронная подача приказов) ?
TransId не переносится через ночь., TransId не переносится через ночь.
 
Цитата
Сергей написал:
Здравствуйте..

Хотел поинтересоваться, как там дела с переносом TransId на фортсе? Планируется внедрение?
Еще подскажите, параметр brokerref тоже не переносится?
Еще 10 лет не прошло...
Сообщение об ошибке в trans2quik
 
ЂыЂ
Сообщение об ошибке в trans2quik
 
Добрый день!

На отмену отложенного ордера  в lpcstrTransactionReplyMessage пришло следующее сообщение:
09.11.2022 17:08:26.901 --> Error: ЂыЂ[

ЂыЂ] - переведите, пожалуйста
D long? D short таблицы ""Купить/Продать"
 
Вот, что ответил брокер Открывашка:

Добрый день !

В таблицу «Купить/Продать» можно добавить столбцы «D long» и «D short». Самостоятельно рассчитать это не получится, поскольку согласно регламенту мы устанавливаем перечень ставок риска.

Пользовательская таблица
 
Цитата
Anzhelika Belokur написал:
Правильно понимаем, что Вы хотите иметь таблицу для своих каких-то записей, которые Вы будите вести аналогично блокноту и эта таблица никак не будет обновляться и изменяться терминалом?
Если это так, то мы можем зарегистрировать пожелание на такую доработку.
Вообще-то мне нужно это
https://forum.quik.ru/forum1/topic7700/
Пользовательская таблица
 
Цитата
Anzhelika Belokur написал:
Михаил Филимонов, добрый день.

Цитата
Михаил Филимонов написал:
Можно ли в Квик создать свою таблицу?
В текущей реализации такой возможности нет.
Для чего Вы хотите иметь в QUIK свою таблицу и какая там должна быть информация?
Мне нужны значения D Long D Short, но не из таблицы "Купить/Продать"
Торговый робот для Quick на Delphi, Не работает вывод данные через DDE SERVER
 
Цитата
Артур написал:
Я не прошу чтобы кто-то бесплатно мне что то сдела я заплачу
Вы сделали что хотели?
Посмотрел ваш код, там сплошные ошибки...
D long? D short таблицы ""Купить/Продать"
 
Добрый день!

Возможно ли рассчитать D Long и D Short (таблица "Купить/Продать"),
имея только таблицы "Текущие торги" и "Клиентский портфель"?
Пользовательская таблица
 
Цитата
nikolz написал:
Можно, но желательно в содружестве с головой.
------------
Для справки,
QLUA - это библиотека функций,
написана на СИ
и имеет интерфейс для вызова из скриптов,
написанных на LUA.
---------------
Но если не нравится Lua,
то можете либо писать на любом другом языке.
У меня не стоит задача написать что-то на ЛЮБОМ языка, я задал конкретный вопрос.
Пользовательская таблица
 
Не знаю QLUA и знать не хочу.
Руками можно создать?
Пользовательская таблица
 
Привет!
Можно ли в Квик создать свою таблицу?
Удаление отложенного ордера через trans2quik
 
Цитата
Alexey Danin написал:
Здравствуйте.

Не смогли воспроизвести данную проблему на нашем примере API_Tester_DLG_x64.exe, TRANS2QUIK_ORDER_STATUS_CALLBACK срабатывает на изменение статуса заявки с аналогичными параметрами.
Проверьте, пожалуйста, воспроизводится ли у Вас проблема с TRANS2QUIK_ORDER_STATUS_CALLBACK на нашем примере API_Tester_DLG_x64.exe.
Понятное дело, что не смогли.

Я около 10 лет программирую роботов и нигде не было такого, что для удаления ордера требовался ТО ЖЕ идентификатор транзакции (dwTransID)!
Во всех платформах и терминалах транзакции нумеруются по порядку!

Тикет ордера понятно почему тот же, но транзакция ДРУГАЯ, значит и ее номер должен быть другой!
QUIK-Junior и Фондовая секция
 
Цитата
Karina Dmitrieva написал:
Михаил Филимонов, здравствуйте.

Можем зарегистрировать пожелание на доработку функционала в этом месте.
Уточните, пожалуйста, регистрируем?
Добрый день!
Да, регистрируем.
QUIK-Junior и Фондовая секция
 
Цитата
Karina Dmitrieva написал:
Добрый день, Михаил Филимонов.

Данные моменты связаны с особенностями работы эмулятора учебных торгов на сервере QUIK-Junior.
Добрый день!
Т.е исправлять не будете?
Удаление отложенного ордера через trans2quik
 
Цитата
Alexey Danin написал:
Здравствуйте.

Опишите более подробно Вашу ситуацию, возникают какие-либо ошибки?
Также уточним, что если под "отложенным ордером" Вы подразумеваете условную заявку, то TRANS2QUIK_ORDER_STATUS_CALLBACK не подойдет, так как в текущей версии trans2quik нельзя подписаться на события по стоп-заявкам.  
Как у Вас такой ордер называется?
outStr:= 'ACCOUNT=' + FutAccaunt + '; TYPE=L; TRANS_ID=' + id +
          '; CLASSCODE=' + ExpData.FutData.ClassCode + '; SECCODE=' +
          ExpData.FutData.SecCode + '; ACTION=NEW_ORDER; OPERATION=S' +
          '; EXECUTION_CONDITION=PUT_IN_QUEUE' + '; PRICE=' + FloatToStr(price) +
          '; QUANTITY=' + FloatToStr(Qnty) + ';

Почему-то нет ничего в TRANS2QUIK_ORDER_STATUS_CALLBACK , когда удаляешь этот ордер, но в терминале он удаляется
Удаление отложенного ордера через trans2quik
 
Цитата
Alexey Danin написал:
Да, верно.
А Вы уверены, что правильно подсказываете?
Удаление отложенного ордера через trans2quik
 
Цитата
Alexey Danin написал:
Здравствуйте.


Кроме нее, состояние исполнения заявки можно отслеживать с помощью функции обратного вызова TRANS2QUIK_ORDER_STATUS_CALLBACK.
Вы имеете ввиду это?

nStatus Тип: Long. Состояние исполнения заявки: Значение «1» соответствует состоянию
«Активна», «2» – «Снята», иначе «Исполнена»
Не исполняется ордер на валютной секции
 
Путем тупого подбора параметров, выяснилось, что на валютной секции команда должна выглядеть так:

ACCOUNT=MB0ХХХХХ; CLIENT_CODE=12345/; TYPE=L; TRANS_ID=714080258; CLASSCODE=CETS; SECCODE=CNYRUB_TOM; ACTION=NEW_ORDER; OPERATION=B; PRICE=8.757; QUANTITY=1;COMMENT=12345/;

CLIENT_CODE=12345/  
COMMENT=12345/
Удаление отложенного ордера через trans2quik
 
Добрый день!

Команды отсылаю в асинхронном режиме.
Что может считаться, что ордер удален, приход сообщения в pfTransReplyCB или ещё что-то должно быть?
Страницы: Пред. 1 2 3 4 5 6 7 8 След.
Наверх