How to http://www.wealth-lab.net/home.aspx http://www.rssboard.org/rss-specification mojoPortal Blog Module 120 no Открывать позиции в WLD с защитой стопом

В примерах стратегий часто можно видеть такие конструкции:

Position p = BuyAtLimit(bar + 1, Close[bar]);
if (p != null)
{
 SellAtLimit(bar + 1, p, p.EntryPrice + DEVIATION1);
 SellAtStop(bar + 1, p, p.EntryPrice - DEVIATION2);
}

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

В квике есть заявки типа с условием «по исполнению».

Заявки «по исполнению» представляют собой условные заявки, условием активации (начала проверки их стоп-цены сервером QUIK) которых является исполнение определенной активной заявки (далее называемой «заявкой-условием»). Такие заявки могут применяться, например, для закрытия позиции по инструменту, открываемой данной активной заявкой.

Исполнение одной активной заявки может вызывать активацию нескольких заявок «по исполнению» разных типов.

Как выставить такие заявки в Квик при торговле через наш адаптер можно прочитать в разделе Community.


Admin  ...Tweet This
]]>
http://www.wealth-lab.net/open-position-wld-with-stop-limit.aspx http://www.wealth-lab.net/open-position-wld-with-stop-limit.aspx http://www.wealth-lab.net/open-position-wld-with-stop-limit.aspx Tue, 21 Aug 2012 12:30:00 GMT
Закрывать позиции в WLD В примерах стратегий часто встречается код для закрытия позиции вида:

Position p = LastPosition;

if(!SellAtStop(bar+1, p, stopPrice)) SellAtLimit(bar+1, p, limPrice);

На истории такая конструкция - заглядывание в будущее, если сначала проверять стоп, а затем торговать лимит - на больших движениях в первую очередь будет фиксироваться убыток, если переставить методы SellAtStop и SellAtLimit в прмере местами - то будет фиксироваться прибыль, если бар пробил и уровень stopPrice и уровень limPrice.


В реальности, чтобы проверить оба уровня на каком-то временном интервале(наприер с 10:00 до 10:10) надо выставить 2 заявки в квик, и ждать какая из них сработает. Желательно после срабатывания первой отменить вторую, т.к. иначе они обе могут сработать. Для этого в квике есть заявки «Со связанной заявкой».

Из хелпа квика:

«Со связанной заявкой» – это две заявки по одному и тому же инструменту, одинаковые по направленности и объему. Первая заявка типа «Стоп-лимит», вторая – лимитированная заявка. При исполнении одной из заявок вторая снимается. Этот тип поручений также называют «O.C.O.» (one cancel other, «одна заявка отменяет другую»).

Как использовать их в торговле через наш адаптер? Читайте в разделе Community.


Admin  ...Tweet This
]]>
http://www.wealth-lab.net/close-position-at-wld.aspx http://www.wealth-lab.net/close-position-at-wld.aspx http://www.wealth-lab.net/close-position-at-wld.aspx Wed, 15 Aug 2012 11:55:00 GMT
Настройка параметров стратегии

При созданиии стратегии вы можете создать несколько параметров стратегии, на основании которых, например, будут считаться различные индикаторы. Для этого вам нужно сделать следующие:

class MyStrategy : WealthScript 
{ 
 //Create parameters 
   private StrategyParameter param1; 
   private StrategyParameter param2; 
   public MyStrategy ()
   {
    param1= CreateParameter("Param1", 20, 1, 100, 1); 
    param2= CreateParameter("P", 50, 20, 300, 5);
   }
   protected override void Execute() 
   {
    //Do something 
   }
}

При этом в левом нижнем углу появится ползунок, с помощью которого можно плавно изменять значения параметров:


Alex  ...Tweet This
]]>
http://www.wealth-lab.net/tuning-strategy-parameters.aspx http://www.wealth-lab.net/tuning-strategy-parameters.aspx http://www.wealth-lab.net/tuning-strategy-parameters.aspx Wed, 15 Aug 2012 06:52:00 GMT
Синхронизация времени При торговле по расписанию(в велсе так работает монитор стратегий), важно, чтобы локальное время компьютера было установлено корректно. В Windows для этого есть специальный сервис синхронизации времени. Важно отметить, что для домашних компьютеров(не входящих в домен), частота синхронизации времени состовляет 1 неделю. За день ваше локальное время может уйти на 10 секунд и более(зависит от качества материнской платы). Для уменьшения периода синхронизации необходимо выполнить следующие шаги:

  • Установить в реестре значение ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
    W32Time\TimeProviders\NtpClient\SpecialPollInterval = 3600
    (это период эквивалентный 1 часу)
  • Запустить сервис синхронизации времени (в русской редакции Служба времени Windows)

Почитать подробнее например тут.


Admin  ...Tweet This
]]>
http://www.wealth-lab.net/synchronize-time-windows.aspx http://www.wealth-lab.net/synchronize-time-windows.aspx http://www.wealth-lab.net/synchronize-time-windows.aspx Mon, 16 Jul 2012 08:25:00 GMT
Как добавить в работу новый торговый инструмент
  • 1. Добавляем новый DataSet. Так в велсе создаются источники данных.
    • Для этого открываем окно DataManager. Это основное окно для работы с данными
    • В меню инструментов доступна кнопка Create new DataSet. В открывшемся окне нужно выбрать поставщика данных(WLRT StaticDataProvider) и следовать инструкциям мастера настройки
  • Для добавления торгового инмтрумента, на появившемся в списке DataSet источнике данных, нажмите правой клавишей мышки. В контектсном меню выбирите пункт Add Symbol
    • Бумагу необходимо добавлять в формате КодКласса.КодБумаги
    • КодКласса можно найти в квике. Например для акций ММВБ в секции А1 код - EQBR, для фьючерсов ФОРТС - SPBFUT
    • КодБумаги также можно узнать в квике. Например Сбербанк на ММВБ имеет код SBER
    •  На данном этапе есть DataSet, в который добавлен нужный вам инструмент. Теперь нужно получить его исторические котировки. Для этого в инструменте DataManager необходимо выбрать DataSet и нажать кнопку Update DataSet
    •  После получения истории котировок, можно подключать потоковые данные. Они доступны после подключения к брокеру из меню Tools. Для того, чтобы данные пошли из квика, необходимо убедится, что в таблице всех сделок данные по этой бумаге есть, если таблица сделок пуста - обратитесь к брокеру, многие из них предоставляют эти данные как отдельную услугу. Если таблица не пуста, но данных по вашей бумаге нет - проверьте фильры в квике или обратитесь к техподдержке брокера, они помогут с настройкой.
    •  Кроме потоковых данных, для торговли необходимы данные из таблицы текущих параметров. В этой таблице квика ваш инструмент также должен присутствовать, иначе заявки по инструменту не пройдут в квик.

  • Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/howto-dobavit-v-rabotu-noviy-torgoviy-instrument.aspx http://www.wealth-lab.net/howto-dobavit-v-rabotu-noviy-torgoviy-instrument.aspx http://www.wealth-lab.net/howto-dobavit-v-rabotu-noviy-torgoviy-instrument.aspx Fri, 15 Jun 2012 18:20:00 GMT
    Запуск автоматической торговли в реальном времени. Как запустить алготорговлю в реальном времени.

    Инструкцтия по шагам.

    0. Внимательно читаем в readme, как устроена стратегия для торговли в реальном времени (то есть, от чего наследуемся, как выставляем размер позиции и т.д.) 

    1. Добавляем новый Performance Visualizer на вкладку.

    2. Идем на вкладку Управление WLRTAlgoTrading, там расположена кнопка Запустить торговлю (см. картинку), которая служит для запуска автоматической торговли для данной конкретной стратегии.  Это сделано для того, чтобы у вас была возможность отключать или включать автоторговлю отдельно для каждой стратегии. Для автоторговли кнопка должна быть нажата.

     

    3. Смотрим в левый нижний угол. Там расположена кнопка Автоторговля (см. картинку), для запуска автоматической торговли брокер адаптера. Для автоматической    торговли кнопка должна быть нажата.

    4. Проверяем, что обе кнопки нажаты. После этого торговля начнется.      


    Alex  ...Tweet This
    ]]>
    http://www.wealth-lab.net/запуск-автоматической-торговли-в-реальном-времени.aspx http://www.wealth-lab.net/запуск-автоматической-торговли-в-реальном-времени.aspx http://www.wealth-lab.net/запуск-автоматической-торговли-в-реальном-времени.aspx Wed, 13 Jun 2012 13:26:00 GMT
    Набор стратегий с разными параметрами Как организовать несколько стратегий с одинаковой логикой, которые различаются набором параметров?

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

    В классе-наследнике определяем конструктор по умолчанию, который передает конкретные параметры в базовый. Вся торговая логика уже реализована. Пример:

    
    namespace WLRT.Strategyes
    {
        public abstract class MyBaseStrategy : WealthLab.WealthScript
        {
            private readonly double _koeff;
    
            protected MyBaseStrategy(double k)
            {
                _koeff = k;
            }
    
            protected override sealed Execute()
            {
                if(_koeff==0) DoSmth();
                else DoSmthElse();
            }
        }
    
        public sealed class MyStrategy1 : MyBaseStrategy
        {
            public MyStrategy1() : base(1)
            {
            }
        }
    }
    

     


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/набор-стратегий-с-разными-параметрами.aspx http://www.wealth-lab.net/набор-стратегий-с-разными-параметрами.aspx http://www.wealth-lab.net/набор-стратегий-с-разными-параметрами.aspx Thu, 17 May 2012 09:43:00 GMT
    Система QUIK часть 3 Автоподключение Квика. При работе с квиком может быть необходимо настроить автоматическое восстанавление соединения с сервером.

    Сделать это можно в окне, открывающемся из меню Связь->Доступные соединения:

    В этом окне можно настроить доступные сервера QUIK и действия при разрыве соединения.

    Рекомендуемые параметры:

    1.  Восстанавливать связь (проверьте свой часовой пояс, здесь время указывается по локальному времени компьютера). Установите диапазон, который захватывает все необходимые вам торговые сессии, На скриншоте время настроено для торговли на ФОРТС, с вечерней сессией.
    2.  Флажок «При восстановлении использовать только параметры последнего соединения» может быть важен, если вы не хотите подключаться к другим серверам(например боитесь потерять много времени при перезакачке всех данных заново).
    3.  Если вы хотите, чтобы подключение восстанавливалось на определенные сервера, в определенном порядке - можете сделать это выше, в списке доступных соединений.

    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/система-quik-часть-3.aspx http://www.wealth-lab.net/система-quik-часть-3.aspx http://www.wealth-lab.net/система-quik-часть-3.aspx Wed, 16 May 2012 16:26:00 GMT
    Требования для Wealth-Lab
  • ОС: Windows 7, Vista, XP, or Server 2003
  • Адаптер мы тестируем на Windows 7/Vista.

    • Память: 1Гб

    Рекомендуем 4Гб

    • Процессор не хуже Intel Core 2 Duo

    Рекомендуем использовать четырехядерный процессор.


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/требования-для-wealth-lab.aspx http://www.wealth-lab.net/требования-для-wealth-lab.aspx http://www.wealth-lab.net/требования-для-wealth-lab.aspx Wed, 16 May 2012 13:56:00 GMT
    Как торговать из Wealth-Lab Для торговли из Wealth-Lab необходимы несколько компонентов.

    1.  Источник исторических данных. Нужен на этапе тестирования стратегии. На этапе торговли нужен чтобы хватило данных для рассчета всех индикаторов, которые используются в стратегии. Ну и сделки загрузить можно.

      В нашей системе источник постовляет минутные данные по ФОРТС и акциям ММВБ.

    2.  Источник потоковых данных. Нужен для торговли. Постовляет потоковые данные в Wealth-Lab и позволяет сформировать бары для стратегии.

      В нашей системе постовляет данные из таблицы всех сделок Квика.

    3. Брокер адаптер. Передает заявки в квик и отслеживает их статус.

      В нашей системе использует QuikApi для асинхронного выставления заявок и таблицы Стоп-заявки, Заявки и Сделки для определения статуса заявки. Т.о. позволяет стратегии загружать актуальную информацию о позиции на рынке.


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/как-торговать-из-wealth-lab.aspx http://www.wealth-lab.net/как-торговать-из-wealth-lab.aspx http://www.wealth-lab.net/как-торговать-из-wealth-lab.aspx Mon, 14 May 2012 08:17:00 GMT
    Система QUIK часть 2 В этом посте рассмотрим основные таблицы квика, из которых можно понять состояние своих счетов и ход торгов на рынке.

    Основные таблицы:

    • Таблица текущих параметров

    Таблица содержит текущую информацию по доступным инструментам. Например, лотность бумаг, шаг цены, цена открытия, последняя цена и т.п.

    • Таблица всех сделок

    Информация о всех сделках. Содержит инструмент, цену, объем и другую информацию о конкретной сделке. Для нормальной работы WLRTAlgoTrading убедитесь, что брокер транслирует данные в эту таблицу. 

    • Заявки

    Список всех заявок.

    • Сделки

    Сделки пользователя.

    • Стоп-заявки

    Стоп-заявки пользователя.

    • Ограничения по клиентским счетам

    Информация о счетах РТС/ФОРТС

    • Таблица лимитов по денежным средствам

      Информация о лимитах на ММВБ.

    • Таблица лимитов по бумагам

      Информация о результатах операций по бумагам.

    • Клиентский портфель

      Информация о результатах операций по бумагам.

    • Позиции по клиентским счетам

      Текущие позиции.

    А здесь можно скачать файл с настройками квика, совместимый с нашей технологией алгоритмической торговли.


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/система-quik-часть-2.aspx http://www.wealth-lab.net/система-quik-часть-2.aspx http://www.wealth-lab.net/система-quik-часть-2.aspx Tue, 08 May 2012 13:04:00 GMT
    Система QUIK часть 1 Торговая платформа QUIK позволяет подключаться к серверу QUIK, расположенному у брокера и получать информацию о ходе торгов, выставлять свои торговые заявки и управлять ими. В этом посте мы рассмотрим основные виды заявок, которые используются для торговли на бирже.

    Основные торговые заявки - лимитированные и стоп-заявки.

    • Лимитированные заявки позволяют задать цену, хуже которой вы не согласны набирать позицию. Например, при покупке, вы не готовы платить больше 100р за какой-то актив. В этом случае вам нужно выставить лимитированную заявку с ценой 100 и задать интересующий объем. Ваша заявка попадет на сервер брокера, а затем на биржу. Если цена актива будет удовлетворять условию, ваша заявка будет исполняться. Тем не менее, при достаточном объеме заявки, существует риск частичного исполнения(на рынке не будет достаточного объема по этой цене). Если заявку не отменить, она продолжит висеть на бирже и имеет шанс исполнится позднее.
    • Стоп-заявки имеют другую логику. Стоп-цена в такой заявке является условием, при наступлении которого, будет выставлена лимитированная заявка с лимит-ценой. При этом условие исполняется, когда цена становится хуже-или-равной стоп-цене. Если продолжить рассмотрение нашего примера, и предположить, что вы купили какой-то актив за 100р, то стоп-заявку вы можете поставить для защиты своей позиции. Если цена пойдет вниз, и вы будете терять свои деньги, вы захотите ограничить максимальный риск. Для этого вам будет нужна стоп-заявка. В стоп-цене вы зададите максимальный риск(например 99р.), после которого вы захотите ликвидировать свою позицию. Чтобы увеличить шанс на исполнение заявки, вам нужно задать лимит-цену с некоторым отступом(например 98р 50коп.), т.к. иначе, при дальнейшем снижении цены, ваша заявка не будет удовлетворена(ведь лимит-заявка позволяет исполнение по цене лучше-или-равной заданой).

    Если же вы хотите зафиксировать прибыль по позиции, то вам снова подойдет лимит-заявка. На этот раз вы будете задавать лимит-цену, выше которой вы готовы продавать(например 110р) и направление операции - продажа. При превышении цены вашей заявки, она будет исполняться, аналогично входу в позицию.

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

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

     


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/система-quik-часть-1.aspx http://www.wealth-lab.net/система-quik-часть-1.aspx http://www.wealth-lab.net/система-quik-часть-1.aspx Mon, 07 May 2012 12:38:00 GMT
    Как торговать, если качество интернет-канала страдает Если у вас есть торговая стратегия, и вы смогли ее автоматизировать, но боитесь сбоев, которые иногда возникают из-за качества интернета - арендовать сервер логичное решение для вас.

    Существует целая индустрия по хостингу виртуальных машин. Стоимость варьируется, но обычно приемлемая по мощности машина стоит 800-1000р в месяц. Если вы хотите стабильно торговать - вынесите свою торговую часть на сервер в интернете, а свой интернет канал используйте для контроля.


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/как-торговать-если-качество-интернет-канала-страдает.aspx http://www.wealth-lab.net/как-торговать-если-качество-интернет-канала-страдает.aspx http://www.wealth-lab.net/как-торговать-если-качество-интернет-канала-страдает.aspx Sun, 06 May 2012 21:22:00 GMT
    Как начать торговать на бирже Для начала, следует выбрать брокерскую компанию.

    На российском рынке таких компаний достаточно много, выбирать можно по тарифам, доступности офисов/представительств, а может , вам понравится чей-то интернет ресурс wink.

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


    Admin  ...Tweet This
    ]]>
    http://www.wealth-lab.net/как-начать-торговать-на-бирже.aspx http://www.wealth-lab.net/как-начать-торговать-на-бирже.aspx http://www.wealth-lab.net/как-начать-торговать-на-бирже.aspx Sat, 05 May 2012 11:16:00 GMT