Есть два индикатора FL20 и FL22. Оба устанавливаются в одно подвальное окно.
Очень нужен третий сигнальный индикатор, который нормализует показания двух первых к одной шкале 0-1 и даст сигнал (сообщение) о том, что линия индикатора FL22 равна или поднялась выше верхней линии индикатора FL20 (sell сигнал), равна или опустилась ниже нижней линии индикатора FL20 (buy сигнал).
Сами индикаторы:
FL20.ex4 (8 Kb)
FL22.ex4 (7 Kb)
Комментарии (17)
35 AM2 Сообщений: 16353 - Андрей
Может кто поручится?..
С индикаторов значения считываются, но без нормализации или нормирования к единой шкале (не знаю как точно это называется) их никак не сравнить. Математически я это понимаю, но навыков программирования нет.
2 AlGriS Автор Сообщений: 12
10 mihhail777 Сообщений: 159 - Михаил
35 AM2 Сообщений: 16353 - Андрей
У индикатора есть максимальное значение и минимальное. Нужно найти их (я обратил внимание, что во вкладке параметров общие есть «закрепить максимум», «закрепить минимум» — может быть это можно использовать?). Затем вычисляем разницу между максимумом и минимумом и делим её, например, на сто (можно брать любую шкалу — в данном случае получится процентная шкала), получаем значение на условную единицу. Берём текущее значение и делим на условную единицу — получаем количество условных единиц в текущем значении. Делаем тоже с другим индикатором и уже можем сравнивать их по условным единицам, так как они уже в одном масштабе.
Формула:
текущее значение в усл.ед.=текущее значение/((максимальное-минимальное)/100).
Сейчас я говорю о шкале сравнения 0-100, то есть о процентной шкале (хоть раньше упоминал шкалу 0-1), так как это мне кажется более привычным.
Грубо говоря мы просто сравниваем процент текущего значения ко всему диапазону для каждого индикатора, а это сравнимые величины.
Надеюсь, не перемудрил.
2 AlGriS Автор Сообщений: 12
129-(-29)=158
Но вот текущее отрицательное значение нужно приводить к диапазону:
скажем текущее значение -13, для нормализации нужно сдвинуть 0 на -29:
0-(-29)+(-13)=16 и уже 16/((129-(-29))/100). Редактирован: 20 октября 2017, 01:39
2 AlGriS Автор Сообщений: 12
35 AM2 Сообщений: 16353 - Андрей
2 AlGriS Автор Сообщений: 12
35 AM2 Сообщений: 16353 - Андрей
Надеюсь, расчёт и алерт уже смогу сделать сам. Вот в циклах пока ещё туго разбираюсь.
2 AlGriS Автор Сообщений: 12
10 mihhail777 Сообщений: 159 - Михаил
Видите, пока что никто из программистов за полную реализацию не берутся, а у меня знания MQL на минимальном уровне.
Так жалко — с этими индикаторами в ручной торговле работаю несколько лет. Входы подтверждают отменно, только замучиваешься листать инструменты, чтобы их найти.
2 AlGriS Автор Сообщений: 12
Выкладываю, может быть понадобиться как образец сравнения несравнимого.
Есть одно но. Компилятор выдаёт сообщение:
Что не так, я не разобрался — всё-таки математик, не программист. Может кто знает и подскажет?
Названия индикаторов другие, но это те же FL20 и FL22, только переименованные для моего удобства. Редактирован: 11 ноября 2017, 02:03
2 AlGriS Автор Сообщений: 12
14 Syte Сообщений: 399
Но в них идёт вызов данных из ячеек массивов, компилятор предупреждает о неинициализированных переменных, хотя массивы объявлены и заполнены
2 AlGriS Автор Сообщений: 12
14 Syte Сообщений: 399
2 AlGriS Автор Сообщений: 12
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий