GSK_FX Опубликовано 20 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2019 Добрый день. Мне нужно на графике провести линию от начала до конца нескольких месяцев на часовом графике. Проблема в том, что начало месяца не совпадает с первым числом иногда, так как суббота и воскресенье выпадают. Нужно что то типа: for(i=0; i<10; i++) { time1 = iTime(NULL, PERIOD_MN1, i); time2 = time1 + 60*60*24*31; TrendLine(time1, time2); // Моя функция линии по цене открытия месяца. } Заранее спасибо. P.S. Начало и конец линий не совпадают.... Либо есть перехлест либо разрыв... Очень заметно если включены разделители периодов. Хотелось чтобы начало и конец совпадали с разделителями периодов. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 20 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 июня, 2019 8 часов назад, GSK_FX сказал: time1 = iTime(NULL, PERIOD_MN1, i); time2 = time1 + 60*60*24*31; Привет! time2 = iTime(NULL, PERIOD_MN1, i+1); - так не пробовали? Ссылка на сообщение Поделиться на другие сайты More sharing options...
GSK_FX Опубликовано 22 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2019 Пробовал ((( Но iTime(NULL, PERIOD_MN1, i+1) всегда возвращает 1.ММ.ГГГГ хотя торговля может начинаться и с 3.ММ.ГГГГ если 1 и 2 это выходные..... Все равно спасибо Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 22 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 22 июня, 2019 2 часа назад, GSK_FX сказал: Но iTime(NULL, PERIOD_MN1, i+1) всегда возвращает 1.ММ.ГГГГ хотя торговля может начинаться и с 3.ММ.ГГГГ если 1 и 2 это выходные..... Это так, но почему не нравится? на графике выходные отсутствуют, поэтому линия будет строится от первого бара. см. рис. как раз июнь с 3 числа открылся, линия с 01.06.2019 00:00 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
molot_1 Опубликовано 27 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2019 Всем Доброго дня! Просмотрел урок "Как написать форекс скрипт на MQL " и попытался для себя написать скрипт. Будьте добры подскажите почему не открываются ордера? Sell.ex4 Sell.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ent Опубликовано 27 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2019 29 минут назад, molot_1 сказал: Всем Доброго дня! Просмотрел урок "Как написать форекс скрипт на MQL " и попытался для себя написать скрипт. Будьте добры подскажите почему не открываются ордера? Sell.ex4 6 \u043a\u0411 · 0 загрузок Sell.mq4 2 \u043a\u0411 · 3 загрузки Ошибка заключается в том, что в момент отправки ордера(-ов), вы не правильно определяете TakeProfit и StopLoss int ticket = OrderSend( Symbol(), Otype, Lots, Bid, Slippage, 20, 20, " ", Magic, 0, clrYellow); Обратите внимание на данную статью, https://docs.mql4.com/ru/trading/ordersend Внизу статьи есть неплохой пример. В примере вашего скрипта для открытия ордеров SELL, и при условии, что у вас 5 значный счет, а TakeProfit и StopLoss вы хотите установить 20 пунктов(4-х знак) Код будет выглядеть вот так: int ticket = OrderSend( Symbol(), Otype, Lots, Bid, Slippage, Bid + 200 * Point , Bid - 200 * Point, " ", Magic, 0, clrYellow); Перед тем как использовать, проверяйте скрипты на демо. Изменено 27 июня, 2019 пользователем Ent 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 27 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 июня, 2019 34 минуты назад, molot_1 сказал: Всем Доброго дня! Просмотрел урок "Как написать форекс скрипт на MQL " и попытался для себя написать скрипт. Будьте добры подскажите почему не открываются ордера? Sell.ex4 6 \u043a\u0411 · 0 загрузок Sell.mq4 2 \u043a\u0411 · 0 загрузок Нужно анализировать ошибки функцией GetLastError() https://docs.mql4.com/ru/check/getlasterror Пример: Print("Ошибка откратия ордера! "+IntegerToString(GetLastError())); В результате чего выдает код 130 Sell EURUSD,H1: Ошибка откратия ордера! 130 Ошибка 130 Лезем в справочник: Коды возврата торгового сервера https://docs.mql4.com/ru/constants/errorswarnings/enum_trade_return_codes И видим : 130 ERR_INVALID_STOPS Неправильные стопы То, что коллега написал выше. Изменено 27 июня, 2019 пользователем MikR0ReR 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Gold Advisor Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 Всем привет! Пытаюсь привязать советника к своему счёту, через mql код. Выдаёт ошибку: " 'start' - function can be declared only in the global scope ". Может кто подскажет в чём проблема? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 11 минут назад, Gold Advisor сказал: Всем привет! Пытаюсь привязать советника к своему счёту, через mql код. Выдаёт ошибку: " 'start' - function can be declared only in the global scope ". Может кто подскажет в чём проблема? Как я понимаю это декомпилированный код. Может быть функции старт у тя две, что говорит "function already defined and has body". Главную оставляем, а вторю переименовываем. Или она внутри другой функции, что говорит "function can be declared only in the global scope", так тоже не может быть. Ее нужно вынести и сделать глобальной. Точнее нужен код. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Gold Advisor Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 10 минут назад, MikR0ReR сказал: Как я понимаю это декомпилированный код. Может быть функции старт у тя две, что говорит "function already defined and has body". Главную оставляем, а вторю переименовываем. Или она внутри другой функции, что говорит "function can be declared only in the global scope", так тоже не может быть. Ее нужно вынести и сделать глобальной. Точнее нужен код. Да вроде нет, оригинал. Сейчас прикреплю. Trio_Dancer_4.4.5_R3.zip Ссылка на сообщение Поделиться на другие сайты More sharing options...
Gold Advisor Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 Да я вставил её внутрь, другой функции)) В кодирование не особо силён, вы могли бы сказать куда вставить файл защиты? Ссылка на сообщение Поделиться на другие сайты More sharing options...
MikR0ReR Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 9 минут назад, Gold Advisor сказал: Да я вставил её внутрь, другой функции)) int start() должно быть одно. В коде уже есть на 253 строке. со скрина вы пытаетьсь вставить в 289, так нельзя. Если вы о if(AccountNumber()!=111111) .........., то можно вставить в 246 строку. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 30 июня, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 июня, 2019 MyStopLoss.mq4 Друзья помогите дописать код! Во вложенном файле есть URL, пробежаться по URL и сохранить последние данные "time1,time2,price_sell,price_buy,sell_stop,buy_stop" и сохранить их в переменную. Спасибо. Изменено 1 июля, 2019 пользователем awals Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 В 30.06.2019 в 17:16, awals сказал: Во вложенном файле есть URL, пробежаться по URL и сохранить последние данные "time1,time2,price_sell,price_buy,sell_stop,buy_stop" и сохранить их в переменную. awals файл не прикрепился, URL - Uniform Resource Locator — унифицированный указатель ресурса, используется как стандарт записи ссылок на объекты в Интернет. Что значит по нему "пробежаться"? ОК, нашли какие-то данные, т.к. данные имеют разный тип их в одну структуру сохранить? Пишите подробнее/яснее что хотите получить. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 Подскажите, почему советник тралит не только свои ордера, но и ордера открытые вручную фрагмент трала int start() { bool BuySignal=false; bool SellSignal=false; if (HourEnd==TimeHour(TimeCurrent())) { DeleteOrders(); } if (TrailingStop!=0) { Trailing(); } далее тело программы функция трала //+------------------------------------------------------------------+ void Trailing() { for(int x=OrdersTotal() - 1; x>= 0; x--) { if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && TrailingStop>0) { if(OrderType()==OP_BUY) { if(Bid-OrderOpenPrice()>TrailingStop*Point) { if(OrderStopLoss()<Bid-TrailingStop*Point) { double sl = NormalizeDouble(Bid - TrailingStop*Point, Digits); OrderModify(OrderTicket(),OrderOpenPrice(), sl,OrderTakeProfit(),0,Green); } } } } if(OrderType()==OP_SELL) { if((OrderOpenPrice()-Ask)>TrailingStop*Point) { if ((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0)) { sl = NormalizeDouble(Ask+TrailingStop*Point, Digits); OrderModify(OrderTicket(),OrderOpenPrice(), sl,OrderTakeProfit(),0,Red); } } } } } //+------------------------------------------------------------------+ Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ent Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 Всем открытым ордерам в ручную через терминал присваивается OrderMagicNumber 0(ноль), следовательно если у вас Magic равен 0, то функция будет траллить и ордера открытые в ручную. Изменено 2 июля, 2019 пользователем Ent Не смог вставить спойлер с цитатой предыдущего поста 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 в том то и дело что магик не ноль в советнике Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ent Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 4 минуты назад, Partorius сказал: в том то и дело что магик не ноль в советнике Тип переменной Magic какой? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Partorius Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 1 час назад, Ent сказал: Тип переменной Magic какой? int Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 5 часов назад, 0ll_ сказал: awals файл не прикрепился, URL - Uniform Resource Locator — унифицированный указатель ресурса, используется как стандарт записи ссылок на объекты в Интернет. Что значит по нему "пробежаться"? ОК, нашли какие-то данные, т.к. данные имеют разный тип их в одну структуру сохранить? Пишите подробнее/яснее что хотите получить. Добрый День OLL_, это URL: http://tlap.com//wp-content/indicators/stops.php?symbol=EURUSD, с которого охота получить Данные. Там Данные записаны в Jsone. Данные которые нужны это имена последние в URL "time1":1562065200 "time2":1562068800 "price_sell":1.127 "price_buy":1.1325 "sell_stop":2.3356 "buy_stop":1.9159 И эти данные записать в отдельные переменные, простите выразиться не правильно. Например "time1" записать в переменную "datetime время = 1562065200 " и так далее. Уже всё пери пробивал ни как не могу разобраться. Помогите. Спасибо. Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 Ок, начинает проясняться. Что у нас есть? в каком месте остановились? Файл ответа сервера получили? если нет, читаем http://tlap.com/mql4-metod-webrequest/ цель получить файл и записать его в переменную string, потом можно вывести её в Print и посмотреть что получилось. (лучше делать скрипт) Смотри здесь: https://www.mql5.com/ru/forum/133523 Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 14 минут назад, 0ll_ сказал: Ок, начинает проясняться. Что у нас есть? в каком месте остановились? Файл ответа сервера получили? если нет, читаем http://tlap.com/mql4-metod-webrequest/ цель получить файл и записать его в переменную string, потом можно вывести её в Print и посмотреть что получилось. (лучше делать скрипт) Смотри здесь: https://www.mql5.com/ru/forum/133523 Данные с сайта получаю, выводил их в Файл всё как на сайте, я не понимаю как записать актуальные данные в отдельные переменные! Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 2 часа назад, awals сказал: Данные с сайта получаю, выводил их в Файл всё как на сайте, я не понимаю как записать актуальные данные в отдельные переменные! Это большое дело! Осталось немного, скинь файл сюда, по ссылке не открывается. Сейчас нужно найти по ключевым фразам данные, вырезать их, с конвертировать в нужный формат и записать. Ссылка на сообщение Поделиться на другие сайты More sharing options...
awals Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 24 минуты назад, 0ll_ сказал: Это большое дело! Осталось немного, скинь файл сюда, по ссылке не открывается. Сейчас нужно найти по ключевым фразам данные, вырезать их, с конвертировать в нужный формат и записать. Заранее спасибо. Json_Test.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll_ Опубликовано 2 июля, 2019 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 2 июля, 2019 awals я просил файл, который Вы получаете с сервера, можно в виде текста. Мы же в нём будем данные искать Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти