Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1193

 
jamalhan2016:
Здравствуйте мне нужно помощь?? Что перенести счёта из mql4 на mql5 как зделеть??

это нужно, открыть счёт в мт5 и перевести деньги с этого счёта на счёт в мт5 (у своего брокера) 

 
Koldun Zloy:

Нельзя из DLL. Забудьте об этом. Нельзя и всё тут!

Обидно и странно это всё я уже за 3 года программировать научился а mql таким остался как так. Это конечно не приоритет но медленно(очень медленно и не спеша) этот вопрос нужно изучать. 

 
Stanislav Korotky:

Это какая-то древность (упоминается другой сервер). В этом году неоднократно, последний раз месяц назад на MetaQuotes-Demo был нормально создан новый демо-счет.

Кроме того, если сервер удален почему он показывается и пингуется в мастере открытия счета? Затык происходит только на последнем шаге.

Открылся счёт в мобильном терминале. Сперва правда пришлось авторизаваться по аккаунту mql5 в терминале и потом демо счёт добавился. Час добавлялся, но сработало.
 
Valeriy Yastremskiy:
Открылся счёт в мобильном терминале. Сперва правда пришлось авторизаваться по аккаунту mql5 в терминале и потом демо счёт добавился. Час добавлялся, но сработало.

У меня сейчас заработало нормально (моментально) на ПК.

 
Где mql4 создаёт массивы, можно ли изменить размер массива mql4 сторонними средствами (другими языками программирования)?
 
Здравствуйте!

Возможно, поднимаю примитивную баянную тему, но сколько не рылся, ответа не нашел.

Подскажите, как программно найти объекты определенного типа на графике (пусть их будет, например, 4-5), установленные ранее вручную, и сохранить их имена, координаты и другие свойства в буфер для дальнейшего использования в советнике?

Или, что может будет проще, как считать в программный буфер или просто набор переменных имя, координаты и другие свойства графического объекта сразу после его размещения мышью на графике?
При этом предполагается, что свойства данного объекта могут вручную или мышью корректироваться, после чего эти данные фиксируются как окончательные для дальнейшего использования в советнике.
 
vladmirad:
Здравствуйте!

Возможно, поднимаю примитивную баянную тему, но сколько не рылся, ответа не нашел.

Подскажите, как программно найти объекты определенного типа на графике (пусть их будет, например, 4-5), установленные ранее вручную, и сохранить их имена, координаты и другие свойства в буфер для дальнейшего использования в советнике?

Или, что может будет проще, как считать в программный буфер или просто набор переменных имя, координаты и другие свойства графического объекта сразу после его размещения мышью на графике?
При этом предполагается, что свойства данного объекта могут вручную или мышью корректироваться, после чего эти данные фиксируются как окончательные для дальнейшего использования в советнике.

изучайте - Справочник MQL4 / Графические объекты / ObjectFind() ищет объект с указанным именем, ObjectGet() возвращает свойства(например цену линий крайних точек), ObjectSet() меняет свойства. Ну опять же объект должен иметь имя, там много функций которые работает с объектами. Ну и конечно нужно их посчитать через цикл правильно, это не быстрое дело. Я не знаю можно ли вернуть имя объекта, веть по сути имя даёт пользователь и его можно сохранить в массив и копипастить в дальнейшем чтобы снизить нагрузку.

 
vladmirad:
Здравствуйте!

Возможно, поднимаю примитивную баянную тему, но сколько не рылся, ответа не нашел.

Подскажите, как программно найти объекты определенного типа на графике (пусть их будет, например, 4-5), установленные ранее вручную, и сохранить их имена, координаты и другие свойства в буфер для дальнейшего использования в советнике?

Или, что может будет проще, как считать в программный буфер или просто набор переменных имя, координаты и другие свойства графического объекта сразу после его размещения мышью на графике?
При этом предполагается, что свойства данного объекта могут вручную или мышью корректироваться, после чего эти данные фиксируются как окончательные для дальнейшего использования в советнике.
Здравствуйте.
Начните с отслеживания состояния графика в OnChartEvent() https://www.mql5.com/ru/docs/event_handlers/onchartevent
Есть несколько событий, которые вам потребуются:
CHARTEVENT_OBJECT_CREATE Создание графического объекта
CHARTEVENT_OBJECT_CHANGE Изменение свойств графического объекта через диалог свойств
CHARTEVENT_OBJECT_DELETE Удаление графического объекта
https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents
Выведите все параметры обработчика OnChartEvent() в журнал и поглядите их значения при добавлении/изменении/удалении графических объектов. Это даст вам направление куда двигаться.
 
vladmirad:
Здравствуйте!

Возможно, поднимаю примитивную баянную тему, но сколько не рылся, ответа не нашел.

Подскажите, как программно найти объекты определенного типа на графике (пусть их будет, например, 4-5), установленные ранее вручную, и сохранить их имена, координаты и другие свойства в буфер для дальнейшего использования в советнике?

Или, что может будет проще, как считать в программный буфер или просто набор переменных имя, координаты и другие свойства графического объекта сразу после его размещения мышью на графике?
При этом предполагается, что свойства данного объекта могут вручную или мышью корректироваться, после чего эти данные фиксируются как окончательные для дальнейшего использования в советнике.

Найти и вывести в журнал объекты заданного типа с их координатами можно так:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart(){
  int total = ObjectsTotal(0, subwin, type);
  int i = 0;
  string name;
  datetime time1, time2;
  double price1, price2;
  for(; i < total; i++) {
    name = ObjectName(0, i, subwin, type);
    Print("Object: \"", name, "\"");
    time1 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 0);
    time2 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 1);
    price1 = ObjectGetDouble(0, name, OBJPROP_PRICE, 0);
    price2 = ObjectGetDouble(0, name, OBJPROP_PRICE, 1);
    Print("Time1: ", TimeToString(time1), "; Price1: ", DoubleToString(price1, Digits()), "; Time2: ", TimeToString(time2), "; Price2: ", DoubleToString(price2, Digits()), ".");
  }
}

Можно сохранить любые данные в файл. А в эксперте сделать загрузчик, который будет добавлять соответствующие объекты, а потом загружать в них данные из файла. Но Вы хотя бы набросайте исходник под Вашу конкретную задачу и опубликуйте его здесь.

Файлы:
ObjGet.mq5  4 kb
 
Seric29:

изучайте - Справочник MQL4 / Графические объекты / ObjectFind() ищет объект с указанным именем, ObjectGet() возвращает свойства(например цену линий крайних точек), ObjectSet() меняет свойства. Ну опять же объект должен иметь имя, там много функций которые работает с объектами. Ну и конечно нужно их посчитать через цикл правильно, это не быстрое дело. Я не знаю можно ли вернуть имя объекта, веть по сути имя даёт пользователь и его можно сохранить в массив и копипастить в дальнейшем чтобы снизить нагрузку.

Спасибо за совет, я об этих функциях знаю.
Но как с их помощью реализовать автоматическое нахождение советником объекта на чарте и считывание его параметров, если априори не известно его имя?
Ведь при нанесении объекта на график мышью имя дает система.

Естественно, не сложно организовать ручной ввод в советник всех необходимых данных объекта из таблицы его свойств, но тогда при чем здесь автоматизация?
А вот как программно передать в советник имя объекта, после чего все указанные вами функции можно задействовать, мне пока не понятно...

Причина обращения: