Для некоторых индикаторов необходимо по клику мыши пересчитывать данные или перерисовываться с бара, на который кликнули. Во вложении пример кода для Ninjatrader. С зажатой клавишей ALT (в коде можно переопределить) нажимаем левой кнопкой мыши на графике и получаем информацию о баре, на который кликнули. Ничего сложного нет. Если будут вопросы, пишите, отвечу.
Код индикатора.
Оригинал статьи тут.
Пример:
В этой статье я выкладываю робота, который получает сигналы из личного кабинета одного из поставщиков сигналов 24fx.ru. Перед тем, как скачать его и начать использовать, дочитайте до конца эту статью.
Я написал робота, чтобы собрать статистику и понять, есть ли что-то полезного в этом поставщике сигналов. Судя по статистике на их сайте:
Они вообще крутые ребята. В среднем по 1000 пунктов в месяц. Давайте разберемся, так ли это. Торговать руками по этим сигналам не реально, так как они приходят круглосуточно (посредством смс или электронной почты). Тут или вообще не спать или робот. Я пошел по второму пути. После нескольких дней отладки и нескольких месяцев торговли я получил результат.
Итак:
Затраты
1.1. Оплата сигналов: 4 месяца по 3800 рублей = 15200 рублей.
Для написания индикатора мне потребовался массив типа очередь. Т.е. чтобы не было необходимости задавать размерность массива, можно было добавлять значения без указания индекса в конец и так далее. В C# и C++ есть такая удобная штука как Queue (с разными методами, но с общим смыслом), а вот в MT4 такого нет. Я подумал, что уже не первый раз сталкиваюсь с необходимостью такой очереди. Решил дописать несколько функций, которые мне нужны и из простого массива сделать очередь. Когда несколько функций было написано, я вынес все в файл *.mqh и думал куда бы поместить его, чтобы использовать в дальнейшем во всех своих работах. И тут я обнаружил, что в папке MQL4 (в MT5 все аналогично) уже есть папка Include, которая УЖЕ вкючает в себя расширения для массивов (и не только).
Разобрав все, что связано с массивами я не расстроился, так как тех методов, что мне нужны, я не нашел. Я вынес их отдельно в файлик ArrayDouble_ext.mqh. Добавил три новых функции: нахождение суммы всего массива, поиск максимального и минимального значений массива. Зачем нужны две последние спросите вы? Поясню. Есть стандартная фунция ArrayMaximum, например:
Понадобилась, казалось бы простая вещь: реализовать SMMA. Тестировать не расхождения необходимо в Metatrader, код написания SMMA — С++. Все бы ничего, но на просторах инета столько формул этих SMMA и с такими ляпами… Вот пример:
www2.wealth-lab.com/WL5Wiki/SMMA.ashx
Такое ощущение, что автор просто копировал и вставлял формулу, без понимания. После долгих поисков картинка сложилась:
SMMA (i-n) = SMA(N)
SMMA (i) = (SMMA (i-1) * (N — 1) +CLOSE (i))/ N
где:
N — период;
SMMA(i-n) – значение SMMA на самом первом расчитываемом баре, это значение простой скользящей средней периода N;
SMMA (i) – значение SMMA на i-ом баре;
CLOSE (i) – цена на i-ом, баре, по которой рассчитывается SMMA.
Оригинал статьи тут.
Исходные данные:
1. Операционная система Windows 8.1 Профессиональная
2. Wealth-Lab 6.4.52.0
3. Библиотека Indicators.Community 2013.01.1 (ссылка)
Казалось бы, что такого, подключить библиотеку. Скопировал файлик в папку с программой и пользуйся. Все верно, но не для Wealth-Lab. Программа Wealth-Lab никогда не даст нам скучать. Это не только среда разработки роботов, индикаторов, платформа для торговли, но… Это еще и игра. И каждый раз, новый квест приходи с неожиданной стороны. Недавно, для написания нового робота, мне понадобился индикатор MACDext, который работает на основе двух MA. Я знаю, что он есть в составе Indicators.Community, я нашел эту библиотеку, скачал, скопировал в папку с Wealth-Lab, библиотека появилась в списке расширений, но не появилась в окне индикаторов. Ну вот, подумал я, новый квест. А я уже как раз соскучился. Что я только не делал. Удалял и копировал еще раз, запускал Wealth-Lab с правами администратора, пытался прописать ссылку на эту библиотеку, но все бесполезно. Оказалось, что ответ был совсем рядом. Далее инструкция в картинках.
Индикатор для Quik. Линиями показывает границы 3/4 ATR, относительно цены закрытия предыдущего дня. ATR считается по последним N дневным барам. N — количество баров, указывается в параметрах.
Внимание! Данный индикатор не дает однозначных сигналов к покупке/продаже. Индикатор помогает видеть пройденный ATR выбранным инструментом.
Все пожелания по доработкам, а также найденным ошибкам приветствуются.