Вопрос -- а зачем? Вопрос №2 кому нужны эти плюшки?
Наверное хотите повторения судьбы блю дрима ) есть движок с кучей "плюшек", но нафек никому не нужен.
То что вы сами не можете придумать плюшек, лишнее этому подтверждение.
Формат тоже.
Как это вы снизошли до общения с "убогими"?
Поэтому когда можно закачать объекты в таблицу
и по таблице делать выборку- это круто и правильно.
Проблема только одна- это тупая инженерная задача
и понятна для тех кто "в теме"- но они сделают сами.
Проблема только одна- это тупая инженерная задача
и понятна для тех кто "в теме"- но они сделают сами.
Идея этой темы: mql4- не объектно-ориентированный.
Поэтому когда можно закачать объекты в таблицу
и по таблице делать выборку- это круто и правильно.
Проблема только одна- это тупая инженерная задача
и понятна для тех кто "в теме"- но они сделают сами.
Я же четко написал - я делаю длл и отдаю бесплатно в массы. Исходники туда же, не жалко. Просто я переделываю свою систему учета ордеров, хотелось услышать мнения умных и опытных в трейдинге людей. А получил, поначалу, истерики от кликушь. То ли галоперидол у них закончился, то ли ПМС начался ))))
Так, чисто по делу, кто что может добавить к печенькам?
Автор: Алексей Волчанский VDev
16.12.2011 20:57
... я довольно активно работаю с MQL4 и это не может не вызывать мое раздражение.
Чтобы компенсировать моральный ущерб от общения с убогими, я решил сделать отдельный пост,
куда буду вываливать все кривости и несуразности, которыми богат этот т.н. "язык программирования".
no comments
Да, MQL4 ограниченный язык. Подмножество Си, есть положительные моменты в работе со строками и массивами, но трудно на нем сделать что-то серьезное. Нет смысла заводить войны, я сравниваю с тем, чем активно пользуюсь, это С#, Matlab, С++. Но какое отношение это мое мнение имеет к программистам этого форума? Да у меня люди приходят обучаться, вообще ничего не зная даже о циклах, а потом пишут роботов на MQL4, а через пол-года некоторые уходят выше, на другие языки. То, что люди начинают с MQL4, как с простейшей и доступной платформы - это в плюс. А вот бесконечные глюки - явно в минус.
Теперь по делу. По моим наблюдениям, человек может обучиться c нуля MQL4 примерно за месяц. У меня был рекордсмен - две недели, но это был крайне умный студент на каникулах. А так, месяц-два. И это отличный порог вхождения, в принципе, MQL4 втянул в программирование больше людей, чем все модеры этого сайта ))
Ну а что касается моих фраз - вы не в курсе, что народ надо будить ото сна провакациями? :))))))))))))
Ну а что касается моих фраз - вы не в курсе, что народ надо будить ото сна провакациями? :))))))))))))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Запостил сначала у себя на сайте, но там что-то народ испугался и молчит. Тут все ребята умные да смелые, решил выложить для критики и предложений. Когда сделаю тему - кину в общую копилку,
так что ... МОЧИИИ!!!
--------------------
Если в вашей стретегии ордера закрываются по изначально установленным стоп-лоссам и тейк-профитам, вы счастливый человек, не читайте эту статью, она не для вас.
Добавление открытого ордера функцией Проверка "мертвых душ", в систему передается массив тикетов открытых ордеров и если в системе есть лишние, они удаляются и переносятся в БД закрытых ордеров.А вот если у вас в работе одновременно до 50 ордеров на разных инструментах и разного объема, которые должны закрываться по определенным сигналам, возможно, мои соображения окажутся полезны.Но для начала я вкратце обрисую проблемы, которые возникают при программировании таких задач на MQL4. Например, у вас 10 валютных пар и нужно отсортировать все ордера по профиту, но только для пар EURUSD и GBRUSD. Ок, считали данные в многомерный массив, профит кладем в нулевое измерение, ведь массивы сортируются только по нему. Отсортировали, потом в цикле выбрали только EURUSD и GBRUSD. Опс, цена пошла вниз, надо трейлинги подтягивать (к примеру). Значит, надо уже сортировку по трейлингам делать, чтобы начать с самого дальнего. Начинается жонглирование с массивами.
Итак, имеем вводную по максимуму: N ордеров на M валютных парах, N<231, M<231. Это я не выкаблучиваюсь с таким огромным количеством, просто лучше заранее не ставить ограничений, тогда часто находятся более оптимальные и гибкие решения. Вдруг завтра мне позвонит Джордж Сорос и закажет систему управления ордерами для всех его счетов? А мы ему скажем, - Жора, так все уже давно готово, завернуть? Помечтал, продолжаю, лотность с шагом 0.01 от 0.01 до 100, на каждый ордер выставляются защитные стопы и тейки на случай пропадания связи. В нормальном режиме ордера закрываются через OrderClose или OrderCloseBy. Требуется разработать простенькую систему управления ордерами, которая, исходя из вышеперечисленных требований, выполняла бы следующие функции (кстати, очень прошу включить вашу фантазию и дополнить функции в комментариях):
**** А теперь печеньки, ради которых все и затевалось )) ****
Поиск минимального значения по заданному полю для набора инструментов.
Поиск максимального значения по заданному полю для набора инструментов.
Отсортировать ордера по возрастанию по заданному полю для набора инструментов. Для всех операций сортировки и выборки заводится 1...16 (число может задаваться пользователем) внутренних областей для хранения ордеров со всеми параметрами. Исходная область всегда имеет имеет индекс 0 и в ней хранятся ордера в неизменном порядке, как в терминале. В других областях могут храниться различные выборки из ордеров, отсортированные по всем полям. При приходе новых котировок, удалении ордеров, добавлении новых все области автоматически пересчитываются и обновляются. Для повышения быстродействия надо сделать возможность отключения автопересчета и пересчет по требованию.
Отсортировать ордера по убыванию по заданному полю для набора инструментов.
Сделать выборку по одной области и поместить результаты в другую. Используя команду в виде строки с особым синтаксисом, сделать сложную выборку среди области. Например, выбрать все ордера на BUY с датой открытия не позднее ***, ценой не менее *** и стоплоссом больше *** и меньше ***. Формат команды пока в разработке. Хотелось бы сделать в виде произвольной строки, но возможно, первый вариант для простоты будет выглядеть как-то так:
Чтение всех полей ордера из области
Выборка одного поля ордера из области
Что еще добавить? Делать буду в DLL на LINQ to Object, так что сложность запросов не ограничена, не стесняйтесь ))