Скрипт для расставления меток на графике при выставлении флага события

 

Уважаемые коллеги! Я не спец в MQL и ни когда не работала со скриптами и графическими объектами, но есть идея, которая может быть полезна многим, может быть кто-то возьмется реализовать?

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

Флаг может принимать 3 состояния: 0 - когда сброшен, 1 - когда указывает срабатывания события в одном напавлении, -1 - когда указыает срабатывание события в обратном направлении. При этом на графике скрипт в момент появления соответствующего флага выставляет метку заданного цвета и направления, если в этот момент происходит несколько фиксируемых событий и появляется несколько флагов, то они располагаются друг над другом, можно еще рядом с меткой ставить имя флага и его состояние. Важно, чтобы это происходило в динамическом режиме, на нулевом баре в момент выставления флага. Необходимо, чтобы при запуске советника в тесторе к графику цеплялся не только индикатор, но и скрипт. Состояние флагов из индикатора в скрипт можно передавать через глобальные переменные. В настройках скрипта нужно указать привызку его к соответствующему индикатору, имена и цвет отрабатываемых флагов, количество которых задается в настройках.

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

Розовая метка вверх, соответствует событию пробития коричневой линии снизу вверх розовой, и соответственно, обратное пробитие отображается розовой меткой со стрелкой вниз.

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

Желтая метка соответствует пробитию сверху вниз розовой линии желтой. Надеюсь, изложила идею понятно, надеюсь на Вашу отзывчивость и помощь в реализации.

 
Что, ни кто не может такое сделать? Вместо скрипта, наверное, лучше сделать это как функцию, которую можно будет вставлять в советник используемый при отладке ТС.
 

Сделать то можно только непонятно сколько флагов забивать, сколько индикаторов, каких.

Какое взаиморасположение между какими индикаторами вызывает активацию флага ... и так далие и тому подобное

в общем слишком много обощений и мало конкретики.

При этом всё это пройденные этапы было уже куча шаблон-советников в которые прописуй индикаторы да подставляй условия,

только это всё прибыли не приносит.

 
Urain писал(а) >>

Сделать то можно только непонятно сколько флагов забивать, сколько индикаторов, каких.

Какое взаиморасположение между какими индикаторами вызывает активацию флага ... и так далие и тому подобное

в общем слишком много обощений и мало конкретики.

При этом всё это пройденные этапы было уже куча шаблон-советников в которые прописуй индикаторы да подставляй условия,

только это всё прибыли не приносит.

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

Суть этого блока не в том, чтобы самому приносить прибыль, а в том, чтобы свести в единое и наглядное отображение на графике выполнение 2-3 десятков различных логических условий, и отразить моменты их выполнения. А далее по ним пользователю легко будет подобрать группу взаимо дополняющих условий для формирования того, или иного торгового сигнала. А без этой наглядной картины очень много хороших моментов упускается, и многие задаются не в самое оптимальное время. Я все это хорошо прочувствовала при отладке своих ТС, и обратилась с такой просьбой. Сделайте, и Вы увидите насколько это облегчит поиск закономерностей в больших группах сигналов.

Причина обращения: