Судя по всему, чтобы полностью воспроизвести эти ордера в новой сессии МТ4 придется реализовывать виртуальные ордера и с ними уже как-то работать. Т.е. и оптимизацию надо писать свою, которая будет работать с виртуальными ордерами.. Решил пока сделать иначе, т.е. проще - в той же сессии в которой буду вручную наторговывать массив со сделками (в симуляторе), в ней же параллельно и проведу какое-то подобие оптимизации результатов.
В "..\tester\files\" есть папка "Files_X" - при этом она же является общей с "..\MQL4\Files\" - все хорошо видят файлы, помещенные в эту папку.
Как то термин общая не сильно подходит. даже прямой путь при записи из реала в песочницу тестера не должен записывать, может и ошибаюсь, у меня файлы не создавались, для этого есть папка .\MetaQuotes\Terminal\Common
Возможно под симулятором понимается торговля в тестере? тогда в этом режиме можно и не создавать папку File_X
И что такое виртуальный ордер? у каждого свое понятие)))
Tretyakov Rostyslav #: Пропишите в советник открытие ордеров из Вашего файла(время, лот, цена, направление), а стоп и тейк сделайте переменными для оптимизации.
Т.е. ордера, которые в массиве были рыночными в новой сессии МТ4 заменить на Buy/Sell Stop ордера и добавить проверку, чтобы перед открытием Аск/Бид были ниже/выше цены открытия ордера - как-то так?
Вот так: .\MetaQuotes\Terminal\........93F15E\tester\files\File_X .\MetaQuotes\Terminal\........93F15E\MQL4\files\File_X
Поищите как создавать "hard links". cmd => Run As Administrator mklink /j Path_to_new\dir_name Path_from\dir_name
У меня во всех инсталляциях МТ4 папки Experts, Sounds, Templates и т.д. общие (это фактически будет одна и та же папка, а не копия или линк). Но есть одна засада - если удалить содержимое Experts (и т.д.) в одной => удалится во всех. Лучше потренироваться сначала на папках типа ./tmp. На форуме когда-то было описание работы с жесткими линками.
Т.е. ордера, которые в массиве были рыночными в новой сессии МТ4 заменить на Buy/Sell Stop ордера и добавить проверку, чтобы перед открытием Аск/Бид были ниже/выше цены открытия ордера - как-то так?
Valeriy Yastremskiy #: И что такое виртуальный ордер? у каждого свое понятие)))
Создается массив со всеми открывающимися ордерами, а также копии функций OrderSend() - типа OrderSend_my(), и т.д., и управление ими полностью независимо от МТ4 (кроме времени, баров и т.п.). Но для моей текущей задачи это будет перебором.
Putnik #: Не надо Buy/Sell Stop, OP_BUY и OP_SELL.
Рыночные ордера МТ4 будет открывать по Аск и Бид, но если нужно открыть ордер допустим посередине длинного бара, то без отложенного ордера это же не получится?
Рыночные ордера МТ4 будет открывать по Аск и Бид, но если нужно открыть ордер допустим посередине длинного бара, то без отложенного ордера это же не получится?
Секунды могут не совпасть. Минуты и цена совпадут.
Подскажите, пожалуйста, какими средствами проще всего реализовать функцию остановки торговли при наступлении определенного условия, то есть как заставить советник не торговать энное количество минут, или баров, затем возобновить торговлю. Заранее благодарен.
ts22 #: Подскажите, пожалуйста, какими средствами проще всего реализовать функцию остановки торговли при наступлении определенного условия, то есть как заставить советник не торговать энное количество минут, или баров, затем возобновить торговлю. Заранее благодарен.
проще всего - в советнике проверять глобальную переменную терминала (разрешены/не_рекомендуются торговые операции). А её уже выставлять отдельными средствами.
Проще всего - проверять в советнике глобальную переменную
Спасибо, сейчас капну в глобальные переменные отвечающие за время. Я просто новичок, можете подсказать ресурсы где можно с примерами посмотреть как это делается? Я обычно беру советники с открытым кодом и читая код учусь, но не натыкался на советник с подобной функцией. Очень боюсь нахренавертить лишнего)
Судя по всему, чтобы полностью воспроизвести эти ордера в новой сессии МТ4 придется реализовывать виртуальные ордера и с ними уже как-то работать. Т.е. и оптимизацию надо писать свою, которая будет работать с виртуальными ордерами.. Решил пока сделать иначе, т.е. проще - в той же сессии в которой буду вручную наторговывать массив со сделками (в симуляторе), в ней же параллельно и проведу какое-то подобие оптимизации результатов.
В "..\tester\files\" есть папка "Files_X" - при этом она же является общей с "..\MQL4\Files\" - все хорошо видят файлы, помещенные в эту папку.
.\MetaQuotes\Terminal\........93F15E\tester\files\File_X
.\MetaQuotes\Terminal\........93F15E\MQL4\Files
Как то термин общая не сильно подходит. даже прямой путь при записи из реала в песочницу тестера не должен записывать, может и ошибаюсь, у меня файлы не создавались, для этого есть папка .\MetaQuotes\Terminal\Common
Возможно под симулятором понимается торговля в тестере? тогда в этом режиме можно и не создавать папку File_X
И что такое виртуальный ордер? у каждого свое понятие)))
Пропишите в советник открытие ордеров из Вашего файла(время, лот, цена, направление), а стоп и тейк сделайте переменными для оптимизации.
Я проверял. Открываются по той же цене.
Т.е. ордера, которые в массиве были рыночными в новой сессии МТ4 заменить на Buy/Sell Stop ордера и добавить проверку, чтобы перед открытием Аск/Бид были ниже/выше цены открытия ордера - как-то так?
.\MetaQuotes\Terminal\........93F15E\tester\files\File_X
.\MetaQuotes\Terminal\........93F15E\MQL4\Files
Вот так:
.\MetaQuotes\Terminal\........93F15E\tester\files\File_X
.\MetaQuotes\Terminal\........93F15E\MQL4\files\File_X
Поищите как создавать "hard links".
cmd => Run As Administrator
mklink /j Path_to_new\dir_name Path_from\dir_name
У меня во всех инсталляциях МТ4 папки Experts, Sounds, Templates и т.д. общие (это фактически будет одна и та же папка, а не копия или линк).
Но есть одна засада - если удалить содержимое Experts (и т.д.) в одной => удалится во всех.
Лучше потренироваться сначала на папках типа ./tmp.
На форуме когда-то было описание работы с жесткими линками.
Т.е. ордера, которые в массиве были рыночными в новой сессии МТ4 заменить на Buy/Sell Stop ордера и добавить проверку, чтобы перед открытием Аск/Бид были ниже/выше цены открытия ордера - как-то так?
Не надо Buy/Sell Stop, OP_BUY и OP_SELL.
И что такое виртуальный ордер? у каждого свое понятие)))
Создается массив со всеми открывающимися ордерами, а также копии функций OrderSend() - типа OrderSend_my(), и т.д., и управление ими полностью независимо от МТ4 (кроме времени, баров и т.п.). Но для моей текущей задачи это будет перебором.
Не надо Buy/Sell Stop, OP_BUY и OP_SELL.
Рыночные ордера МТ4 будет открывать по Аск и Бид, но если нужно открыть ордер допустим посередине длинного бара, то без отложенного ордера это же не получится?
Рыночные ордера МТ4 будет открывать по Аск и Бид, но если нужно открыть ордер допустим посередине длинного бара, то без отложенного ордера это же не получится?
Секунды могут не совпасть. Минуты и цена совпадут.
Подскажите, пожалуйста, какими средствами проще всего реализовать функцию остановки торговли при наступлении определенного условия, то есть как заставить советник не торговать энное количество минут, или баров, затем возобновить торговлю. Заранее благодарен.
проще всего - в советнике проверять глобальную переменную терминала (разрешены/не_рекомендуются торговые операции). А её уже выставлять отдельными средствами.
это просто разгружает логику советников
Проще всего - проверять в советнике глобальную переменную