Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1856
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Как получить время открытия второго и последующих ордеров ведь OpenOrderTime() выдает только первый, а также как получить цену открытия второго и последующих ордеров, т.к. аналогом OpenOrderPrice() выдает также цену первого
собрать (или помнить/знать) все, сортировать по времени открытия. Вот что что, а время открытия не меняется :-)
если логика советника подразумевает наличие более 1-го ордера (например сетка), то волей неволей их придётся запоминать. Или тормозить перебирая все на каждый чих
подскажите прибыль на истории обведена синим, это уже с вычетом комиссии и свопа??
Добрый день.
Как получить время открытия второго и последующих ордеров ведь OpenOrderTime() выдает только первый, а также как получить цену открытия второго и последующих ордеров, т.к. аналогом OpenOrderPrice() выдает также цену первого
Какой ордер будет выбран функцией OrderSelect(), время и цену того ордера и получишь.
На сколько я знаю в документации ни слова об этом. Так что лучше перестраховаться. Хуже точно не будет.
Были жалобы что эта процедура занимает много процессорного времени.
Относительно СЛ и ТП то они являются расчётными. И поэтому их обязательно следует нормализировать в соответствии со значением digits.
Здесь, в любом случае, необходимо узнавать задумку автора.
Были жалобы что эта процедура занимает много процессорного времени.
Нормализация расчётных СЛ и ТП занимает 2 в раза больше времени. Но я не скажу что это так сильно влияет на оптимизацию и тем более на тестирование роботов.
В документации чёрным по белому написано нормализовать расчётные уровни! И какая при этом может быть "задумка автора"? Что не нормализовать СЛ и ТП? Я не собираюсь с вами спорить поскольку здесь очевидные факты!
Добрый день.
Как получить время открытия второго и последующих ордеров ведь OpenOrderTime() выдает только первый, а также как получить цену открытия второго и последующих ордеров, т.к. аналогом OpenOrderPrice() выдает также цену первого
Еcли это вопрос, то получить тикет первого, выбрать первый и последующие у которых тикет != первого.
Нормализация расчётных СЛ и ТП занимает в раза больше времени. Но я не скажу что это так сильно влияет на оптимизацию и тем более на тестирование роботов.
Влияет, и на этом форуме были вопросы об упрощении данной процедуры.
Я не знаю случая чтоб полученные и не нормализованные цены вызвали ошибку.
Из справки:![](https://c.mql5.com/3/378/42170361101__1.png)
И какая при этом может быть "задумка автора"? Что не нормализовать СЛ и ТП? Я не собираюсь с вами спорить поскольку здесь очевидные факты!
Задумкой может быть округление. В теории это делается не так, но и такой способ в случае округления к меньшему количеству знаков , в случае если цены будут правильные для СЛ и ТП, сработает. По этому узнавать что задумано надо в любом случае.
Здравствуйте! Как на индикатор из CodeBase Net_Volume_Delta.mq5 накинуть фракталы? Т.Е., получить фракталы от буфера этого индикатора. Самый высокий и самый низкий, но не стандартный, а чтобы слева i-2, а справа 0, чтобы результат не переписывался.
Я попытался сам решить, грубо дописать в самом коде этого индикатора, но что то не получается. Хотя компилирует и ошибок нет.
Может надо через iCustom и handle индикатора?
Если попытаться выявить проблему и, после, более детально описать что именно не получается, то вероятность получения ответа будет намного выше.
Нормализация расчётных СЛ и ТП занимает 2 в раза больше времени. Но я не скажу что это так сильно влияет на оптимизацию и тем более на тестирование роботов.
Мало того, некоторые пренебрегают такими простыми проверками как
считая что это заберет много процессорного времени :)
Но на самом деле процессорное время забирают такие функции как ObjectCreate и ObjectDelete. Если у программиста допустим массив графических объектов и он удаляется и заново создаётся на каждом тике, то с этим определенно нужно что-то делать. В то время как простые проверки и вычисления являются незначительными по времени. Поэтому много программистов ищут просто не там.
Влияет, и на этом форуме были вопросы об упрощении данной процедуры.
Не знаю кому оно и на что влияет. У меня с NormaizeDouble никогда никаких проблем не было. Если на то пошло то любой код влияет на скорость работы приложения. Но если всё столь критично то можно оставить обработчики OnTick или OnCalculate пустыми. Тогда приложение будет вообще летать. :) Или переписать функции на ассемблер скомпилировать в DLL и подключать их к приложению.
Я не знаю случая чтоб полученные и не нормализованные цены вызвали ошибку.
Зато документация знает! А вы пренебрегаете советами в документации. Как хотите. Это ваше дело. По моему всё очевидно и я не собираюсь в вами спорить по этому поводу, еще раз повторяю!
Задумкой может быть округление.
Там не округления а отсечение всего что больше 2 знаков после запятой
Я тоже не знаю задумку автора. Но мне это и не нужно. Думаю он сам во всём разберётся.