include $_SERVER['DOCUMENT_ROOT'].'/def.php'; ?>
Модуль Спекулянт предназначен для спекулятивной торговли одним фьючерсом. Возможна как ручная, так и автоматическая торговля (на основе набора индикаторов, системы автотейкпрофитов/автостоплоссов, дневных лимитов и планировщика, произвольной стратегии в dll).
Для проверки работы, кроме реального режима работы, предусмотрена работа модуля на основе реальных котировок и стакана, но с виртуальным исполнением заявок (виртуальный режим), а также отладка стратегии на исторических данных.
Для создания нового Спекулянта выберите пункт меню Создать|Спекулянт... (или нажмите кнопку на панели горячих кнопок).
Будет предложено задать инструмент, т.е. код фьючерса, который будет базовым в создаваемом Спекулянте. Если в момент создания Спекулянта связь подключена, то будет предложен список торгуемых фьючерсов с биржи. Если связь отключена, то будет предложен список кодов фьючерсов с предыдущего запуска программы. Если программа запущена впервые и связь не включена, то список будет пуст.
При создании спекулянта необходимо зафиксировать режим его использования. Для работы в виртуальном и реальном режиме должна быть установлена связь и торговля происходит на основе котировок, предоставляемых биржей в режиме реального времени. В виртуальном режиме торговли отправка и выполнение заявок происходит виртуально, а в реальном режиме - соответственно, реально.
Режим Прогон на истории служит для отладки стратегии на исторических данных. Прогон стратегии происходит на тиковых данных, собираемых программой во время ее работы в режиме on-line.
Каждому спекулянту необходимо поставить в соответствие стартовую сумму денег. В режимах торговли Виртуальный и Прогон на истории можно задать любую стартовую сумму. В режиме Реальный стартовая сумма не может быть больше лимита по счету. В режиме on-line, чтобы узнать, какой лимит по счету и какие лимиты у каждого из Спекулянтов, войдите в блок Распределение средств, нажав на кнопку с монетками (в этот же блок можно попасть через меню Связь|Распределение средств).
Окно Спекулянта имеет следующие вкладки:
Панель горячих кнопок окна Спекулянт зависит от режима торговли. Она всегда содержит кнопку вызова настроек данного Спекулянта. В виртуальном или реальном режимах на панели помещены кнопки переключения между автоматическим и ручным способами торговли. В режиме прогона на истории кнопками можно начать прогон, повторить его или остановить.
В статусной сроке внизу окна отражается текущий способ торговли в Спекулянте (автоматический или ручной), включен или выключен прием сигналов от стратегии (в ручном режиме - всегда выключен). Также, в статус-бар записывается последняя строчка лога.
Когда активно такое окно, в главном меню появляется пункт Спекулянт. С его помощью (или кнопок на панели) можно переключать режим торговли (ручной/автоматический), вызывать настройки, а также открыть папку на диске, в которой хранятся все данные/настройки/логи, которые относятся к данному Спекулянту.
На этой вкладке можно вручную торговать инструментом или следить за автоматической торговлей модуля.
На верхнем графике изображаются цены фьючерса (показывается средневзвешенное сделок за бар); эффективность торговли; используемые индикаторы; заявки, поставленные и снятые; совершенные сделки. На нижнем графике отображаются объемы сделок (суммарно за бар).
Справа от графика показывается стакан заявок. Красным цветом отображаются заявки на продажу, зеленым - на покупку. Длина линии соответствует объему заявки. Если объем превышает некоторый предел (по умолчанию 200), то справа от линии пишется размер такой заявки. Промежуток между лучшими котировками закрашивается серым цветом.
Слева от стакана рисуются последние сделки, совершенные за некоторый период (размер этого периода устанавливается в настройках). Чем меньше времени прошло с момента сделки, тем темнее соответствующая линия (черный цвет - самые недавние сделки, белый - самые давние). Справа от стакана рисуется полоска с накопленным объемом сделок за текущую сессию (белый цвет соответствует минимальному объему, чем темнее - тем больше объем, черный - максимальный объем). Эта полоска показывает как бы проторгованность на каждом ценовом уровне (если не нужно - можно ее отключить в настройках).
Когда указатель мыши находится над стаканом, выводится подсказка - над каким ценовым уровнем находится указатель. Под ценой указывается суммарный объем соответствующих заявок (бидов или асков), что позволяет определить по какой цене нужно выставлять заявку, если нужно взять сразу определенный объем. Когда указатель находится над полоской с накопленным объемом сделок, то под ценой указывается точное значение накопленного объема для данного ценового уровня.
С помощью колесика мыши можно прокручивать стакан вверх/вниз. При нажатой и удерживаемой левой кнопки мыши, колесико будет сжимать/растягивать стакан. Прокручивать стакан можно также путем drag'n'drop (захват и перетаскивание мышью по области стакана).
Когда модуль находится в ручном режиме торговли, справа от стакана будет панель с кнопками для торговли. Кнопка с красной стрелкой для выставления заявки на продажу, зеленая - для покупки. Для постановки заявки нужно нажать на соответствующую кнопку, подвести мышку к соответствующему ценовому уровню, при необходимости колесиком мыши можно изменить объем выставляемой заявки (текущий объем заявки пишется рядом с указателем мыши соответствующим цветом) и дважды кликнуть. Для отправки заявки "по рынку" (нужное проскальзывание задается в настройках) можно просто дважды кликнуть по кнопке покупки или продажи.
Для постановки стоп-лосса нужно нажать кнопку со значком стоп и дважды кликнуть на соответствующем ценовом уровне. Если курсор был над зеленой зоной (заявки на покупку), то будет установлен стоп-лосс для лонг-позиции. Если же двойной щелчок был на красной зоне (с заявками на продажу), то будет установлен стоп-лосс для шорт-позиции. Перед выставлением стоп-лосса, можно поменять его тип (фиксированный/следящий; срабатывание по тику/бару/стакану) через всплывающее меню над кнопкой.
Захватывая мышью соответствующий значок в стакане, можно перетаскивать заявки или стоп-лоссы на новое место. Если перед захватом нажать кнопку Ctrl, то будут параллельно перемещены все заявки и стоп-лоссы. Кликая правой кнопкой мыши по такому значку, можно снять заявку или стоп-лосс.
Под стаканом находится инфо-панель, на которой отображается размер текущей позиции, усредненная цена этой позиции, а также доход/убыток модуля с момента последнего запуска.
Слева от графика находится панель управляющих кнопок. Можно менять масштаб графика или увеличивать нужный участок. Включать/отключать показ отдельных функций на графике, а также показ легенд к функциям.
Здесь рисуется график стоимости Спекулянта с момента его создания. По оси X отображается дата/время, включая нерабочие часы, поэтому между результатами за разные дни получаются длинные соединяющие их линии. Справа от графика показываются статистические показатели по портфелю и по сделкам/трейдам (трейдом считается вся совокупность сделок: от открытия позиции, до ее полного закрытия).
В лог пишутся все действия, которые совершались в модуле за последний день. Используя галочки внизу вкладки, можно задавать фильтр - какие действия показывать, какие нет.
Если нужно посмотреть лог за какой-нибудь предыдущий день, можно кликнуть меню Спекулянт|Открыть папку и открыть файл Strat_YYYYMMDD.log за соответствующий день.
Установка автоматического способа торговли в текущем Спекулянте доступна в реальном и виртуальном режиме как с помощью кнопки, так и с помощью меню Спекулянт|Автоматически. Автоматическая торговля осуществляется на основе сигналов от индикаторов или стратегии в DLL. Кроме сигналов, поступаемых от индикаторов, в автоматической торговле выполняются действия от планировщика, обрабатываются тейк-профиты/стоп-лоссы, идет контроль за дневными лимитами для стратегии. В случае превышения заданных лимитов (по прибыли или по убытку) имеющаяся позиция закрывается и автоматическая торговля отключается (перестают обрабатываться сигналы от стратегии).
Обрабатываются или нет сигналы от стратегии отражается на цвете середины кнопки с колесом (кнопки, нажатие на которую приводит к переходу к автоматической торговле): зеленый цвет - сигналы обрабатываются, красный - не обрабатываются. Переход с автоматической торговли к ручной делает цвет красным. При переходе от ручного режима к автоматическому прием сигналов от стратегии всегда включается.
При реализации стоп-лоссов и принудительном закрытии позиции (при поступлении сигнала от планировщика) котировка вычисляется по-другому. Используется проскальзывание (задается в настройках, на вкладке Общие) и цена последней сделки.
Если в настройках отметить галочку Отключать автоторговлю после закрытия позиции, то при следующем закрытии позиции (по тейкпрофиту/стоплоссу, или по сигналу от индикаторов) - автоматическая торговля будет отключена.
Для автоматической торговли могут быть следующие источники сигналов:
На основе встроенных индикаторов можно создать только очень простую и ограниченную стратегию. Она может хорошо работать при определенных условиях, но адаптироваться под изменившийся рынок не сможет.
Напротив, в DLL можно реализовать практически любую стратегию. На вход можно заказать такие данные: тиковые сделки, бары, котировки (там есть информация об открытом интересе) и стакан. После отправки заявки все полностью контролируется (встала в стакан, полное исполнение, частичное исполнение, отказ и т.д.). Попробовать механизм можно на следующей DLL:
Заработать с ее помощью не получится. Она просто для демонстрации возможностей автоматической торговли через подключаемую DLL. При желании, можно заказать у нас разработку DLL с собственной стратегией.Стратегия, используемая для автоматической торговли, основывается на индикаторах, которые входят в состав стратегии. Каждый индикатор может находится в трех состояниях - (-1), 0, (+1). Здесь (-1) означает состояние Продавать, а (+1) - Покупать.
Для каждого индикатора можно указать, как использовать его состояние для суммарного сигнала стратегии. Есть три варианта, отдельно на вход и на выход из позиции: использовать как сигнал, использовать как фильтр или вообще не использовать. Сигнал на вход (или выход) из позиции подается, если все индикаторы, действующие как сигнал, находятся в одинаковом состоянии, а все индикаторы, действующие как фильтр, не находятся в противоположном состоянии. Стратегия является последовательной, без накапливания: если вошли в позицию, то следующий вход происходит только после того, как все позиции закроются.
В обозначения индикатора входит как способ его использования (он записывается в квадратных скобках, сначала для входа, потом для выхода: 2 - сигнал, 1 - фильтр, 0 - не используется), так и параметры индикатора.
Есть возможность установить опцию Выход по сигналу только с прибылью. В этом случае желательно включать стоп-лосс, иначе при неблагоприятном движении цены позиция не будет закрыта при автоматической торговле.
Если подобран такой набор индикаторов, с которым стратегия дает устойчивый убыток, можно отметить вариант Инвертировать сигналы, тогда стратегия будет подавать сигнал на покупку там, где раньше говорила продавать.
На данный момент предлагаются следующие индикаторы:
Первые шесть вариантов - это стандартные индикаторы. Индикатор Уровни отклонения строится следующим образом: за заданное число бар определяется среднее и стандартное отклонение от этого среднего. Уровни отклонения строятся как среднее плюс/минус заданный коэффициент, умноженный на стандартное отклонение.
Индикатор Макрос в Excel позволяет средствами Excel реализовать любой пользовательский индикатор, действующий на основе цен фьючерса внутри текущего дня, собранных программой за время ее работы on-line. Справка по написанию макроса высылается по запросу.
Все индикаторы принимают на вход данные в виде средне-взвешенных цен за 1 бар (размер бара задается в настройках, страница Общие). Для каждого индикатора можно поменять его настройки (параметры). Также для некоторых индикаторов можно указать, изображать этот индикатор на графике с ценами или нет.
Планировщик позволяет устанавливать некоторые действия на заданное время. Задать набор действий и их время можно в Спекулянт|Настройки, страница Планировщик. Планировщик работает только когда включена автоматическая торговля.
На данный момент реализован следующий набор действий:
Все действия, кроме последнего, можно сделать в любой момент вручную через меню Спекулянт.
При создании нового Спекулянта можно выбрать режим торговли - реальный или виртуальный. Для использования реального режима торговли необходимо, чтобы пользователь имел реальный, а не тестовый счет. Соответственно, в реальном режиме торговли контролируется, чтобы сумма лимитов Спекулянтов не превышала лимит счета.
Чтобы торговля в виртуальном режиме или в режиме прогона на истории была больше похожа на торговлю в реальном (когда есть задержки между постановкой заявки и ее исполнением), можно задать величину искусственных задержек в настройках виртуального режима.
Статистические показатели по величине реальных задержек можно посмотреть, выбрав пункт меню Связь|Задержки...
При создании Спекулянта можно выбрать режим торговли Прогон на истории. В таком режиме возможна только автоматическая торговля, при которой котировки и исполнение заявок происходят на основе исторических данных. Тиковые данные собираются во время работы программы в режиме on-line и сохраняются за каждый день в отдельном файле. Окно Спекулянт в режиме Прогон на истории содержит кнопки запуска и повторного прогона/остановки прогона.
При наличии собранных данных, прогон на истории полноценно работает в режиме off-line. Так как в режиме off-line невозможно получить размер гарантийного обеспечения, который нужен для контроля за тем, чтобы не выйти за пределы лимита Спекулянта, в настройках Спекулянта на странице Прогон на истории можно задать размер ГО в процентах.
При запуске прогона появляется окно, в котором нужно выбрать диапазон дат для прогона. В качестве пути к инструменту по умолчанию устанавливается путь к папке, в которую программа записывает собираемые данные. Чтобы выбрать другую папку, нужно формально щелкнуть на любом файле внутри нее. Чтобы узнать, в каком диапазоне есть данные, можно щелкнуть на кнопке установки пути и посмотреть, какие в этой папке есть данные: имя файла содержит дату.
Если поставить галочку Обновлять график, то на каждом баре график окна Спекулянт будет обновляться (что может существенно замедлить прогон). Если этой галочки не стоит, то график появится только после того, как прогон будет завершен.
Окно с настройками Спекулянта вызывается через меню Спекулянт|Настройки или по кнопке с гаечным ключом. Содержит следующие страницы:
| О программе |