Вопросы по программированию в МТ4

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Вопросы по программированию в МТ4

Сообщение Haos » 22 июл 2015, 12:51

А что случилось с индикаторами в MQL5? Какую-то хреновину "хэндл" выдает под типом int, когда нужно значение индикатора само? Где само значение (в коде эксперта нужно)??? С этим идиотизмом уже кто-то сталкивался? :ne_vi_del:
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Вопросы по программированию в МТ4

Сообщение Haos » 29 июл 2015, 09:52

Haos писал(а):А что случилось с индикаторами в MQL5? Какую-то хреновину "хэндл" выдает под типом int, когда нужно значение индикатора само? Где само значение (в коде эксперта нужно)??? С этим идиотизмом уже кто-то сталкивался? :ne_vi_del:

Блин, не в ту ветку! Ну ответ уже нашел сам, но он только подтвердил непрофессиолизм разработчиков 5-ки. У нас говорят просто в таких случаях: "через ж... (одно место) к звёздам". Так и есть. Тик-и-так придется переходить на адекватные торговые продукты. :hi_hi_hi:
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: Вопросы по программированию в МТ4

Сообщение Рэндом » 30 июл 2015, 10:04

Я думаю у них были причины так сделать. Преимущество MQL5 скорость сравнимая с С++.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Вопросы по программированию в МТ4

Сообщение mfcoder » 30 июл 2015, 19:47

как я понял смысл такой операции в том, что в mql4 чтобы вычислить одно значение с какого-то буфера нужно было каждый раз вызывать iCustom(), который пересчитывал весь индикатор, как если его на график вешать..

а в mql5 сделали оптимизацию - один раз создал индикатор (он загрузился в память и работает как на графике), и все..
там где нужны данные получаешь данные по хендлу из нужного буфера (целого буфера/массива), а не просто одного значения из этого буфера, как в mql4
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.

Вопросы по программированию в МТ4

Сообщение lisa » 21 фев 2016, 07:15

Всем привет :-):

Подскажите как удалить несколько объектов.
Вернее как их перечислить в этом коде?

Код: выделить все
int deinit() {ObjectDelete("Obj1");
return(0);}


Так работает нормально.
Но надо удалить несколько (Obj1, Obj2 и т.д.)

Как их перечислить?
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Re: Вопросы по программированию в МТ4

Сообщение Haos » 21 фев 2016, 07:37

Код: выделить все
ObjectsDeleteAll();   // удаляются все объекты с графика

Или перечислить все по имени. Или создать массив имен объектов и в цикле удалить каждый и т.п. Это всё на вскидку. Лучшее решение возникает когда код известен весь.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Вопросы по программированию в МТ4

Сообщение lisa » 21 фев 2016, 08:57

Haos писал(а):
Код: выделить все
ObjectsDeleteAll();   // удаляются все объекты с графика

Или перечислить все по имени. Или создать массив имен объектов и в цикле удалить каждый и т.п. Это всё на вскидку. Лучшее решение возникает когда код известен весь.


ObjectsDeleteAll, удаляет все объекты (даже те которые непричастны к данному коду)

Haos писал(а):Или перечислить все по имени.


Вот я и спрашиваю как перечислить в этом коде?

Код: выделить все
int deinit()  {ObjectDelete("Obj1");
 return(0);}


Есть объекты: Obj1, Obj2, Obj3
Перечислить, через запятую, через точку с запятой, или как??? :-):
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Re: Вопросы по программированию в МТ4

Сообщение Haos » 21 фев 2016, 09:29

lisa писал(а):Вот я и спрашиваю как перечислить в этом коде?

Код: выделить все
int deinit()  {ObjectDelete("Obj1");
 return(0);}


Есть объекты: Obj1, Obj2, Obj3
Перечислить, через запятую, через точку с запятой, или как??? :-):

Тогда вот так:
Код: выделить все
int deinit()
{
ObjectDelete("Obj1");
ObjectDelete("Obj2");
ObjectDelete("Obj3");
return(0);
}
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Вопросы по программированию в МТ4

Сообщение lisa » 21 фев 2016, 10:38

Haos писал(а):Тогда вот так:
Код: выделить все
int deinit()
{
ObjectDelete("Obj1");
ObjectDelete("Obj2");
ObjectDelete("Obj3");
return(0);
}


Да, вот так нормально работает.
Спасибо :-):
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Вопросы по программированию в МТ4

Сообщение 111111 » 22 фев 2016, 07:43

Добрый день! Уважаемые программисты! Подскажите функцию под такой алгоритм: после нескольких прибыльных сделок, вернуть лот к первоначальному. Подобная функция есть в советник 124, но только там после 3 убыточных шел возврат, а как сделать после трех прибыльных? Если есть возможность, прошу добавить функцию на примере этого советника.
Вложения
124.mq4
(2.92 KB) Скачиваний: 15
Аватар пользователя
111111
 
Сообщений: 245
Зарегистрирован: 06 ноя 2013, 14:51
Средств на руках: 7.60 Доллар
Группа: Базовая
Благодарил (а): 148 раз.
Поблагодарили: 15 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 83

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения