Как получить количество баров, которые видны в окне графика? (MQL4)
//+------------------------------------------------------------------+ //| Функция получает количество баров, которые отображаются (видимы )| //| в окне графика. | //+------------------------------------------------------------------+ int ChartVisibleBars(constlong chart_ID=0)
{
//--- подготовим переменную для получения значения свойства long result=-1;
//--- сбросим значение ошибки ResetLastError();
//--- получим значение свойства if(!ChartGetInteger(chart_ID,CHART_VISIBLE_BARS,0,result))
{
//--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError());
}
//--- вернем значение свойства графика return((int)result);
}
Если линии не нужны, но Вы хотите брать какие-либо значения именно из буферов индикаторов, то создаете графическое построение с типом DRAW_NONE. В справке смотрите как это реализовано.
Но, если честно, не совсем понятно, зачем использовать индикатор для этого...
Да дело в том, щас сам буду проверять это сравнением, что вроде как если в эксперта вбить тот же код по работе с тиками, то возможна потеря тиков в роботе. Точнее не из-за кода, а вообще. Изначально, что якобы эксперт может пропускать тики (когда выполняет ф-ию старт), а индикатор нет. Особенно когда скорость их поступления в терминал высокая. Поэтому, возможно, для корректной работы с тиками надо работать через индикатор или нет? Кто как считает? Подскажите...
Да дело в том, щас сам буду проверять это сравнением, что вроде как если в эксперта вбить тот же код по работе с тиками, то возможна потеря тиков в роботе. Точнее не из-за кода, а вообще. Изначально, что якобы эксперт может пропускать тики (когда выполняет ф-ию старт), а индикатор нет. Особенно когда скорость их поступления в терминал высокая. Поэтому, возможно, для корректной работы с тиками надо работать через индикатор или нет? Кто как считает? Подскажите...
Про тики - согласен, но даже индикатор, насколько я знаю, не решит всех проблем. Чтобы получить действительно все тики - нужно пользоваться функцией CopyTicks() (для МТ5). Но с ней сейчас проблемы.
Про тики - согласен, но даже индикатор, насколько я знаю, не решит всех проблем. Чтобы получить действительно все тики - нужно пользоваться функцией CopyTicks() (для МТ5). Но с ней сейчас проблемы.
Если разговор про МТ4 - то индикатором, однозначно, лучше.
Благодарю. С этой веткой знаком, перечитываю. Да. Об МТ4. Пишу...
Сравниваю показания индикатора и эксперта - всё бьёт. На евродолларе, да и пятница - вроде и скорости нормальные такие, брокер англ. Активтрайдерс - за рек. не считать. Пока код перенёс в робота... Дальше там другие будут обработки тиков - там также буду смотреть и сравнивать... Благодарю за помощь.
Там тоже надо из индикатора всё это вытаскивать... Возможно часть сделаю кодом прямым в роботе, что будет не критично по тикам, часть в индикаторах...
Простейший вопрос, заклинило.
Как получить количество баров, которые видны в окне графика? (MQL4)
Простейший вопрос, заклинило.
Как получить количество баров, которые видны в окне графика? (MQL4)
Если линии не нужны, но Вы хотите брать какие-либо значения именно из буферов индикаторов, то создаете графическое построение с типом DRAW_NONE. В справке смотрите как это реализовано.
Но, если честно, не совсем понятно, зачем использовать индикатор для этого...
Да дело в том, щас сам буду проверять это сравнением, что вроде как если в эксперта вбить тот же код по работе с тиками, то возможна потеря тиков в роботе. Точнее не из-за кода, а вообще. Изначально, что якобы эксперт может пропускать тики (когда выполняет ф-ию старт), а индикатор нет. Особенно когда скорость их поступления в терминал высокая. Поэтому, возможно, для корректной работы с тиками надо работать через индикатор или нет? Кто как считает? Подскажите...
Да дело в том, щас сам буду проверять это сравнением, что вроде как если в эксперта вбить тот же код по работе с тиками, то возможна потеря тиков в роботе. Точнее не из-за кода, а вообще. Изначально, что якобы эксперт может пропускать тики (когда выполняет ф-ию старт), а индикатор нет. Особенно когда скорость их поступления в терминал высокая. Поэтому, возможно, для корректной работы с тиками надо работать через индикатор или нет? Кто как считает? Подскажите...
Про тики - согласен, но даже индикатор, насколько я знаю, не решит всех проблем. Чтобы получить действительно все тики - нужно пользоваться функцией CopyTicks() (для МТ5). Но с ней сейчас проблемы.
https://www.mql5.com/ru/forum/42122/page17#comment_2835080
Если разговор про МТ4 - то индикатором, однозначно, лучше.
Только анализировать log файлы типа \logs\20160922.log. Но из MQL4/5 их не достать, доступна для чтения/записи только папка \MQL5\Files.
Значит, пишем внешний скрипт, который будет читать лог, анализировать его и сообщать в МТ4/5 о необходимости открыть позицию.
Или он тупо копирует раз в секунду лог в папку Files, а оттуда уже можно читать и анализировать средствами MQL
Про тики - согласен, но даже индикатор, насколько я знаю, не решит всех проблем. Чтобы получить действительно все тики - нужно пользоваться функцией CopyTicks() (для МТ5). Но с ней сейчас проблемы.
https://www.mql5.com/ru/forum/42122/page17#comment_2835080
Если разговор про МТ4 - то индикатором, однозначно, лучше.
Благодарю. С этой веткой знаком, перечитываю. Да. Об МТ4. Пишу...
Сравниваю показания индикатора и эксперта - всё бьёт. На евродолларе, да и пятница - вроде и скорости нормальные такие, брокер англ. Активтрайдерс - за рек. не считать. Пока код перенёс в робота... Дальше там другие будут обработки тиков - там также буду смотреть и сравнивать... Благодарю за помощь.
Там тоже надо из индикатора всё это вытаскивать... Возможно часть сделаю кодом прямым в роботе, что будет не критично по тикам, часть в индикаторах...
Подскажите пожалуйста, как в MT4 зафиксировать факт, что проход при оптимизации закончился раньше времени по причине слива депозита?
1. Визуально - по дате окончания теста.
2. Программно - можно записывать в глобальную переменную дату/время , в которую будет минимальное эквити
Подскажите пожалуйста, как в MT4 зафиксировать факт, что проход при оптимизации закончился раньше времени по причине слива депозита?