День добрый всем. Я не сильный программист и поэтому не понимаю некоторых простых вещей. У меня такая проблема: надо в советнике среди закрытых ордеров выбрать последний закрытый по SL.
идея понятна, только правильнее >= по всей видмости
не проверял, распринтуйте переменные сразу увидите, если на 1 ошибся, то или Ваш вариант или не обнуляйте, а присваивайте значения =1 счетчикам timer1 и timer2
не проверял, распринтуйте переменные сразу увидите, если на 1 ошибся, то или Ваш вариант или не обнуляйте, а присваивайте значения =1 счетчикам timer1 и timer2
Тем не менее метод, конечно, не гарантирует заданной периодичности. Выполнение кода в одном таймере может превышать по времени время другого таймера.
Тем не менее метод, конечно, не гарантирует заданной периодичности. Выполнение кода в одном таймере может превышать по времени время другого таймера.
а где Вам гарантированно в Виндовс системах можно получить таймер реального времени? - если система перегружена, то будут задержки
так и в MQL - если Вы нагрузили сложными расчетами OnTick() , то пока он не выполнится событие OnTimer() не произойдет
имхо, даже МТ4 хватает для сложных расчетов, если не хватает то МТ5 - он реально на уровне С++ работает, но обычно нехватка производительности связана с плохим алгоритмом расчета - используйте профилировщик, не выполняйте вычисления каждый тик там где пока не появится новый бар нечего вычислять, не обсчитывайте всю историю если используете сигналы на последних 1-3 барах - вычислите всего 100 баров ... вариантов много
ЗЫ: работа с графическими обьектами очень тормозит все, работа со строками тоже снижает производительность - в теории, но в последнее время не замечал такого, вроде и работа с ф-циями преобразования времени тоже накладная - однозначно все в профилировщике видно, где много времени потратили - этот участок кода пытаемся реже использовать
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
а где Вам гарантированно в Виндовс системах можно получить таймер реального времени? - если система перегружена, то будут задержки
так и в MQL - если Вы нагрузили сложными расчетами OnTick() , то пока он не выполнится событие OnTimer() не произойдет
имхо, даже МТ4 хватает для сложных расчетов, если не хватает то МТ5 - он реально на уровне С++ работает, но обычно нехватка производительности связана с плохим алгоритмом расчета - используйте профилировщик, не выполняйте вычисления каждый тик там где пока не появится новый бар нечего вычислять, не обсчитывайте всю историю если используете сигналы на последних 1-3 барах - вычислите всего 100 баров ... вариантов много
ЗЫ: работа с графическими обьектами очень тормозит все, работа со строками тоже снижает производительность - в теории, но в последнее время не замечал такого, вроде и работа с ф-циями преобразования времени тоже накладная - однозначно все в профилировщике видно, где много времени потратили - этот участок кода пытаемся реже использовать
Согласен, стандартный таймер также ничего не гарантирует. Ну спасибо, будем пробовать.
Подскажите, пожалуйста, есть ли возможность в МКЛ4 задать открытие позиции по одному символу в момент открытия позиции по другому символу? Может такой вопрос уже обсуждался, тогда дайте ссылку.
Подскажите, пожалуйста, есть ли возможность в МКЛ4 задать открытие позиции по одному символу в момент открытия позиции по другому символу? Может такой вопрос уже обсуждался, тогда дайте ссылку.
Спасибо.
Вопрос сформулирован не полностью.
Но вообще - можно. Но не одновременно, а последовательно в любом из двух случаев.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
нельзя усложнять простые задачи! ... сказал Я, который от нефиг делать даже ф-цию определения нового бара в класс обернул ))))
по сабжу:
идея понятна, только правильнее >= по всей видмости
идея понятна, только правильнее >= по всей видмости
не проверял, распринтуйте переменные сразу увидите, если на 1 ошибся, то или Ваш вариант или не обнуляйте, а присваивайте значения =1 счетчикам timer1 и timer2
как вариант, можно и так попробовать:
не проверял, распринтуйте переменные сразу увидите, если на 1 ошибся, то или Ваш вариант или не обнуляйте, а присваивайте значения =1 счетчикам timer1 и timer2
Тем не менее метод, конечно, не гарантирует заданной периодичности. Выполнение кода в одном таймере может превышать по времени время другого таймера.
Тем не менее метод, конечно, не гарантирует заданной периодичности. Выполнение кода в одном таймере может превышать по времени время другого таймера.
а где Вам гарантированно в Виндовс системах можно получить таймер реального времени? - если система перегружена, то будут задержки
так и в MQL - если Вы нагрузили сложными расчетами OnTick() , то пока он не выполнится событие OnTimer() не произойдет
имхо, даже МТ4 хватает для сложных расчетов, если не хватает то МТ5 - он реально на уровне С++ работает, но обычно нехватка производительности связана с плохим алгоритмом расчета - используйте профилировщик, не выполняйте вычисления каждый тик там где пока не появится новый бар нечего вычислять, не обсчитывайте всю историю если используете сигналы на последних 1-3 барах - вычислите всего 100 баров ... вариантов много
ЗЫ: работа с графическими обьектами очень тормозит все, работа со строками тоже снижает производительность - в теории, но в последнее время не замечал такого, вроде и работа с ф-циями преобразования времени тоже накладная - однозначно все в профилировщике видно, где много времени потратили - этот участок кода пытаемся реже использовать
а где Вам гарантированно в Виндовс системах можно получить таймер реального времени? - если система перегружена, то будут задержки
так и в MQL - если Вы нагрузили сложными расчетами OnTick() , то пока он не выполнится событие OnTimer() не произойдет
имхо, даже МТ4 хватает для сложных расчетов, если не хватает то МТ5 - он реально на уровне С++ работает, но обычно нехватка производительности связана с плохим алгоритмом расчета - используйте профилировщик, не выполняйте вычисления каждый тик там где пока не появится новый бар нечего вычислять, не обсчитывайте всю историю если используете сигналы на последних 1-3 барах - вычислите всего 100 баров ... вариантов много
ЗЫ: работа с графическими обьектами очень тормозит все, работа со строками тоже снижает производительность - в теории, но в последнее время не замечал такого, вроде и работа с ф-циями преобразования времени тоже накладная - однозначно все в профилировщике видно, где много времени потратили - этот участок кода пытаемся реже использовать
Согласен, стандартный таймер также ничего не гарантирует. Ну спасибо, будем пробовать.
Добрый день, уважаемые!
Подскажите, пожалуйста, есть ли возможность в МКЛ4 задать открытие позиции по одному символу в момент открытия позиции по другому символу? Может такой вопрос уже обсуждался, тогда дайте ссылку.
Спасибо.
Добрый день, уважаемые!
Подскажите, пожалуйста, есть ли возможность в МКЛ4 задать открытие позиции по одному символу в момент открытия позиции по другому символу? Может такой вопрос уже обсуждался, тогда дайте ссылку.
Спасибо.
Вопрос сформулирован не полностью.
Отлично. А как это описать в коде? Например, если в 9-00 сложились условия и открылся БАЙ по фунту, то и по евро тоже открыть БАЙ (в 9-00).
Отлично. А как это описать в коде? Например, если в 9-00 сложились условия и открылся БАЙ по фунту, то и по евро тоже открыть БАЙ (в 9-00).