Установка индикаторов
Установка любого индикаторов в систему производится путём помещения файла этого индикатора ( файла с расширением xml) в папку Indicators, расположенную в основной папке программы COT Trader (см. рисунок ниже). Для того, чтоб программа обнаружила вновь установленный (созданный) индикатор, программу необходимо перезапустить.
Создание индикаторов
Файлы индикаторов – это специальные файлы с расширением xml, которые могут быть созданы (модифицированы) с помощью сторонних редакторов текста(например, стандартного Блокнота Windows, редактора Notepad++ или специального редактора xml файлов).
Файлы всех индикаторов имеют общую структуру и начинаются со строки вида:
<?xml version="1.0" encoding="windows-1251"?>
Код самого индикатора расположен между открывающим и закрывающим тегом indicator:
<indicator> ... ... </indicator>
Этот код также состоит из нескольких открывающих и закрывающих тегов (узлов), каждый из которых отвечает за ту или иную характеристику индикатора:
<basic ....../> - здесь указываются основные свойства индикатора <info>........</info> - здесь указывается дополнительная информация об индикаторе <properties>.....</properties> - здесь задаются параметры индикатора (например период) <lines>....</lines> - здесь задаются параметры отображаемых на индикаторе линий
Тег basic имеет следующие атрибуты:
type - служит для задания типа индикатора (LCOT, DCOT или TFF) fullname - полное наименование индикатора, отображаемое в панели слева shortname - короткое наименование, отображаемое на самом индикаторе version - версия индикатора author - автор индикатора date - дата создания mail - почтовый адрес автора
В теги <properties> включаются параметры индикатора. Каждый параметр оформляется тегом <property…./> Этот тег имеет всего два атрибута:
name - название параметра и value - значение параметра по умолчанию (при инициализации индикатора)
В теги <lines> …</lines> включаются необходимые для отображения линии(графики) индикатора. Каждая линия (не больше 6 штук) оформляется открывающим и закрывающим тегами <line> …</line>. Между этими тегами располагается формула, по которой вычисляется значение y-координаты соответствующей линии. Тег <line> имеет несколько атрибутов:
visible - видимость данной линии при инициализации (0- не видима, 1 - видима) islabel - отображать ли метки значений на линии (0-нет, 1- да) width - толщина линии color_r - красная составляющая цвета линии (от 0 до 255) color_g - зеленая составляющая цвета линии (от 0 до 255) color_b - синяя составляющая цвета линии (от 0 до 255)
В формуле линий индикатора можно использовать любые допустимые математические операторы (+ (сложение), -(вычитание)),/ (деление)),* (умножение) и т.д.), а также специальные предустановленные функции.
Специальные функции:
MAX(P,n) - максимум показателя P за период n MIN((P,n) - минимум показателя P за период n AVG(P,n) - среднее значение показателя P за период n PRE(P,n) - значение показателя P на n STH(P,n) - стохастическая функция по показателю P за период n DEV(P,n) - отклонение показателя P от его среднего значения за период n DEA(P,n) - абс. средн. значение отклонения P от его среднего значения за период n SUM(P,n) - сумма показателя P за период n CHN(P,n) - изменение показателя P по сравнению с его значением n недель назад AVU(P,n) - средн. значение положительного изменения (роста) показателя P за период n AVD(P,n) - средн. значение отрицательного изменения (падения) P за период n
где
P - один из предустановленных показателей из имеющихся в отчетах данных
n - любое число до 200 или наименование параметра, заданного в любом из тегов Property
Предустановленные показатели:
OpenInt - открытый интерес NonComm_Long - длинные позиции спекулянтов (Non-Commercial) NonComm_Short - короткие позици спекулянтов (Non-Commercial) NonComm_Spread - противоположные позиции спекулянтов (Non-Commercial) NonComm_NET - совокупная позиция спекулянтов (Non-Commercial) NonComm_inOI - отношение NET-позиции к откр. интересу по Non-Commercial Comm_Long - длинные позиции хеджеров (Commercial) Comm_Short - короткие позици хеджеров (Commercial) Comm_NET - совокупная позиция хеджеров (Commercial) Comm_inOI - отношение NET-позиции к откр. интересу по Commercial Prod_Long - длинные позиции производителей (Producer) Prod_Short - короткие позици производителей (Producer) Prod_NET - совокупная позиция производителей (Producer) Prod_inOI - отношение NET-позиции к откр. интересу по Producer Swap_Long - длинные позиции своп-дилеров (Swap Dealers) Swap_Short - короткие позици своп-дилеров (Swap Dealers) Swap_Spread - противоположные позиции своп-дилеров (Swap Dealers) Swap_NET - совокупная позиция своп-дилеров (Swap Dealers) Swap_inOI - отношение NET-позиции к откр. интересу по Swap Dealers Money_Long - длинные позиции управляющих деньгами (Managed Money) Money_Short - короткие позици управляющих деньгами (Managed Money) Money_Spread - противоположные позиции управляющих деньгами (Managed Money) Money_NET - совокупная позиция управляющих деньгами (Managed Money) Money_inOI - отношение NET-позиции к откр. интересу по Managed Money Dealer_Long - длинные позиции диллеров (Dealer/Intermediary) Dealer_Short - короткие позици диллеров (Dealer/Intermediary) Dealer_Spread - противоположные позиции диллеров (Dealer/Intermediary) Dealer_NET - совокупная позиция диллеров (Dealer/Intermediary) Dealer_inOI - отношение NET-позиции к откр. интересу по Dealer Asset_Long - длинные позиции институционалов (Asset Manager/Institutional) Asset_Short - короткие позици Asset Manager/Institutional Asset_Spread - противоположные позиции Asset Manager/Institutional Asset_NET - совокупная позиция Asset Manager/Institutional Asset_inOI - отношение NET-позиции к откр. интересу по Asset Manager Lev_Long - длинные позиции хедж-фондво (Leveraged Funds) Lev_Short - короткие позици Leveraged Funds Lev_Spread - противоположные позиции Leveraged Funds Lev_NET - совокупная позиция Leveraged Funds Lev_inOI - отношение NET-позиции к откр. интересу по Leveraged Funds Other_Long - длинные позиции других подотчётных (Other Reportables) Other_Short - короткие позици Other Reportables Other_Spread - противоположные позиции Other Reportables Other_NET - совокупная позиция Other Reportables Other_inOI - отношение NET-позиции к откр. интересу по Other Reportables TotalReport_Long - длинные позиции всех подотчётных Total Reportables TotalReport_Short - короткие позици Total Reportables TotalReport_NET - совокупная позиция Total Reportables TotalReport_inOI - отношение NET-позиции к откр. интересу по Total Reportables NonReport_Long - длинные позиции неподотчётных Non-Reportables NonReport_Short - короткие позици Non-Reportables NonReport_NET - совокупная позиция Non-Reportables NonReport_inOI - отношение NET-позиции к откр. интересу по Non-Reportables Tr_Total - общее число трейдеров Tr_Comm_Long - число трейдеров в длинных позициях из числа Commercial Tr_Comm_Short - число трейдеров в коротких позициях из числа Commercial Tr_NonComm_Long - число трейдеров в длинных позициях из числа Non-Commercial Tr_NonComm_Short - число трейдеров в коротких позициях из числа Non-Commercial Tr_NonComm_Spread - число трейдеров в противоп. позициях из числа Non-Commercial Tr_Prod_Long - число трейдеров в длинных позициях из числа Producer Tr_Prod_Short - число трейдеров в коротких позициях из числа Producer Tr_Swap_Long - число трейдеров в длинных позициях из числа Swap Dealers Tr_Swap_Short - число трейдеров в коротких позициях из числа Swap Dealers Tr_Swap_Spread - число трейдеров в противоп. позициях из числа Swap Dealers Tr_Money_Long - число трейдеров в длинных позициях из числа Managed Money Tr_Money_Short - число трейдеров в коротких позициях из числа Managed Money Tr_Money_Spread - число трейдеров в противоп. позициях из числа Managed Money Tr_Dealer_Long - число трейдеров в длинных позициях из числа Dealer Tr_Dealer_Short - число трейдеров в коротких позициях из числа Dealer Tr_Dealer_Spread - число трейдеров в противоп. позициях из числа Dealer Tr_Asset_Long - число трейдеров в длинных позициях из числа Asset Manager Tr_Asset_Short - число трейдеров в коротких позициях из числа Asset Manager Tr_Asset_Spread - число трейдеров в противоп. позициях из числа Asset Manager Tr_Lev_Long - число трейдеров в длинных позициях из числа Leveraged Funds Tr_Lev_Short - число трейдеров в коротких позициях из числа Leveraged Funds Tr_Lev_Spread - число трейдеров в противоп. позициях из числа Leveraged Funds Tr_Other_Long - число трейдеров в длинных позициях из числа Other Reportables Tr_Other_Short - число трейдеров в коротких позициях из числа Other Reportables Tr_Other_Spread - число трейдеров в противоп. позициях из числа Other Reportables Tr_Report_Long - число трейдеров в длинных позициях из числа Reportables Tr_Report_Short - число трейдеров в коротких позициях из числа Reportables
Примеры индикаторов:
1. Индикатор Legacy Open Int (файл OI_Legacy.xml)
<?xml version="1.0" encoding= "windows-1251" ?> <indicator> <basic type="LCOT" fullname="Legacy Open Int" shortname="OpnInt(L)" version="1.0" author="Булатников С.Л." date="01.11.2017" mail="corp@bulatlab.ru" /> <info>Индикатор предназаначен для...</info> <properties> </properties> <lines> <line name="Open Interest" visible="1" islabel="1" width="1" color_r="120" color_g="120" color_b="120"> OpenInt </line> </lines> </indicator>
В данном примере: синим цветом выделены обязательные теги, красным – обязательные атрибуты этих тегов (если они для них имеются), и зелёным – изменяемые по желанию пользователя параметры. Из этого кода индикатора следует, что:
- тип индикатора(type)- LCOT (т.е. индикатор работает с данными из отчётов Legacy)
- полное название - Legacy Open Int (это название будет отображаться в списке индикаторов)
- короткое название - OpnInt(L) (это название будет отображаться на самом индикаторе)
- версия - 1.0
- автор - Булатников С.Л.
- дата - 01.11.2017
- почта - corp@bulatlab.ru
- доп. информация - "Индикатор предназаначен для..."
- параметры - отстутствуют (т.к. в тегах property не задано не одного тега property)
- кол-во линий - 1 (т.к. в тегах lines одна пара закрывающего и открывающего тега line)
- цвет линии - серый (т.к. все компроненты цвета равны 120)
- видимость линии - да (т.к. атрибут visible тега line установлен в 1)
- толщина линии - 1 пиксель (т.к. атрибут width тега line установлен в 1)
- отображение меток на линии - включено (т.к. атрибут islabel тега line установлен в 1)
- формула - OpenInt (т.е. расчётов в данном случае нет, а отображается значение открытого интереса)
2. Индикатор Index COT (файл IndexCOT_Legacy.xml)
<?xml version="1.0" encoding= "windows-1251" ?> <indicator> <basic type="LCOT" fullname="Legacy Index COT" shortname="IndCOT(L)" version="1.0" author="Булатников С.Л." date="01.11.2017" mail="corp@bulatlab.ru"/> <info> Индикатор отражает...</info> <properties> <property name="Period" value="38"/> </properties> <lines> <line name="Noncommercial" visible="1" islabel="1" width="1" color_r="180" color_g="0" color_b="0"> 100*(NonComm_NET-MIN(NonComm_NET,Period))/(MAX(NonComm_NET,Period)-MIN(NonComm_NET,Period)) </line> <line name="Commercial" visible="1" islabel="1" width="1" color_r="0" color_g="0" color_b="180"> 100*(Comm_NET-MIN(Comm_NET,Period))/(MAX(Comm_NET,Period)-MIN(Comm_NET,Period)) </line> </lines> </indicator>
Данный пример почти аналогичен предыдущему за тем исключением, что:
- изменено название индикатора в атрибутах fullname и shotname
- добавлено свойство индикатора под названием Period со значением 38
- введены две линии под названиями Noncommercial и Commercial разных цветов
- и указаны формулы для расчёта значений этих линий
В приведенном примере для упрощения опущен код для других линиий, которые есть в файле индикаиора, но этот код - аналогичен приведенному и олтличается только выбором цветовой гаммы и соответсвующими показателями в формулах.
Приведенную формулу можно упростить, воспользовавшись встроенной функцией стохастика, и тогда эта формула примет, например, для линии Commercial следующий вид: STH(Comm_NET,Period)