![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
вы мне Крылова И.А. напоминаете
Я конечно способен воспринимать критику... но только конструктивную и обоснованную.... Вы или нормально объясните, или вообще не влазьте.... Из-за таких (самых умных) и пропадает желание обращаться на форумы за помощью....
А по поводу того, кто кому кого напоминает - здесь вообще (как мне кажется) не уместно.
Не захочет никто с ламером возиться - не надо. Сами разберемся... пусть и времени это больше займет.
Не захочет никто с ламером возиться - не надо. Сами разберемся... пусть и времени это больше займет.
что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,
т.е. ввести extern переменную, например,
и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А baseMagic = 1000, советник Б baseMagic = 2000..
далее добавить простую функцию, которая будет вычислять магик на сегодня для советника, например,
например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..
таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..
что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -
1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и
2. проверка, что в заданный интервал ничего еще не открывалось..
что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,
т.е. ввести extern переменную, например,
и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А baseMagic = 1000, советник Б baseMagic = 2000..
далее добавить простую функцию, которая будет вычислять магик на сегодня для советника, например,
например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..
таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..
что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -
1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и
2. проверка, что в заданный интервал ничего еще не открывалось..
Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой.
Выделить по одному магику каждому сову или каждому периоду торговли и все!
Для разных пометок ордеров лучше использовать OrderComment().
А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...
Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой.
Выделить по одному магику каждому сову или каждому периоду торговли и все!
Для разных пометок ордеров лучше использовать OrderComment().
А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...
Хоть какое то разумное зерно появилось. Я уж и не верил.
Разные магики нужны только для советников работающих на одном инструменту. На разных уже и так есть способ их различить - само название инструмента
Можно так:
int магик = ХешФункцияCRC32(имя советника, имя инструмента, имя стратегии);
Что-то сложное надумали. Хотя до Вас предложения еще сложнее были. В Вашем хоть какая-то разумность есть
Виктор, до этого были ответы на конкретный вопрос типа:
- Я хочу сделать так... Как мне это сделать???
Вопроса "что лучше или разумней сделать в такой ситуации" небыло... Зачем критиковать конкретные ответы на конкретные вопросы?
Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой.
Выделить по одному магику каждому сову или каждому периоду торговли и все!
Для разных пометок ордеров лучше использовать OrderComment().
А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...
Вы, видимо, не совсем поняли суть идеи.
Сов открывает ордер в 9:00 1.01.2014 (допустим), но если ордер провесит до 2.01.2014, то он не откроет в нужное время второй. Потому и появилась такая задумка. Если магика совсем не будет, то он открывает ордер при каждом касании ценой коридора.
что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,
т.е. ввести extern переменную, например,
и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А baseMagic = 1000, советник Б baseMagic = 2000..
далее добавить простую функцию, которая будет вычислять магик на сегодня для советника, например,
например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..
таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..
что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -
1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и
2. проверка, что в заданный интервал ничего еще не открывалось..
Идея понятна. Вполне. Осталось, чтобы мой мозг осилил это все прикрутить к сове )))))
За идею, спасибо!
З.Ы.: по поводу простоты решения вопроса! Самое простое - вставать рано утром и вручную задавать магик на сегодняшний день. Но это для меня, т.к. я в программировании вообще тормоз. Оно не усваивается в моем мозгу. Вот и пристаю с вопросами (может и глупыми).
Всем адекватным участникам дискуссии искреннее спасибо ;-)
что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,
т.е. ввести extern переменную, например,
и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А baseMagic = 1000, советник Б baseMagic = 2000..
далее добавить простую функцию, которая будет вычислять магик на сегодня для советника, например,
например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..
таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..
что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -
1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и
2. проверка, что в заданный интервал ничего еще не открывалось..
Спасибо!!! Получилось.
Всем участникам всего доброго и профитов!