![]() |
||||||||||||||||||||||||||
|
Дополнительные функции для Метастока 7.0-11.0
Введение. Как известно, встроенный язык Метастока недостаточно развит для написания сложных формул. Но существует возможность реализовать практически любой алгоритм с помощью т.н. внешних дополнительных функций в виде динамически подключаемых модулей. Ограничения на передачу параметров во внешнюю функцию таковы, что можно передавать массив чисел с плавающей точкой, число в формате с плавающей точкой, произвольную строку символов и перечисление (одно символьное значение из конечного набора символов) - всего суммарно до девяти переменных. В качестве массива можно передавать числовой параметр. Также в DLL всегда неявно передается DTOHLCVOI массивы значений базовой бумаги, даже если эта бумага не отображается на графике. Возвращаемое значение - массив чисел с плавающей точкой или признак ошибки с возможным дополнительным текстовым сообщением, как показано на рисунке ниже.
При создании индикатора Метасток позволяет использовать помощника Paste Functions для выбора какой либо функции из списка, где в окошке Format создает подсказку по ее применению.
Метасток
не накладывает никаких требований на название аргументов и/или
обозначение типов аргументов, но в описании формата вызова функции
я придерживаюсь следующих правил: Имена параметров по возможности будут отражать физический смысл переменной. Для удобства любой элемент перечисления может иметь более одного символического имени, например Long и L для длинных позиций, Short и S для коротких, Both и B для реверсивных позиций. Регистр букв Метасток не проверяет.
Текущая версия MSX_KSR.DLL (см. примечание) содержит набор из следующих функций:
Алгоритмы некоторых из этих функций были описаны в журнале "Современный трейдинг", #4, 2001 г в статье "Трендовый индикатор прорыва динамического ценового канала", а последние варианты ELA кодов этих функций или индикаторов опубликованы на страницах сайта Константина Копыркина (aka konkop). Функции WriteData, WriteDataEx и ReadData появились в результате попытки адаптации для Метастока некоторых индикаторов, работающих с разными таймфреймами.
Для
установки необходимо взять msx_ksr.dll (только
для использования на территории России, интернациональная
версия здесь msx_ksr.zip )
и положить в каталог:
Примечание. Отличия в текущей версии DLL от предыдущих версий: v1.8.0.11 от
23.12.2006 v1.8.0.7 от
31.01.2006 v1.8.0.4 от
15.09.2005 v1.7.0.5 от
11.10.2004 v1.7.0.4 от
21.08.2004 v1.7.0.Аналоги функций JMA и JTPO. v1.6.1.Автоматический вывод заявок в файл для Квика. Расширена функция "RENKO_WATR" - кроме значений Up и Down можно использовать следующие Auto - рисует линию, совпадающую с линией Up на восходящем участке тренда и с линией Down на нисходящем, а также Long, Short или Both - возвращает торговые сигналы. v1.5.2.Устранена ошибка, вызывавшая невозможность добавления новых внешних MSX dll с помощью Formula Organizer Wizard при установленной MSX_KSR.dll. v1.5.Добавлены новые функции WriteFile и ReadFile. Версия ограниченного распространения. v1.4.1.По предложению SwingTrader в функции TradeFile оставшаяся открытая позиция может быть принудительно закрыта на последнем баре. v1.4.Добавлена новая функция "TradeFile". Каталог вывода и ник автора должны быть заданы в файле конфигурации. v1.3.1.По предложению Михаила Королюка в функцию RENKO_WATR добавлена возможность работы с произвольным рядом данных (см. выше примечания к версии v1.1). v1.3.Добавлена новая функция "RENKO_WATR". Вызывать ее необходимо дважды - отдельно для рисования нижней линии с параметром Dn и отдельно для верхней с параметром Up. v1.2.Добавлена новая функция "CER". Еще раз изменена функция NRTR - теперь в качестве второго аргумента Koefficient[] может быть задана как константа Ko так и произвольный ряд данных, например ExtFml("msx_ksr.CER", Len). Метасток сам преобразует константу в массив констант. v1.1.Добавлена возможность работы функций не только по цене закрытия, но и по произвольному ряду данных. Для сохранения совместимости с оригинальной ELA версией необходимо в качестве произвольного ряда данных DataArray[] передавать во внешнюю формулу значение цены закрытия Close. Для чего это нужно спрашивайте у Михаила Королюка. |
||||||||||||||||||||||||||
|
Замечания и предложения можно оставить на странице обратной связи. |
||||||||||||||||||||||||||
Обновлено: February 21, 2011 |
||||||||||||||||||||||||||