Пользовательская ТС средствами MQL

 
Можно ли  сделать средствами MQL такой универсальный индикатор или советник, чтобы пользователь мог сам создавать условия, входа, сопровождения сделок и условия выхода, прямо на графике?
 
Mihail Matkovskij:
Можно ли  сделать средствами MQL такой универсальный индикатор или советник, чтобы пользователь мог сам создавать условия, входа, сопровождения сделок и выхода, прямо на графике?

Можно. Графические объёкты, обработка событий нажатия и изменения объектов, графические панели, ...

 
Vladimir Karputov:

Можно. Графические объёкты, обработка событий нажатия и изменения объектов, графические панели, ...

Меня больше интересует, как можно задать любые операторы и операнды в условиях, входа, сопровождения и выхода, программно. То есть, принцип следующий: пользователь задаёт в окне, индикаторы, буферы этих индикаторов, индексы буферов и создает условия. Эти условия должна понимать программа и выполнять их. Есть ли конкретные примеры в Интернете того как это сделать?

 
Mihail Matkovskij:

Меня больше интересует, как можно задать любые операторы и операнды в условиях, входа, сопровождения и выхода, программно. То есть, принцип следующий: пользователь задаёт в окне, индикаторы, буферы этих индикаторов, индексы буферов и создает условия. Эти условия должна понимать программа и выполнять их. Есть ли конкретные примеры в Интернете того как это сделать?

Все это возможно.

Но нет смысла. Работы нужно много, толку - чуть.

Возьмите TSLab - там это все реализовано. В визуальном режиме, в наглядном виде. Проблема в том, что совсем простые ТС так делать легко. Но что-то чуть более комплексное - моментом превращается в мешанину блоков, в которой разобраться еще труднее, чем в тексте программы.

Лучше MQL - на мой взгляд, ничего не придумано. Неопытным - ваши "универсальные советники" не помогут. А для опытных - текст MQL куда удобнее и нагляднее. 

 
George Merts:

Все это возможно.

Но нет смысла. Работы нужно много, толку - чуть.

Возьмите TSLab - там это все реализовано. В визуальном режиме, в наглядном виде. Проблема в том, что совсем простые ТС так делать легко. Но что-то чуть более комплексное - моментом превращается в мешанину блоков, в которой разобраться еще труднее, чем в тексте программы.

Лучше MQL - на мой взгляд, ничего не придумано. Неопытным - ваши "универсальные советники" не помогут. А для опытных - текст MQL куда удобнее и нагляднее. 

Принцип TSLab заключается в создании исходного кода советника либо индикатора, на сколько я понял. Мне же нужна визуализация торговой системы. Конечно, можно сделать и создание исходного кода с помощью стороннего приложения, но мне бы хотелось, чтобы всё было наглядно, на графике.

 
Mihail Matkovskij:

Принцип TSLab заключается в создании исходного кода советника либо индикатора, на сколько я понял. Мне же нужна визуализация торговой системы. Конечно, можно сделать и создание исходного кода с помощью стороннего приложения, но мне бы хотелось, чтобы всё было наглядно, на графике.

Ну так там оно наглядно, с помощью блоков и связей делается.

Можно и в МТ наворотить такое. Но смысла нет. Работы дохрена, а пользы - чуть... кто платить за это будет и сколько ?

 
George Merts:

Ну так там оно наглядно, с помощью блоков и связей делается.

Можно и в МТ наворотить такое. Но смысла нет. Работы дохрена, а пользы - чуть... кто платить за это будет и сколько ?

Вообще, это очень интересный вопрос: а действительно ли нет смысла в визуальном конструкторе стратегий? Какой реальный потенциал можно реализовать с помощью такого конструктора. Мне что то подсказывает, будущее именно за конструктором стратегий. Весь вопрос в том, - а каким он должен быть?
 
George Merts:

Ну так там оно наглядно, с помощью блоков и связей делается.

Можно и в МТ наворотить такое. Но смысла нет. Работы дохрена, а пользы - чуть... кто платить за это будет и сколько ?

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

Таким образом, нужно сделать три обработчика.

1. Вход

2. Сопровождение

3. Выход

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

 
Реter Konow:
Вообще, это очень интересный вопрос: а действительно ли нет смысла в визуальном конструкторе стратегий? Какой реальный потенциал можно реализовать с помощью такого конструктора. Мне что то подсказывает, будущее именно за конструктором стратегий. Весь вопрос в том, - а каким он должен быть?

Подозреваю, что для тебя, как титана запоминания  - возможно, смысл очень даже есть.

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

Это - как раз к недавнему вопросу об ограничении доступа. Такая "блочная схема" - предоставляет тебе СРАЗУ ВЕСЬ доступ ко всем элементам. И трудность поддержки - как раз и заключается в том, что тебе приходится держать в голове большую часть всех этих связей. Большинство же людей, как правило, способна комфортно удерживать в кратковременной памяти пять-семь сущностей. Визуальный конструктор тем и хорош, что вначале - он тебе предоставляет доступ ко всему небольшому количеству блоков системы, но этим же и плох, что в конце, когда блоков становится слишком много - он тебе предоставляет доступ сразу ко всем.

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

 
Mihail Matkovskij:

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

Таким образом, нужно сделать три обработчика.

1. Вход

2. Сопровождение

3. Выход

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

Да все так же, как в визуальных конструкторах. Проблема вовсе не в том, что это невозможно. А в том, что этим невозможно будет пользоваться.

 

Можете в качестве отправной точки посмотреть на эксперт из кодебазы: exp_iCustom,

Или в моей статье есть похожий фреймворк для подключения разных индюков и торговли по ним.

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