Индикатор Gelium_Trend (TradeStation).

История изменений

26.09.2016 Опубликована версия Gelium_Trend_2016.11.04 для TradeStation 9.1 build 12880 (Update 29).
26.09.2016 Опубликована версия Gelium_Trend_2016.09.26 для TradeStation 9.1 build 12880 (Update 29).
02.02.2016 Опубликована версия Gelium_Trend_2016.02.02 для TradeStation 9.1 build 12880 (Update 29).
09.04.2014  Опубликована версия Gelium_Trend_2014.04.08 для TradeStation 9.1 build 12738 (Update 26).
27.03.2014  Опубликована версия Gelium_Trend_2014.03.27 для TradeStation 9.1 build 12738 (Update 26).
24.03.2014  Опубликована версия Gelium_Trend_2014.03.21 для TradeStation 9.1 build 12738 (Update 26).
20.08.2013 Опубликована версия Gelium_Trend_2013.08.20 для TradeStation 9.x.

Скачать.

Изменение в версии 2016.11.04:
  • Учтен реверс в одном большом баре с пробитием основания движений в обе стороны.
  • Пробой основания движения вызывает реверс, независимо от параметров MinBars. Чтобы не нарушать логику сигналов, контроль MinBars вынесен на уровень Gelium_Trader. Скриншоты и подробности можно прочесть на форуме.
  • Для того чтобы не нарушать работу старых версий МТС, новая функция имеет название Gelium_Trader_1610.
Изменение в версии 2016.09.26:

Список изменений в версиях

Изменение в версии 2016.02.02:
  • Исправлен реверс после баров с размерностью H-L >= TrendSize.
Изменение в версии 2014.04.08:
  • Добавлен параметр px_ShowPriceLine для отображения горизонтальной линии на уровне текущей цены, как это сделано в MetaTrader.
Изменение в версии 2014.03.27:
  • Добавлен параметр px_ShowParamsY, устанавливающий координату отступа для вывода используемых параметров размерности тренда.
  • Улучшено удаление повторяющихся размерностей движений.
Изменение в версии 2014.03.21:
  • Внесены поправки для обновления размера последнего движения на каждом тике в TradeStation 9.1 build 12738 (Update 26).
  • Улучшено удаление повторяющихся размерностей движений.
  • Добавлен вывод используемых параметров размерности тренда в верхний левый угол окна с графиком.
  • Добавлены параметры p1(2)_SmallInterval, p1(2)_SmallTrendSize для выбора размерности тренда в зависимости от интервала графика.
  • Добавлены параметры p1(2)_FontName, p1(2)_FontSize для установки шрифта текста с размерностью движений.
  • Цвет линий и текста пока берется из параметров p1(2)_LineColor.
Изменение в версии 2013.08.20:
  • Исправлена лишняя смена направления на одном большом баре при обновлении индикатора на каждом тике.
  • Исправлена ошибка смены направления на больших барах.
Изменение в версии 2013.05.24:
  • Исправлена ошибка смена направления и учета опорных экстремумов при использовании параметров p1(p2)_MinBars.
  • Добавлен параметр pm_Models для включения/отключения отображения всех моделей.
  • Добавлено выделение модели 4w.
  • Исправлена ошибка указания размера текущего движения в уведомлении.
  • Решена проблема пропадания последних линий и подписей при обновлении значений индикатора внутри бара на каждом тике.
  • Добавлены параметры для индикации моделей pm_Model_xxx. Работа по индикации моделей не завершена, поэтому описание параметров пока не приводится.
Изменения в версии 2013.04.30:
  • Добавлена обработка разворота в одном большом баре (подробнее).
  • Добавлены параметры p1(p2)_MinBars, которые вводят временное ограничение для трендовых движений (подробнее).
  • Добавлены параметры p1(p2)_Alert_Reverse, которые включают отправку оповещения, когда меняется направление тренда.
  • Исправлены ошибки отрисовки линий и текста.
Для пользователей MetaTrader4 есть очень усечённая версия в виде индикатора ZigPips. Изменения в ZigPips версии 2012.06.07, сделанные участником форума Pavik:
  • Эту версию индикатора можно несколько раз с разными настройками накладывать на инструмент, чтобы получить несколько разных зигзагов.
  • Добавлен вывод значения ReversalPips в левый верхний угол экрана. Если на графике несколько индикаторов, то они конфликтуют и каждый переписывает это значение.
  • Добавлено автоматическое определение ReversalPips. Если при установке индикатора значение ReversalPips=0, то на таймфрейме меньше М30 ReversalPips=35, от М30 до Н1 ReversalPips=70, больше Н1 ReversalPips=140.
  • Исправлена ошибка создания все новых и новых одних и тех же объектов при каждом открытии нового бара.

Описание индикатора.

Индикатор Gelium_Trend, бывший gp_Mount, отображает на графике наклонными трендовыми линиями движения, большие или равные соответствующим порогам в пунктах (параметры p1(p2)_TrendSize). В отличие от предыдущей версии, индикатор Gelium_Trend имеет ряд отличий:
  • Добавлена обработка разворота в одном большом баре, размерность которого больше или равна порогу разворота (параметры p1(p2)_TrendSize). При этом разворот учитывается только тогда, когда последнее возможное внутридневное движение (H-C) или (C-L) не могут означать движение большее или равное трендовому порогу в прежнем направлении.

  • Добавлены параметры ограничения минимального числа баров в трендовом движении p1(p2)_MinBars. Если последнее движение цены имеет необходимый размер для разворота, но не имеет достаточное число баров (временное ограничение), разворот не происходит до тех пор, пока не будет достигнуто достаточное число баров. Исключение из этого правила: если установлен экстремум в противоположном направлении, который выходит за пределы начального экстремума текущего направления. Например, если текущее движение было вверх от цены 1.3000 до цены 1.3150 и цена резко опустилась ниже начальной точки восходящего движения к уровню 1.2950, разворот вниз учитывается независимо от числа баров в новом нисходящем движении.
Для изменения цвета линий и подписей значений, необходимо изменить цвет для серии данных с названием Trend1, Trend2 в настройках окна свойств индикатора (вкладка Color/Цвет).

Индикатор полезен в следующих случаях:
  1. Наклонные трендовые линии позволяют на графике определять основные модели теханализа.

  2. Последовательное уменьшение размерности движений в одном направлении и увеличение размерности движений в противоположном направлении позволяют увидеть падение скорости текущего тренда, которое очень часто приводит к смене основного направления тренда или началу коррекции.

  3. Точное значения размерности движения позволяют определить его соответствие тому или иному торговому условию.

  4. Использование индикатора в МТС позволяет программировать торговлю по практически любым моделям теханализа.


Параметры индикатора.

Параметр Назначение
p1_TrendSize(160) Минимальный размер тренда в пунктах, который необходим для смены направления.
Если значение <= 0, график не строится. В предыдущих версиях этому параметру соответствовал параметр p1_Mount.
p1_SmallInterval(30) Для временных интервалов, меньших или равных параметру p1_SmallInterval, в качестве размерности тренда будет использоваться параметр p1_SmallTrendSize. Исходя из приведенных параметров, для баров 30 минут и менее, будет браться размер тренда 40 пунктов, а не 160.
p1_SmallTrendSize(40) Размер тренда в пунктах для малых временных интервалов.
p1_MinBars(1) Минимальное число баров в новом движении, которое необходимо для изменения направления тренда (подробнее).
p1_MinBarsLeft(0) Минимальное число баров в противоположном направлении, после которого должен быть установлен новый максимальный контрэкстремум, чтобы произошел реверс в другом направлении.

Например, имеем восходящий тренд с TrendSize=150 и MinBarsLeft=10. Откат вниз на двух барах на 180 пунктов не вызовет смену направления вниз, так как число баров в откате меньше 10. Для смены направления потребуется, чтобы слева было снижение не менее 10 баров и снижение было больше максимального отката вниз с начала восходящего тренда. Если снижение после 10 баров составит 160 пунктов, смена направления не произойдет, так как не преодолен первый краткосрочный откат на 180 пунктов. Если снижение после 10 баров составит 190 пунктов, произойдет смена направления, так как преодолен первый краткосрочный откат на 180 пунктов.
p1_Text(1) 1 = отображать размер движений на графике.
p1_TextOtstup(150) Отступ текста от экстремума в пунктах.
p1_SizeMustMin(0) Для отображения значения размера движения, размер движения должен быть меньше заданного числа.
p1_SizeMustMax(0) Для отображения значения размера движения, размер движения должен быть больше заданного числа.
p1_Alert_Reverse(0) 1 = создавать оповещение (Alert) об изменении направления тренда.
p1_PaintBar(0) 1 = окрашивание баров (используется Plor3 и Plot4).
p1_PaintBarUp(Blue) Цвет окраски баров для движения вверх.
p1_PaintBarDown(Red) Цвет окраски баров для движения вниз.
p1_SavePath("") Путь с закрывающим слэшем для экспорта данных в csv-файл. Например, "c:\my-files\".

p1_FontName
("Lucida Console")

Шрифт для отображения подписи размера движения.
p1_FontSize(8) Размер шрифт для отображения подписи размера движения.
p1_LineColor("Blue") Цвет линий и текста.
p2_TrendSize(240) Минимальный размер движения в пунктах. Если значение <= 0, график не строится.
p2_SmallInterval(30) Для временных интервалов, меньших или равных параметру p1_SmallInterval, в качестве размерности тренда будет использоваться параметр p1_SmallTrendSize. Исходя из приведенных параметров, для баров 30 минут и менее, будет браться размер тренда 100 пунктов, а не 240.
p2_SmallTrendSize(100) Размер тренда в пунктах для малых временных интервалов.
p2_MinBars(1) Минимальное число баров в новом движении, которое необходимо для изменения направления тренда (подробнее).
p2_MinBarsLeft(0) Минимальное число баров в противоположном направлении, после которого должен быть установлен новый контрэкстремум, чтобы произошел реверс в другом направлении.

Например, при значении MinBarsLeft=3, откат вниз на одном баре с возвратом за второй бар назад не будет реверсом. Для реверса потребуется, чтобы слева было снижение не менее 3 баров.
p2_Text(1) 1 = отображать размер движений на графике.
p2_TextOtstup(150) Отступ текста от экстремума в пунктах.
p2_SizeMustMin(0) Для отображения значения размера движения, размер движения должен быть меньше заданного числа.
p2_SizeMustMax(0) Для отображения значения размера движения, размер движения должен быть больше заданного числа.
p2_Alert_Reverse(0) 1 = создавать оповещение (Alert) об изменении направления тренда.
p2_FontName
("Lucida Console")
Шрифт для отображения подписи размера движения.
p2_FontSize(10) Размер шрифт для отображения подписи размера движения.
p2_LineColor("DarkRed") Цвет линий и текста.
px_ShowParams Если px_ShowParams = 1, в левом верхнем углу выводятся используемые значения параметров размерности тренда.
px_ShowParamsY Отступ по вертикали для вывода используемых значений параметров размерности тренда.
px_ShowPriceLine Если px_ShowPriceLine = 1, на графике отображается обноляемая горизонтальная линия на уровне текущей цены.

Подробное описание новых параметров будет опубликовано после полного завершения разработки.

Для души и разума.

Петров пришел во вторник на совещание. Ему там вынули мозг, разложили по блюдечкам и стали есть, причмокивая и вообще выражая всяческое одобрение. Начальник Петрова, Недозайцев, предусмотрительно раздал присутствующим десертные ложечки. И началось.

Далее...

— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?

— Конечно, — говорит Недозайцев. Он директор, и всегда готов взвалить на себя проблему, которую придется нести кому-то из коллектива. Впрочем, он тут же уточняет: — Мы же это можем?

Начальник отдела рисования Сидоряхин торопливо кивает:

— Да, разумеется. Вот у нас как раз сидит Петров, он наш лучший специалист в области рисования красных линий. Мы его специально пригласили на совещание, чтобы он высказал свое компетентное мнение.

— Очень приятно, — говорит Морковьева. — Ну, меня вы все знаете. А это — Леночка, она специалист по дизайну в нашей организации.

Леночка покрывается краской и смущенно улыбается. Она недавно закончила экономический, и к дизайну имеет такое же отношение, как утконос к проектированию дирижаблей.

— Так вот, — говорит Морковьева. — Нам нужно нарисовать семь красных линий. Все они должны быть строго перпендикулярны, и кроме того, некоторые нужно нарисовать зеленым цветом, а еще некоторые — прозрачным. Как вы считаете, это реально?

— Нет, — говорит Петров.

— Давайте не будем торопиться с ответом, Петров, — говорит Сидоряхин. — Задача поставлена, и ее нужно решить. Вы же профессионал, Петров. Не давайте нам повода считать, что вы не профессионал.

— Видите ли, — объясняет Петров, — термин «красная линия» подразумевает, что цвет линии — красный. Нарисовать красную линию зеленым цветом не то, чтобы невозможно, но очень близко к невозможному...

— Петров, ну что значит «невозможно»? — спрашивает Сидоряхин.

— Я просто обрисовываю ситуацию. Возможно, есть люди, страдающие дальтонизмом, для которых действительно не будет иметь значения цвет линии, но я не уверен, что целевая аудитория вашего проекта состоит исключительно из таких людей.

— То есть, в принципе, это возможно, мы правильно вас понимаем, Петров? — спрашивает Морковьева.

Петров осознает, что переборщил с образностью.

— Скажем проще, — говорит он. — Линию, как таковую, можно нарисовать совершенно любым цветом. Но чтобы получилась красная линия, следует использовать только красный цвет.

— Петров, вы нас не путайте, пожалуйста. Только что вы говорили, что это возможно.

Петров молча проклинает свою болтливость.

— Нет, вы неправильно меня поняли. Я хотел лишь сказать, что в некоторых, крайне редких ситуациях, цвет линии не будет иметь значения, но даже и тогда — линия все равно не будет красной. Понимаете, она красной не будет! Она будет зеленой. А вам нужна красная.

Наступает непродолжительное молчание, в котором отчетливо слышится тихое напряженное гудение синапсов.

— А что если, — осененный идеей, произносит Недозайцев, — нарисовать их синим цветом?

— Все равно не получится, — качает головой Петров. — Если нарисовать синим — получатся синие линии.

Опять молчание. На этот раз его прерывает сам Петров.

— И я еще не понял... Что вы имели в виду, когда говорили о линиях прозрачного цвета?

Морковьева смотрит на него снисходительно, как добрая учительница на отстающего ученика.

— Ну, как вам объяснить?.. Петров, вы разве не знаете, что такое «прозрачный»?

— Знаю.

— И что такое «красная линия», надеюсь, вам тоже не надо объяснять?

— Нет, не надо.

— Ну вот. Вы нарисуйте нам красные линии прозрачным цветом.

Петров на секунду замирает, обдумывая ситуацию.

— И как должен выглядеть результат, будьте добры, опишите пожалуйста? Как вы себе это представляете?

— Ну-у-у, Петро-о-ов! — говорит Сидоряхин. — Ну давайте не будем... У нас что, детский сад? Кто здесь специалист по красным линиям, Морковьева или вы?

— Я просто пытаюсь прояснить для себя детали задания...

— Ну, а что тут непонятного-то?.. — встревает в разговор Недозайцев. — Вы же знаете, что такое красная линия?

— Да, но...

— И что такое «прозрачный», вам тоже ясно?

— Разумеется, но...

— Так что вам объяснять-то? Петров, ну давайте не будем опускаться до непродуктивных споров. Задача поставлена, задача ясная и четкая. Если у вас есть конкретные вопросы, так задавайте.

— Вы же профессионал, — добавляет Сидоряхин.

— Ладно, — сдается Петров. — Бог с ним, с цветом. Но у вас там еще что-то с перпендикулярностью?..

— Да, — с готовностью подтверждает Морковьева. — Семь линий, все строго перпендикулярны.

— Перпендикулярны чему? — уточняет Петров.

Морковьева начинает просматривать свои бумаги.

— Э-э-э, — говорит она наконец. — Ну, как бы... Всему. Между собой. Ну, или как там... Я не знаю. Я думала, это вы знаете, какие бывают перпендикулярные линии, — наконец находится она.

— Да конечно знает, — взмахивает руками Сидоряхин. — Профессионалы мы тут, или не профессионалы?..

— Перпендикулярны могут быть две линии, — терпеливо объясняет Петров. — Все семь одновременно не могут быть перпендикулярными по отношению друг к другу. Это геометрия, 6 класс.

Морковьева встряхивает головой, отгоняя замаячивший призрак давно забытого школьного образования. Недозайцев хлопает ладонью по столу:

— Петров, давайте без вот этого: «6 класс, 6 класс». Давайте будем взаимно вежливы. Не будем делать намеков и скатываться до оскорблений. Давайте поддерживать конструктивный диалог. Здесь же не идиоты собрались.

— Я тоже так считаю, — говорит Сидоряхин.

Петров придвигает к себе листок бумаги.

— Хорошо, — говорит он. — Давайте, я вам нарисую. Вот линия. Так?

Морковьева утвердительно кивает головой.

— Рисуем другую... — говорит Петров. — Она перпендикулярна первой?

— Ну-у...

— Да, она перпендикулярна.

— Ну вот видите! — радостно восклицает Морковьева.

— Подождите, это еще не все. Теперь рисуем третью... Она перпендикулярна первой линии?..

Вдумчивое молчание. Не дождавшись ответа, Петров отвечает сам:

— Да, первой линии она перпендикулярна. Но со второй линией она не пересекается. Со второй линией они параллельны.

Наступает тишина. Потом Морковьева встает со своего места и, обогнув стол, заходит Петрову с тыла, заглядывая ему через плечо.

— Ну... — неуверенно произносит она. — Наверное, да.

— Вот в этом и дело, — говорит Петров, стремясь закрепить достигнутый успех. — Пока линий две, они могут быть перпендикулярны. Как только их становится больше...

— А можно мне ручку? — просит Морковьева.

Петров отдает ручку. Морковьева осторожно проводит несколько неуверенных линий.

— А если так?..

Петров вздыхает.

— Это называется треугольник. Нет, это не перпендикулярные линии. К тому же их три, а не семь.

Морковьева поджимает губы.

— А почему они синие? — вдруг спрашивает Недозайцев.

— Да, кстати, — поддерживает Сидоряхин. — Сам хотел спросить.

Петров несколько раз моргает, разглядывая рисунок.

— У меня ручка синяя, — наконец говорит он. — Я же просто чтобы продемонстрировать...

— Ну, так может, в этом и дело? — нетерпеливо перебивает его Недозайцев тоном человека, который только что разобрался в сложной концепции и спешит поделиться ею с окружающими, пока мысль не потеряна. — У вас линии синие. Вы нарисуйте красные, и давайте посмотрим, что получится.

— Получится то же самое, — уверенно говорит Петров.

— Ну, как то же самое? — говорит Недозайцев. — Как вы можете быть уверены, если вы даже не попробовали? Вы нарисуйте красные, и посмотрим.

— У меня нет красной ручки с собой, — признается Петров. — Но я могу совершенно...

— А что же вы не подготовились, — укоризненно говорит Сидоряхин. — Знали же, что будет собрание...

— Я абсолютно точно могу вам сказать, — в отчаянии говорит Петров, — что красным цветом получится точно то же самое.

— Вы же сами нам в прошлый раз говорили, — парирует Сидоряхин, — что рисовать красные линии нужно красным цветом. Вот, я записал себе даже. А сами рисуете их синей ручкой. Это что, красные линии по-вашему?

— Кстати, да, — замечает Недозайцев. — Я же еще спрашивал вас про синий цвет. Что вы мне ответили?

Петрова внезапно спасает Леночка, с интересом изучающая его рисунок со своего места.

— Мне кажется, я понимаю, — говорит она. — Вы же сейчас не о цвете говорите, да? Это у вас про вот эту, как вы ее называете? Перпер-чего-то-там?

— Перпендикулярность линий, да, — благодарно отзывается Петров. — Она с цветом линий никак не связана.

— Все, вы меня запутали окончательно, — говорит Недозайцев, переводя взгляд с одного участника собрания на другого. — Так у нас с чем проблемы? С цветом или с перпендикулярностью?

Морковьева издает растерянные звуки и качает головой. Она тоже запуталась.

— И с тем, и с другим, — тихо говорит Петров.

— Я ничего не могу понять, — говорит Недозайцев, разглядывая свои сцепленные в замок пальцы. — Вот есть задача. Нужно всего-то семь красных линий. Я понимаю, их было бы двадцать!.. Но тут-то всего семь. Задача простая. Наши заказчики хотят семь перпендикулярных линий. Верно?

Морковьева кивает.

— И Сидоряхин вот тоже не видит проблемы, — говорит Недозайцев. — Я прав, Сидоряхин?.. Ну вот. Так что нам мешает выполнить задачу?

— Геометрия, — со вздохом говорит Петров.

— Ну, вы просто не обращайте на нее внимания, вот и все! — произносит Морковьева.

Петров молчит, собираясь с мыслями. В его мозгу рождаются одна за другой красочные метафоры, которые позволили бы донести до окружающих сюрреализм происходящего, но как назло, все они, облекаясь в слова, начинаются неизменно словом «Блять!», совершенно неуместным в рамках деловой беседы.

Устав ждать ответа, Недозайцев произносит:

— Петров, вы ответьте просто — вы можете сделать или вы не можете? Я понимаю, что вы узкий специалист и не видите общей картины. Но это же несложно — нарисовать какие-то семь линий? Обсуждаем уже два часа какую-то ерунду, никак не можем прийти к решению.

— Да, — говорит Сидоряхин. — Вы вот только критикуете и говорите: «Невозможно! Невозможно!» Вы предложите нам свое решение проблемы! А то критиковать и дурак может, простите за выражение. Вы же профессионал!

Петров устало изрекает:

— Хорошо. Давайте я нарисую вам две гарантированно перпендикулярные красные линии, а остальные — прозрачным цветом. Они будут прозрачны, и их не будет видно, но я их нарисую. Вас это устроит?

— Нас это устроит? — оборачивается Морковьева к Леночке. — Да, нас устроит.

— Только еще хотя бы пару — зеленым цветом, — добавляет Леночка. — И еще у меня такой вопрос, можно?

— Да, — мертвым голосом разрешает Петров.

— Можно одну линию изобразить в виде котенка?

Петров молчит несколько секунд, а потом переспрашивает:

— Что?

— Ну, в виде котенка. Котеночка. Нашим пользователям нравятся зверюшки. Было бы очень здорово...

— Нет, — говорит Петров.

— А почему?

— Нет, я конечно могу нарисовать вам кота. Я не художник, но могу попытаться. Только это будет уже не линия. Это будет кот. Линия и кот — разные вещи.

— Котенок, — уточняет Морковьева. — Не кот, а котенок, такой маленький, симпатичный. Коты, они...

— Да все равно, — качает головой Петров.

— Совсем никак, да?.. — разочарованно спрашивает Леночка.

— Петров, вы хоть дослушали бы до конца, — раздраженно говорит Недозайцев. — Не дослушали, а уже говорите «Нет».

— Я понял мысль, — не поднимая взгляда от стола, говорит Петров. — Нарисовать линию в виде котенка невозможно.

— Ну и не надо тогда, — разрешает Леночка. — А птичку тоже не получится?

Петров молча поднимает на нее взгляд и Леночка все понимает.

— Ну и не надо тогда, — снова повторяет она.

Недозайцев хлопает ладонью по столу.

— Так на чем мы остановились? Что мы делаем?

— Семь красных линий, — говорит Морковьева. — Две красным цветом, и две зеленым, и остальные прозрачным. Да? Я же правильно поняла?

— Да, — подтверждает Сидоряхин прежде, чем Петров успевает открыть рот.

Недозайцев удовлетворенно кивает.

— Вот и отлично... Ну, тогда все, коллеги?.. Расходимся?.. Еще вопросы есть?..

— Ой, — вспоминает Леночка. — У нас еще есть красный воздушный шарик! Скажите, вы можете его надуть?

— Да, кстати, — говорит Морковьева. — Давайте это тоже сразу обсудим, чтобы два раза не собираться.

— Петров, — поворачивается Недозайцев к Петрову. — Мы это можем?

— А какое отношение ко мне имеет шарик? — удивленно спрашивает Петров.

— Он красный, — поясняет Леночка.

Петров тупо молчит, подрагивая кончиками пальцев.

— Петров, — нервно переспрашивает Недозайцев. — Так вы это можете или не можете? Простой же вопрос.

— Ну, — осторожно говорит Петров, — в принципе, я конечно могу, но...

— Хорошо, — кивает Недозайцев. — Съездите к ним, надуйте. Командировочные, если потребуется, выпишем.

— Завтра можно? — спрашивает Морковьева.

— Конечно, — отвечает Недозайцев. — Я думаю, проблем не будет... Ну, теперь у нас все?.. Отлично. Продуктивно поработали... Всем спасибо и до свидания!

Петров несколько раз моргает, чтобы вернуться в объективную реальность, потом встает и медленно бредет к выходу. У самого выхода Леночка догоняет его.

— А можно еще вас попросить? — краснея, говорит Леночка. — Вы когда шарик будете надувать... Вы можете надуть его в форме котенка?..

Петров вздыхает.

— Я все могу, — говорит он. — Я могу абсолютно все. Я профессионал.


Pavel Gelium 2000-2017 © All rights reserved.