Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2420
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день!
В скрипте осуществляется запись данных в в песочницу Files:
string NameSettings = "abc.set"; // Формируется имя для Settings
int file_handle=FileOpen("//"+NameSettings,FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI);
FileWriteString(file_handle,Settings+"\r\n"); // Записывается строка Settings в песочницу Files
Подскажите, пожалуйста, как осуществить эту запись непосредственно в папку тестера (она же не песочница?):
C:\Users\lizak\AppData\Roaming\MetaQuotes\Terminal\FA97EA291D4188820508F9D2B5AAD50F\MQL5\Profiles\Tester
С уважением, Александр
Стесняюсь спросить, а зачем?
Если прям очень надо, то можно линки на папки сделать где надо.
Добрый день!
...
Подскажите, пожалуйста, как осуществить эту запись непосредственно в папку тестера (она же не песочница?)
нашел походу баг в МЕ - в такой конструкции из - за break прерывается не только ближний (вложенный) цикл for ... но и внешний - перебора ордеров - этого быть не должно - т.е. он
все позы не переводит по модификации СЛ - но выходит из цикла перебора всех поз сразу после модификации крайней позы. Это делаю проверки для реал торгов:
(возможно надо оформлять проверки в виде ф-ии - отдельно - что модификация текущей позиции прошла успешно)
нашел походу баг в МЕ - в такой конструкции из - за break прерывается не только ближний (вложенный) цикл for ... но и внешний - перебора ордеров - этого быть не должно - т.е. он
все позы не переводит по модификации СЛ - но выходит из цикла перебора всех поз сразу после модификации крайней позы. Это делаю проверки для реал торгов:
(возможно надо оформлять проверки в виде ф-ии - отдельно - что модификация текущей позиции прошла успешно)
В таком исполнении у тебя внешний цикл походу вообще работать не должен. В обоих циклах используется одна и та же переменная i, объявленная до циклов.
Во внешнем она инициализируется кол-вом ордеров -1 и идет на декремент (уменьшение). А как дело доходит до внутреннего цикла так ее значение обнуляется.
У тебя перебор ордеров есть уже во внешнем цикле - зачем его дублировать еще и во внутреннем? Имхо мешанина какая-то. Бага не вижу.
нашел походу баг в МЕ - в такой конструкции из - за break прерывается не только ближний (вложенный) цикл for ... но и внешний - перебора ордеров - этого быть не должно - т.е. он
все позы не переводит по модификации СЛ - но выходит из цикла перебора всех поз сразу после модификации крайней позы. Это делаю проверки для реал торгов:
(возможно надо оформлять проверки в виде ф-ии - отдельно - что модификация текущей позиции прошла успешно)
Раньше компилятор выдавал предупреждение при повторном объявлении переменной внутри цикла.
Но в январе-феврале этого года кто то из разрабов решил, что у прогеров слишком много свободного времени и убрал это предупреждение.
Теперь, что бы отловить ошибку приходится тратить кучу времени.
Но как говорится "жираф большой, ему видней", хотя временами очень охота подкрутить шею этому жирафу.
ЗЫ. говорят в четвёрке так было всегда.
Раньше компилятор выдавал предупреждение при повторном объявлении переменной внутри цикла.
Но в январе-феврале этого года кто то из разрабов решил, что у прогеров слишком много свободного времени и убрал это предупреждение.
Теперь, что бы отловить ошибку приходится тратить кучу времени.
Но как говорится "жираф большой, ему видней", хотя временами очень охота подкрутить шею этому жирафу.
ЗЫ. говорят в четвёрке так было всегда.
Думаю, что прежде, чем мучить жирафа, нужно ознакомиться с областью видимости переменных.
Думаю, что прежде, чем мучить жирафа, нужно ознакомиться с областью видимости переменных.
Вы батенька повторяетесь.
Повторюсь и я. Было нормально. Сделали плохо.Раньше компилятор выдавал предупреждение при повторном объявлении переменной внутри цикла.
А причем тут повторное объявление переменных и область видимости?
Переменная i объявлена за пределами (снаружи) обоих циклов, видна как во внешнем, так и во внутреннем.
Другое дело что она инициализируется в обоих циклах, а индексация в них встречная.
Здравствуйте, похоже, вам нужно пользоваться директивой
Спасибо за совет!
Добавил в своем скрипте директиву:
#property strict
#property script_show_inputs
//#property tester_no_cache
#property tester_file "NameSettings"
#property link "https://www.mql5.com/ru/code/26132 MultiTester - библиотека"
#property link "https://www.mql5.com/ru/code/26223 TesterCache - библиотека"
#property link "https://www.mql5.com/ru/code/16280 TypeToBytes - библиотека"
На этапе компиляции Компилятор запишет в настройках выполняемого модуля объявленные значения.
Строка string NameSettings является переменной и формируется следующим образом:
Now = TimeLocal(); // Момент формирования имени для Settings
TimeToStruct(Now,dt_struct); // Разложение момента формирования
string mnth = dt_struct.mon; // Месяц, день
string dy = dt_struct.day;
string NameSettings = mnth+dy+"-"+DoubleToString(ProfitNew,0)+".set"; // Формируется имя для Settings
int file_handle=FileOpen("//"+NameSettings,FILE_READ|FILE_WRITE|FILE_CSV|FILE_ANSI);
FileWriteString(file_handle,Settings+"\r\n"); / Записывается строка Settings в песочницу Files
В Files нужный файл записывается нормально, а в Tester никакого дубликата не появляется.
Не могли бы вы уточнить, что ещё может помочь для записи в папку Tester?
С уважением, Александр
Всем добрый день. Пытаюсь реализовать такую идею- сделки открываются по полосам Болленджера, а когда цена дошла до середины полос Болленджера, которую эмитируем скользящей средней с тем же периодом что и Болленджер. Когда дошли до Ма, то закрываем часть позиции.
Сделки открываются по сигналам полос Болленджера норм, а вот мои функции на закрытие части ордера не работают, вот код функций.
В журнале принтов нету- и не могу понять почему. Подскажите пожалуйста, что делаю не правильно и как это добро поправить чтобы функции начали закрывать часть лота ордера? p/s сами функции я вызвал в он тике- в этом проблемы не должно быть…