0ll Опубликовано 22 июня, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2018 Юлия-Julik, приведённый Вами пример (ld_8 * gd_100), намекает, что советник был декомпилирован до 600 билда терминала, т.е. очень старый и как он будет работать - неизвестно.Предупреждения можно игнорировать - просто в 600++ билдах проверки результатов операций с ордерами стали обязательными.Sell OrderModify Error 4109 - Торговля не разрешена. Попробуйте включить разрешение торговать в терминале. Есть кнопочка. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
disx Опубликовано 27 июня, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2018 Здравствуйте!делаю первые шаги в программировании на MQL4, пишу простой советник который отправляет Push notifications когда свеча закрылась выше/ниже средней, но загвоздка в том что после закрытия свечи Нотификейшн отправляется при каждом тике, а мне нужно один раз после закрытия, ну и если через некоторое время в тот же день появляется обратный сигнал тоже присылать только 1 уведомление. Помогите пожалуйста кто знает как это можно сделать (ну или поделитесь кусочком кода :"> )? Заранее спасибо за помощь. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 27 июня, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2018 загвоздка в том что после закрытия свечи Нотификейшн отправляется при каждом тикеэто распространённая логическая задача. решение:- объявляем переменную на глобальном уровне int next_signal = -1; // направление следующего сигнала- там где уведомления пишем: if ( Close[1] > MA && next_signal != 1 ) { next_signal = 1; //уведомление: выше МА } if ( Close[1] Первое уведомление придёт сразу, а потом как положено. Изменено 30 июня, 2018 пользователем 0ll 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Sam123456789 Опубликовано 2 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2018 Добрый день товарищи форумчане!помогите пожалуйста с вроде бы простой технической задачей. Она от части перекликается с предыдущим вопросом.я вычисляю сигнал к покупке, вычисляю я его при открытии каждого нового бара.получил сигнал - ок. (с этим проблем нет. сигнал сохраняю.)теперь проблема! *** - Далее мне надо ждать 1-2 (N) свечей для подтверждения сигнала, далее+> ---- в этом и есть вопрос! как запустить функцию, при поступлении сигнала с задержкой на N баров, при том что бы после исполнения задержки и подтверждения сигнала, функции внутри (все дальнейшие, расчеты и выставление ордеров)выполнялись уже все, то есть без повторной проверки условий выше (без новых задержек). а только потом был выход на уровень обратно.****даль как обычно - после подтверждения вычислить (sl-pt и так валее) выставить ОТ ЛОЖНЫЙ ордер. и т.д.Ну и дизактивировать сигнал после выставления ордера.что опробовано- так это Sleep (N) и дальнейшая проверка на открытие нового бара - не работет.Просто последовательные проверки открытия N баров. тоже не смог.Помогите кто может кто может помогите=) Ссылка на сообщение Поделиться на другие сайты More sharing options...
Sacred70 Опубликовано 2 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2018 Добрый день. Подскажите, пожалуйста, такой момент. Советник пишет результаты торговли в txt файл, как сохранять изменения в файле не закрывая его каждый раз? Изменено 2 июля, 2018 пользователем Sacred70 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 2 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2018 Подскажите, пожалуйста, такой момент. Советник пишет результаты торговли в txt файл, как сохранять изменения в файле не закрывая его каждый раз?FileFlush. Вам-бы справку открывать почаще. Ссылка на сообщение Поделиться на другие сайты More sharing options...
a_universal Опубликовано 16 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 июля, 2018 Уважаемые коллеги!Подскажите пожалуйста, как правильно задать условие для советника:Если предыдущий ордер закрылся по стопу, то открыть ордер в другую сторону ( то есть перевернуться) ?????Если можно кусочек кода с комментариями.. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 17 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 июля, 2018 a_universalПишем функцию поиска последнего закрытого рыночного ордера GetLastClosedOrder()в коде совы пишем вызов:GetLastClosedOrder(); // поиск и выбор последнего ордераif ( OrderTicket() > 0 && OrderProfit() { int newT = 1 - OrderType(); // тип нового ордера - обратный старому double newL = OrderLots() * 2; // размер лота = 2* размер старого - это Вам решать OrderSend( ... newT, newL ...);} Код функции:void GetLastClosedOrder()for ( int i = OrdersTotal()-1; i >= 0; i-- ) //ищем ордер в цикле среди закрытых{ if ( OrderSelect ( i, SELECT_BY_POS, MODE_HISTORY ) ) { if ( OrderSymbol() ==_Symbol && OrderMagicNumber()==Magic && OrderType() return; // нашли свой закрытый ордер - выходим } OrderSelect(-1, SELECT_BY_TICKET); // снимаем выделение} Пока код вставил - устал, что-то не так с редактором сообщений - надо-бы попроще... это-ж форум, а не заповедник графоманов. Изменено 17 июля, 2018 пользователем 0ll Ссылка на сообщение Поделиться на другие сайты More sharing options...
lexa.shvetsoff_87 Опубликовано 22 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июля, 2018 Всем привет!!!:-HПомогите написать скрипт который будет считать среднее движение цены по зиг-загу за n-ое количество проходов.Заранее спасибо! ТЗ.png Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 22 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июля, 2018 lexa.shvetsoff_87 Думаю проще не скрипт писать, а допилить индикатор Зиг-Заг. Там при подтверждении вершины сразу считать среднее. У скрипта нет доступа к индюкам в окне, а вызывать индюк из кода скрипта это ещё тот костыль, имхо. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
lexa.shvetsoff_87 Опубликовано 23 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 июля, 2018 lexa.shvetsoff_87 Думаю проще не скрипт писать, а допилить индикатор Зиг-Заг. Там при подтверждении вершины сразу считать среднее. У скрипта нет доступа к индюкам в окне, а вызывать индюк из кода скрипта это ещё тот костыль, имхо. Не могли бы вы мне помочь в этом?... А то в программировании я пока слабоват((( Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 23 июля, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 июля, 2018 lexa.shvetsoff_87 ок, помогу. У нас ветка обучения, вот и будем Вас обучать.Найдите код зиг-зага (который Вам нравится), напишите как хотите считать среднее, подумайте в каком виде это надо отображать, опишите что хотите получить и как использовать. Ссылка на сообщение Поделиться на другие сайты More sharing options...
ИльяРус Опубликовано 6 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 августа, 2018 Здравствуйте, Коллеги! Помогите, пожалуйста!Как можно цену свечи прошлых дней найти по времени и поместить в переменную, т.е. выставляю в настройках время(10 час) и сов. работает с ценой открытия 10-часовой свечи каждого прошлого дня. Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 7 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 августа, 2018 Здравствуйте, Коллеги! Помогите, пожалуйста!Как можно цену свечи прошлых дней найти по времени и поместить в переменную, т.е. выставляю в настройках время(10 час) и сов. работает с ценой открытия 10-часовой свечи каждого прошлого дня. ИльяРус, с наступлением нового дня, в цикле перебирайте все свечки по порядку от самой свежей, нулевой, к прошлым свечам. Смотрите время открытия каждой свечи. Как найдете свечу с нужным временем открытия, смотрите ее цену, а дальше уже по потребности с этой ценой работайте. 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
ИльяРус Опубликовано 8 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 августа, 2018 Здравствуйте, Коллеги! Помогите, пожалуйста!Как можно цену свечи прошлых дней найти по времени и поместить в переменную, т.е. выставляю в настройках время(10 час) и сов. работает с ценой открытия 10-часовой свечи каждого прошлого дня. ИльяРус, с наступлением нового дня, в цикле перебирайте все свечки по порядку от самой свежей, нулевой, к прошлым свечам. Смотрите время открытия каждой свечи. Как найдете свечу с нужным временем открытия, смотрите ее цену, а дальше уже по потребности с этой ценой работайте. Спасибо! =b Пробую сейчас через iBarShift, если не получится, то попробую по вашему методу. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
DreamWorks Опубликовано 8 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 августа, 2018 Спасибо! Пробую сейчас через iBarShift, если не получится, то попробую по вашему методу. Не. iBarShift не подойдет для такой задачи. Там надо одним из аргументов передавать время в формате datetime, а Вы его не знаете. У Вас есть только искомый час, но этого не достаточно. Цикл самое верное. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 8 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 августа, 2018 Спасибо! Пробую сейчас через iBarShift, если не получится, то попробую по вашему методу. Не. iBarShift не подойдет для такой задачи. Там надо одним из аргументов передавать время в формате datetime, а Вы его не знаете. У Вас есть только искомый час, но этого не достаточно. Цикл самое верное. От себя добавлю, что встречаются выходные и праздничные дни, котировки имеют разный оффсет (кстати Ваши 10 часов с каким оффсетом?), так что предложение DreamWorks самое эффективное.СсылкаСсылкаСсылкаСсылкаСсылка Изменено 8 августа, 2018 пользователем 0ll 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Sacred70 Опубликовано 11 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 11 августа, 2018 Добрый день. Как при записи в файл .txt узнать какая кодировка и как ее сменить? Ссылка на сообщение Поделиться на другие сайты More sharing options...
bor-ix Опубликовано 14 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 14 августа, 2018 Уважаемые начинающие и гуру кодеры!мне не приходит на почту ссылка на видео указанное в топе...подскажите где можно его скачать? Ссылка на сообщение Поделиться на другие сайты More sharing options...
rigel Опубликовано 16 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 августа, 2018 Здравствуйте!Мой робот после перезапуска терминала или остановки Интернета перезапускается, удаляет текущие заказы и помещает новые. Как я могу заставить робота продолжить работу с того места, где он ушел? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 16 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 августа, 2018 Мой робот после перезапуска терминала или остановки Интернета перезапускается, удаляет текущие заказы и помещает новые. Как я могу заставить робота продолжить работу с того места, где он ушел? Здравствуйте! Все роботы перезапускаются, при этом обязательно отрабатывает функция OnInit(). Вот в неё обычно пишут код, отвечающий за поиск ордеров, которые открыл советник - по паре и магику, заполняются все переменные, восстанавливаются значения индикаторов (если используются). В общем корректный перезапуск - творческий процесс, нужно знать логику робота.НО, закрывать текущие заказы это слишком - такого быть не должно. Вы сами писали или на заказ? Ссылка на сообщение Поделиться на другие сайты More sharing options...
rigel Опубликовано 16 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 августа, 2018 Сам писал. На основе мартин и мрежа с уроках. На них как можно добавить, чтобы продолжить работу после перерыва? Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 16 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 августа, 2018 На основе мартин и мрежа с уроках Прости, я не в курсе этого. Вы подробнее пишите что за заказы? рыночные или отложки. Удаление почему отрабатывает? Ссылка на сообщение Поделиться на другие сайты More sharing options...
rigel Опубликовано 17 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 августа, 2018 Прости, я не в курсе этого. Вы подробнее пишите что за заказы? рыночные или отложки. Удаление почему отрабатывает? Удаление работает, потому что значения переменных неверны после перезапуска. В начале комментариев есть курс, в котором есть уроки Мартингейла и Сети. Я думаю, что они подходят для примера перезагрузки после перезапуска. Мне нужно отложки. Если нет, я проверю на рыночные. Я не знал, где написать код восстановления. Я нашел, где получить значения ордера, и я думаю, что я это сделаю. Спасибо за помощь! 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
molot_1 Опубликовано 20 августа, 2018 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 августа, 2018 Доброго дня, уважаемые! TMA_Fair TMA без перерисовкиТема уже почти забыта)) Но всё же.. Не подскажите, почему данный индикатор не отображается на графике? Индюк взят из шапки и с последней страницы. Индикатор, естественно, закидываю куда нужно. Что с ним сделать?) Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти