Финансовая лаборатория

Биржевая торговля и торговые роботы


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

WealthScript предлагает целый набор методов для того, чтобы контролировать как отображается графическая информация. Вы можете отображать на графике индикаторы, создавать на графике новые области, добавлять на график текст, примечания и графические объекты к барам, включая даже полноценные рисунки.

Painting The Chart in the Wealth-Lab

Как только у Вас появится необходимость выполнить с помощью программного кода графические задачи в окне с графиками, смело открывайте рубрику "Cosmetic Chart" в справочнике "QuickRef" (F11) для того, чтобы отыскать соответствующую функцию.

Области графика (Chart Panes)

На графике располагаются три типа областей, но каждая из них является объектом ChartPane.

Область цены (Price Pane)

Ряды данных (OHLC) баров отображаются в области цен. Это отображение соответствует выбранному стилю графика.

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

Область объема (Volume Pane)

Объемы (Bars.Volume) отображаются на графике в виде гистограммы в области объемов. По умолчанию, все окна стратегии с графиком имеют область объемов, которая обозначается в коде стратегии как VolumePane.

Индивидуальные области (Custom Panes)

Все прочие области графика являются индивидуальными областями. Они создаются в коде стратегии с помощью метода CreatePane(), который возвращает объект типа ChartPane.

Как: создать индивидуальную область на графике

Для того, чтобы создать индивидуальную область на графике, вызовите метод CreatePane(). В примере создается три индивидуальных области на графике - две выше области цен и одна ниже области объемов. Должны ли создаваемые индивидуальные области графика отображаться выше или ниже областей цены и объема - указывается с помощью соответствующих параметров метода CreatePane().

Пример (как выполнить пример приведенного кода)...

protected override void Execute()
{
   bool abovePricePane = true; //выше области цен? Да!
   bool displayGrid = true; //отображать сетку? Да!

   //Создаем первую индивидуальную область графика

   ChartPane myCustomPane1 = CreatePane(40, abovePricePane, displayGrid); //рисуем первую индивидуальную область на графике выше области цен и с сеткой
   DrawLabel(myCustomPane1, "Индивидуальная область графика №1", Color.Black); //делаем надпись на первой индивидуальной области цен

   // Создаем вторую индивидуальную область графика

   displayGrid = false; // отображать сетку? Нет!
   ChartPane myCustomPane2 = CreatePane(40, abovePricePane, displayGrid);
   DrawLabel(myCustomPane2, "Индивидуальная область графика №2", Color.Black);

   // Создаем третью индивидуальную область графика

   abovePricePane = false; //выше области цен? Нет!
   ChartPane myCustomPane3 = CreatePane(40, abovePricePane, displayGrid);
   DrawLabel(myCustomPane3, "Индивидуальная область графика №3", Color.Black);
}

В результате этого примера получится вот такой график:

Области графика в программе Велс ЛАб

Области графика в программе Wealth-Lab

Обратите внимание на то, что если область цены и область объема существуют на графике в программе Wealth-Lab автоматически по умолчанию, то индивидуальные области один, два и три мы отобразили сами с помощью программного кода. Причем их расположение относительно области цены мы выбрали сами. Также мы определили, что сетка будет отображаться в индивидуальной области №1, а в индивидуальной области №2 и №3 сетка не отображается.

Как: скрыть область объема на графике

Возможно, что Ваша стратегия не предполагает работы с объемами. Поэтому визуальное отображение объемов будет только отвлекать и занимать лишнее место на графике. В программе Велс Лаб существует возможность скрыть область объемов с графика стратегии.

Для того, чтобы скрыть область объемов, нужно просто вызвать метод HideVolume() из любого места кода стратегии.

Пример (как выполнить пример приведенного кода)...
protected override void Execute()
{
   HideVolume(); // метод, позволяющий скрыть область объемов на графике.
}

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

Рубрики: Painting the Chart, WealthScript

Комментариев: 5

  1. [...] Построение графиков в программе Wealth-Lab при помощи WealthScr…  Главная  Как получить доступ ко второму [...]

  2. [...] 2. На выбор: Если ряды данных не должны отображаться на графике в области цен либо в области объема, создать индивидуальную область на графике. [...]

  3. Евгений пишет:

    А как скрыть область цены? Если мне не нужна цена а нужны только мои индикаторы.
    Спасибо!

    • Дмитрий Власов пишет:

      Евгений, это очень интересный вопрос… Но ответ я знаю.
      Нужно создать новую область на графике, и процент для этой области поставить очень большой (например 1000% от ширины облати цены или больше). В результате область, где отображается цена “сдавится” в очень узкую полоску, которую вообще не будет видно. Если есть другие области цен, то их ширину тоже нужно сделать большой.

Оставить комментарий