Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 111
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не понимаю как это, имена поправил, линия все равно идет красная вне зависимости от типа ордера,просто называется по разному. (потом надо найти способ обрезать ее по 10 бару), нужен именно способ
попробуй сейчас
Хорошо что тут исходник висит)
При нажатии кнопки компиляции бот дохнет вместе с терминалом, а после открытия ЕХ не открывается а этот файл пустой.
Выглядит вот так.
Еще смотрел, если ставить блу, грин, голд, вайт, эти цвета меняет, а вот даркгрей и азуре не ставит, получается белый цвет.
Хорошо что тут исходник висит)
При нажатии кнопки компиляции бот дохнет вместе с терминалом, а после открытия ЕХ не открывается а этот файл пустой.
Выглядит вот так.
Еще смотрел, если ставить блу, грин, голд, вайт, эти цвета меняет, а вот даркгрей и азуре не ставит, получается белый цвет.
string string_value, // строка
int start_pos, // с какой позиции начать
int length=0 // длина извлекаемой строки
);
Спасибо!
Ещё есть потребность в помоще - нужно узнать сколько знаков в строке - как это сделать?
Использую StringSplit для разбиения прочитанной из файла строки. Но массив на выходе теряет строки, все кроме первой. На выводе все кроме первой строки - пустые, хотя размер массива верный.
Также, встречено непонятное поведение с массивами строк. Приходиться делать двумерные массивы, чтобы строки сохранять в массив.
Встречалась такое поведение у кого?
if( StringFind( fileBuffer[idx][0], "[Main]" ) >= 0 ) {
idx++;
Print( "Buffer(main) = " + fileBuffer[idx][0] ); // debug
if( StringFind( fileBuffer[idx][0], "Kit_Names=" ) >= 0 ) {
Print( "check1 - " + fileBuffer[idx][0] ); // debug
string tmp = StringSubstr( fileBuffer[idx][0], 10 );
Print( tmp ); // debug
StringReplace( tmp, "\"", "" );
Print( tmp ); // debug
Print( StringSplit( tmp, sep, list ) );
Print( "check22 - " + tmp ); // debug
for(int i = 0; i < ArrayRange(list,0); i++) Print(list[i][0]); // debug
}
}
idx++;
}
Спасибо!
Ещё есть потребность в помоще - нужно узнать сколько знаков в строке - как это сделать?
Возвращает число символов в строке.
string string_value // строка
);
Возвращает число символов в строке.
string string_value // строка
);
Объявляю на глобальном уровне советника массив. Затем в специальной функции init() вызываю пользовательскую функцию, которая заполняет массив строковыми константами.
Далее в специальной функции start() использую массив только для считывания данных.
Через некоторое время работы советника в массив попадают другие данные. То есть запустив советник, я ожидаю что во время его работы массив будет неизменным, но данные каким-то образом попадают в массив, при чем только через какое-то время (более 10 минут). При перезапуске советника естественно массив заполняется так как надо, но через время опять по непонятным для меня причинам в массив попадают не те значения.
Выход вижу только, если массив постоянно перезаполнять в start(), но это как-то не очень мне нравится, так как реально массив нужно заполнить только при инициализации.
В чем может быть дело? Как уберечь массив от модификаций?
Подскажите, пожалуйста.
...
В чем может быть дело? Как уберечь массив от модификаций?
Подскажите, пожалуйста.
Объявляю на глобальном уровне советника массив. Затем в специальной функции init() вызываю пользовательскую функцию, которая заполняет массив строковыми константами.
Далее в специальной функции start() использую массив только для считывания данных.
Через некоторое время работы советника в массив попадают другие данные. То есть запустив советник, я ожидаю что во время его работы массив будет неизменным, но данные каким-то образом попадают в массив, при чем только через какое-то время (более 10 минут). При перезапуске советника естественно массив заполняется так как надо, но через время опять по непонятным для меня причинам в массив попадают не те значения.
Выход вижу только, если массив постоянно перезаполнять в start(), но это как-то не очень мне нравится, так как реально массив нужно заполнить только при инициализации.
В чем может быть дело? Как уберечь массив от модификаций?