Ошибки, баги, вопросы - страница 1018

 
A100:
Не работает в неторговое время. А что мешает?

А вы уверены в параметрах? 

Оба примера выглядят ошибочно:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

Похоже, что спутали с ChartSetInteger?

 
Renat:

А вы уверены в параметрах? 

Оба примера выглядят ошибочно:

Похоже, что спутали с ChartSetInteger?

Да, извините, неправильно перенес из своего кода - не работает в неторговое время
bool bringToTop = true;
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, 0, bringToTop ) 
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
//этим хотел показать что пробовал оба варианта
ChartGetInteger и не должен работать, поскольку CHART_BRING_TO_TOP - write only. Исправлю заявку в СервисДеск
 

Делаю перебор (с паузой 5000) всех графиков:

a) (вчера) неторговый день - никакой реакции - при выгрузке скрипта переходит на 1-ый график, даже если скрипт запускался не с него

б) сейчас - все работает корректно 

Если необходимо - приложу код - простой цикл - GetLastError - ошибок не выдавал

 

Не знаю насколько это важно, но

ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, false )
сейчас (в торговое время) работают одинаково - график помещается поверх остальных
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Renat, 2013.07.22 09:22

А вы уверены в параметрах? 

Оба примера выглядят ошибочно:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

Похоже, что спутали с ChartSetInteger?

Если моя ошибка подтвердится и будут вносится изменения - то прошу также рассмотреть вопрос, чтобы сделать CHART_BRING_TO_TOP не только write only, но и чтобы читать как у Вас написано через ChartGetInteger можно было.
long ChartID()
помочь в данном случае не может, поскольку последний строго говоря возвращает не текущий выделенный, а тот, с которого запущен скрипт. А в процессе работы скрипта пользователь может и поменять текущий.
 
MetaDriver:

Только многа-многа .mqh и  один исполняемый .mq5, больше ничего.

Дополню. Преимущество абсолютного модульного подхода перед относительным ещё и в том, что при возникновении - из
Print( __FUNCTION__, __FILE__ )

понятно в каком модуле искать функцию, а если .ex5 всего один, то и искать ее среди множества .mqh непонятно в каком именно, что при значительном объеме кода имеет значение.

Заодно и просьба к Разработчикам:

Возможно ли ввести дополнительную Предопределенную макроподстановку __MODULE__, аналогичную __FILE__ - только без расширения .mq5

Нужно для того, чтобы компилировалось выражение вида вида: __MODULE__::f()

устойчивое к смене имен файлов и переносе функций из модуля в модуль, что нередко при разработке

 
A100:
Дополню. Преимущество абсолютного модульного подхода перед относительным ещё и в том, что при возникновении - из

понятно в каком модуле искать функцию, а если .ex5 всего один, то и искать ее среди множества .mqh непонятно в каком именно, что при значительном объеме кода имеет значение.

Ты бредишь, брат. 

h1.mqh :

string GetH1()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

h2.mqh :

string GetH2()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

PrintTest,mq5 :

#include "h1.mqh"
#include "h2.mqh"

void OnStart()
  {
   Print( "Файл: "+__FILE__+"   Функция: "+__FUNCTION__);
   Print(GetH1());
   Print(GetH2());
  }
//+------------------------------------------------------------------+

Результат:

2013.07.22 14:40:17    PrintTest (EURUSD,M1)    Файл: h2.mqh   Функция: GetH2
2013.07.22 14:40:17    PrintTest (EURUSD,M1)    Файл: h1.mqh   Функция: GetH1
2013.07.22 14:40:17    PrintTest (EURUSD,M1)    Файл: PrintTest.mq5   Функция: OnStart

---

Пожалуйста, сделай для себя вывод: "Прежде чем разрабатывать грандиозные многовложенные дефайны, неплохо бы разобраться как в действительности работает препроцессор"

Успехов тебе!

Файлы:
h1.mqh  1 kb
h2.mqh  1 kb
PrintTest.mq5  1 kb
 
MetaDriver:

Пожалуйста, сделай для себя вывод: "Прежде чем разрабатывать грандиозные многовложенные дефайны, неплохо бы разобраться как в действительности работает препроцессор"

Посвяти этому некоторое время и усилия.   Нужно тщательнее изучить строительную площадку и свойства материалов, чтобы строить крепкие и удобные постройки.

Твой ум весьма изощрён и вьедлив, но подавая на его вход собственные скороспелые выводы, ты обречён часто приходить к неверным решениям. 

 
MetaDriver:

Твой ум весьма изощрён и вьедлив, но подавая на его вход собственные скороспелые выводы, ты обречён часто приходить к неверным решениям. 

Можно к тебе в падаваны? :)
 
TheXpert:
Можно к тебе в падаваны? :)

А деньги-то есть?  :))

--

А если кроме шуток: 

Жаль что на форуме практически нет веток посвящённых толковому структурированию программ.  Гармоничная структура - залог беспроблемности в разработке больших систем.

Как бы народ сподвигнуть на подобные обсуждения?

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