elavr Опубликовано 15 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 15 февраля, 2022 1 час назад, ademen сказал: Имеется виду что другому пользователю не нужно скидать базу и обьяснять куда ее нужно поместить. Например, отправить на форум ех4, в котором уже есть csv данные Смотреть в сторону ресурсов. https://www.mql5.com/ru/docs/runtime/resources https://www.mql5.com/ru/forum/334151 Изменено 15 февраля, 2022 пользователем elavr Ссылка на сообщение Поделиться на другие сайты More sharing options...
ademen Опубликовано 16 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 февраля, 2022 В 15.02.2022 в 06:39, elavr сказал: Смотреть в сторону ресурсов. https://www.mql5.com/ru/docs/runtime/resources https://www.mql5.com/ru/forum/334151 Да, я пробовал, но столкнулся с максимальным размером ресурсов, поэтому вариант не работает. Нужно попытаться сжать файл или же попробовать переписать в .mqh и присоединить. Может был похожий опыт? Есть вариант автоматически переписать в .mqh? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 16 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 февраля, 2022 1 час назад, ademen сказал: Да, я пробовал, но столкнулся с максимальным размером ресурсов, поэтому вариант не работает. Нужно попытаться сжать файл или же попробовать переписать в .mqh и присоединить. Может был похожий опыт? Есть вариант автоматически переписать в .mqh? Ну, вроде, никто же не отменял текстовых редакторов.... Если там не строки, а числа - то все это добро складывается в массив. Если смешанная структура - можно завести под нее структуру и отдавать. Проблема только со строками - но и она решается в экселе/google sheets за пять минут, мне кажется? Я, конечно, умозрительно рассуждаю.... вы приведите пример таблицы, заголовок и одну строку 1 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
elavr Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 3 часа назад, ademen сказал: Есть вариант автоматически переписать в .mqh? Коллега, если бы внимательно ознакомились с моими ссылками, то узнали бы, что метаквотосы уже давно позаботились о вас: Спойлер но как правильно заметил коллега @Rigalподобные задачи очень легко решаются с помошью эксел/гугл таблиц и прочего подобного. 3 часа назад, ademen сказал: Да, я пробовал, но столкнулся с максимальным размером ресурсов, поэтому вариант не работает. Нужно попытаться сжать файл или же попробовать переписать в .mqh и присоединить Да, нужно загонять в архив. Как работать с архивом, можно подсмотреть у коллеги @fxsaber - https://www.mql5.com/ru/code/20225 1 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
elavr Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 В 15.02.2022 в 10:53, ademen сказал: Имеется виду что другому пользователю не нужно скидать базу и обьяснять куда ее нужно поместить. Например, отправить на форум ех4, в котором уже есть csv данные Почему бы не размещать файл на сервере,а потом с помощью webrequrest не закачивать в бота? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
ademen Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 6 часов назад, Rigal сказал: Я, конечно, умозрительно рассуждаю.... вы приведите пример таблицы, заголовок и одну строку forex_history_open_positions.rar 3 часа назад, elavr сказал: Почему бы не размещать файл на сервере,а потом с помощью webrequrest не закачивать в бота? Это вариант, но если есть альтернативы, можно сьекономить на аренде сервера. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 4 часа назад, elavr сказал: Почему бы не размещать файл на сервере,а потом с помощью webrequrest не закачивать в бота? Ну тут дополнительная точка сбоя. Хотя идея очень элегантная. 1 час назад, ademen сказал: Это вариант, но если есть альтернативы, можно сьекономить на аренде сервера. Да не надо арендовать, выложите на файлообменник бесплатный, файлом 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 1 час назад, ademen сказал: forex_history_open_positions.rar 14 \u041c\u0411 · 1 загрузка А, сентимент... Ну тут даже строчки уже в кавычках - прекрасная подсказка от @elavr, вставка из csv (не знал, хозяйке на заметку) Но идея с файлом с сервера позволит его обновлять независимо 1 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
ademen Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 2 часа назад, Rigal сказал: Да не надо арендовать, выложите на файлообменник бесплатный, файлом Честно говоря с сервером с мт еще не работал, может исходя из большого опыта есть напримере статья на счет этого? 2 часа назад, Rigal сказал: А, сентимент... Ну тут даже строчки уже в кавычках - прекрасная подсказка от @elavr, вставка из csv (не знал, хозяйке на заметку) Но идея с файлом с сервера позволит его обновлять независимо @elavr интересный скрин показал, как то упускал его с виду, будет что поизучать по вечерам, спасибо. Я пытался попробовать вставка из csv но mql4 ложится. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 8 часов назад, ademen сказал: Честно говоря с сервером с мт еще не работал, может исходя из большого опыта есть напримере статья на счет этого? В генерике мое последнее сообщение содержит архив, в котором, в частности, вложена библиотека WebUtils, заворачивающая обращение к ресурсам по http и https, с возможностью переключения между dll и WebRequest. Возвращает строку. Не знаю, влезет ли ваш файл в строку. 8 часов назад, ademen сказал: Я пытался попробовать вставка из csv но mql4 ложится. Как я упоминал выше, в вашем случае проблему можно решить простым копи-пастом. Например, вот так: string csv[][6] = { {"id","broker","symbol","buy","sell","time"}, {"1","Instaforex","EURUSD","51.12","48.88","2021-04-28 09:15:40"}, {"2","Instaforex","GBPUSD","50.47","49.53","2021-04-28 09:15:40"}, {"3","Instaforex","AUDUSD","62.89","37.11","2021-04-28 09:15:40"}, {"4","Instaforex","NZDUSD","58.31","41.69","2021-04-28 09:15:40"}, {"5","Instaforex","USDCHF","71.22","28.78","2021-04-28 09:15:40"}, {"6","Instaforex","USDJPY","60.45","39.55","2021-04-28 09:15:40"}, {"7","Instaforex","USDCAD","66.66","33.34","2021-04-28 09:15:40"}, {"8","Instaforex","XAUUSD","54.55","45.45","2021-04-28 09:15:40"}, {"9","Instaforex","AUDCAD","63.8","36.2","2021-04-28 09:15:40"}, }; Привести ваш файл в такое состояние можно примерно за минуту при помощи нормального текстового редактора, (SublimeText, Notepad++ в помощь, Alt+Shift для выделения колонками и вставки первой скобки, замена символа переноса строки на закрывающую скобку, запятую и символ переноса строки) После этого в советнике делаем вот так: for(int i = 1; i < ArrayRange(csv, 0); i++){ string id = csv[i][0]; string broker = csv[i][1]; string symbol = csv[i][2]; string buy = csv[i][3]; string sell = csv[i][4]; string time = csv[i][5]; Print("id=", id, ", ", "broker=", broker, ", " "symbol=", symbol, ", " "buy=", buy, ", " "sell=", sell, ", " "time=", time); } И получаем вот такой результат: Спойлер Ну и дальше еще более тривиально 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 17 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 февраля, 2022 Только что, Rigal сказал: Не знаю, влезет ли ваш файл в строку. В крайнем случае, можно поделить на 10 файлов и забирать по одному Ссылка на сообщение Поделиться на другие сайты More sharing options...
Lexa000 Опубликовано 20 февраля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 февраля, 2022 В 14.02.2022 в 06:50, usver73 сказал: Вы очень странно добивались умного ответа задавая супер лаконичные вопросы. На которые, кстати, были попытки дать ответ, но кроме "хмм.." никакой реакции.. Что касается Вашей функции автолота, то при выполнении условия: лотность очередного и всех последующих ордеров сбросится к минимальному значению LOTS (или к минимальному расчетному через риск), что не логично в сетках. Как правило, если стоит задача ограничить рост лотности, то открывают с определенного колена ордера с Максимальным заданным значение лота (MaxLot) bool BullishEngulfingExists() { if(Open[1] <= Close[2] && Close[1] >= Open[2] && Open[2] - Close[1] >= 10*Point+Digits && Close[1] - Open[1] >= 10*Point+Digits) return (true); return (false); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool BullishHaramiExists() { if(Close[2] < Open[2] && Open[1] < Close[1] && Open[2] - Close[2] > iATR(NULL, 0, 14, 2) && Open[2] - Close[2] > 4*(Close[1] - Open[1])) return (true); return (false); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool DojiAtBottomExists() { if(Open[3] - Close[3] >= 8*Point && MathAbs(Close[2] - Open[2]) <= 1*Point && Close[1] - Open[1] >= 8*Point) return (true); return (false); } Почти весь код примерно такой, и множитель при правильной настройке подходит. Открытыми ордерами терминал не нагружает Ссылка на сообщение Поделиться на другие сайты More sharing options...
Владимир Стариков Опубликовано 9 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 9 марта, 2022 Здравствуйте! Понимаю, что может не тут надо писать о данной проблеме, но все же. На индикатор A/D накладываю конверт (скрин реал тайм) - отображается корректно. Сохраняю шаблон как тестер и включаю тестер и A/D с наложенным конвертом (скрин тестер) отображаются некорректно. В чем дело??? Спасибо за ответы! Ссылка на сообщение Поделиться на другие сайты More sharing options...
acceptme3 Опубликовано 10 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 марта, 2022 Доброго времени суток! Недавно начал изучать MQL4, пробую написать советника по данным индикатора renko bricks v2. Проблема в том что советник с простыми, казалось бы, вычислениями очень медленно прогоняется в тестере. Он работает, но очень медлленно прогоняется. Я подозреваю, что по неопытности мог написать чипухи, поэтому очень прошу помощи у старших товарищей.) Суть кратко. Советник скальпер, торгует на м1, ждет смены цвета кирпича и открывает сделку в сторону нового движения. Прилагаю ниже исходники самого советника, и индюка. Заранее благодарю! RenkoBricks v2.mq4 RenkoSerf.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Евгений72 Опубликовано 13 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 13 марта, 2022 Доброе время суток!!!! Помогите изменить функцию которая калькулирует только убыток от убыточных ордеров в сетке ордеров //+----------------------------------------------------------------------------+ //| Калькуляция убыточных ордеров | //+----------------------------------------------------------------------------+ double Loss() { double oLoss = 0; for(int i = OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if(OrderType() == OP_BUY || OrderType() == OP_SELL) { if(OrderProfit()<0) { oLoss += OrderProfit(); } } } } } return(oLoss); } Изменить нужно в функции - чтобы калькулировалась только минимальной части лота от каждого ордера сетки ордеров. Min Lot=0.01 Спасибо!!!! Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 14 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 14 марта, 2022 23 часа назад, Евгений72 сказал: чтобы калькулировалась только минимальной части лота от каждого ордера сетки ордеров. Min Lot=0.01 как-то витиевато условие сформулировали... Если нужно учитывать ордера в просадке и лотностью 0,01 лота, то добавите условие, типа: if(OrderProfit()<0 && OrderLots()>=0.01 && OrderLots()<0.02) // а лучше найти функцию сравнения double- значений. Где-то в ветке пролетала Ссылка на сообщение Поделиться на другие сайты More sharing options...
Евгений72 Опубликовано 14 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 14 марта, 2022 6 часов назад, usver73 сказал: как-то витиевато условие сформулировали... Если нужно учитывать ордера в просадке и лотностью 0,01 лота, то добавите условие, типа: if(OrderProfit()<0 && OrderLots()>=0.01 && OrderLots()<0.02) // а лучше найти функцию сравнения double- значений. Где-то в ветке пролетала Спасибо но выбрать нужно не все лоты чей размер = 0.01 а от каждого лота только 0.01 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 14 марта, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 14 марта, 2022 2 часа назад, Евгений72 сказал: от каждого лота только 0.01 Может, от каждого ОРДЕРА 0.01? Тогда OrderProfit()/ (OrderLits()/0.01) Ссылка на сообщение Поделиться на другие сайты More sharing options...
masalex61 Опубликовано 2 апреля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 апреля, 2022 Добрый день, учусь языку mql по урокам и попробовал написать простенький советник на трех индюках но что-то пошло не так, компилируется советник без ошибок но не хочет открывать ордера хотя вроде все правильно. Может кто ткнет меня мордой в ошибку? sova 3.0.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
masalex61 Опубликовано 6 апреля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 апреля, 2022 да вот еще индикаторы которые я хотел применить в советнике blogtreiders.ex4 Chaos Signal.ex4 Solar.ex4 sova 3.0.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
masalex61 Опубликовано 6 апреля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 апреля, 2022 А вот изначальный шаблон для советника и инструкция как им пользоваться shablon 3.0.ex4 shablon 3.0.mq4 Свой Советник Инструкция.pdf Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 6 апреля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 апреля, 2022 В 02.04.2022 в 09:09, masalex61 сказал: Добрый день, учусь языку mql по урокам и попробовал написать простенький советник на трех индюках но что-то пошло не так, компилируется советник без ошибок но не хочет открывать ордера хотя вроде все правильно. Может кто ткнет меня мордой в ошибку? sova 3.0.mq4 "Не хочет открывать ордера" - очень размытое определение проблемы. Есть смысл добавить Print инструкции в те места, где у вас проверяются условия открытия, вывести в лог значения, на которые советник должен опираться - и посмотреть, какие именно значения не соответствуют вашим ожиданиям. Вариантов масса: ноль, EMPTY_VALUE и так далее. "Попробовал написать простенький советник" - не надо лукавить, в советнике реализована попытка защиты по номеру счета, ключу и ограничению даты использования. Логика достаточно развесистая для того, чтобы ожидать от автора способности отладиться: накидать такой код до компилируемого состояния и не понимать, почему оно не открывает - невозможно. Я бы рекомендовал обратиться к тому, кто его исходно писал, это очевидно не вы. Ссылка на сообщение Поделиться на другие сайты More sharing options...
loki177 Опубликовано 26 апреля, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 апреля, 2022 может ли кто подсказать правильное использование команды OrderClose для MT4, нужно для работы с бинарными опционами для досрочного закрытия, прибыль в этом случае небольшая, но лучше чем ничего, скрипт для форекса не работает. сейчас досрочно закрываю кнопочкой рядом с ордером. брокер Grand Capital. может есть готовый скрипт закрытия MT4 для опционов? Ссылка на сообщение Поделиться на другие сайты More sharing options...
tim.bort Опубликовано 24 мая, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 мая, 2022 Премного извиняюсь, может это уже мелькало тут(ветка огромная для прочтения) - подскажите кусочек кода на запрет торговли в пятницу с 22:00 по понедельник 06:00 например Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rigal Опубликовано 24 мая, 2022 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 мая, 2022 39 минут назад, tim.bort сказал: Премного извиняюсь, может это уже мелькало тут(ветка огромная для прочтения) - подскажите кусочек кода на запрет торговли в пятницу с 22:00 по понедельник 06:00 например 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти