Бета-тестирование MetaTrader 5 началось! - страница 84

 
уважаемые разработчики, может ли кто-нибудь для примера выложить еще парочку советников MQL5,...                      просто советик без граальных условий открытия позиций
 
и на аватарку н обращаем внимания)
 

I ) Почему!!! MT5 обновляется САМ до нового билда не спрашивая на то разрешения!???

II) Заметил после обновления до 213 с 211, что пропала замечательная возможность размещать тулбар в строке меню.

Эта возможность позволяла иметь большее разрешение для графика по вертикали,

ибо после настройки тулбара "под себя" реально нужны оперативно всего 10-12 кнопок и по горизонтали они много места не занимали.

Лично мне будет не хватать этой возможности.

С Уважением за проделываемую работу и понимание!

 
vasya_vasya >>:

Это уже начинает напрягать, ваша защита от ошибки зацикливания в коде типа

Можно как-нибудь отключить это для тех кому это не нужно?

А иначе производительность всего эксперта падает из-за вынужденной функции слип.

Меня тоже волнует смежный с Вашим вопрос на что получил ответ господина rosh что это надуманные сложности и ограничения.

С начало возмутило, но посмотрев пару примеров кода на MQL5 Рашида задумался несколько корректен я в своих заключениях, сейчас пишу программку вывода тучи буферов индикаторов по разным инструментам и все это через sleep.

Что бы не говорили местные гуру, но sleep это криво с позиции классики программирования.

 
betmen >>:

Меня тоже волнует смежный с Вашим вопрос на что получил ответ господина rosh что это надуманные сложности и ограничения.

С начало возмутило, но посмотрев пару примеров кода на MQL5 Рашида задумался несколько корректен я в своих заключениях, сейчас пишу программку вывода тучи буферов индикаторов по разным инструментам и все это через sleep.

Что бы не говорили местные гуру, но sleep это криво с позиции классики программирования.


Покажите, пожалуйста, Ваш пример, где Вы вынуждены использовать Sleep(). Мы посмотрим что там неправильно - логика программы или реализация языка MQL5.

 
Rosh писал(а) >>

Покажите, пожалуйста, Ваш пример, где Вы вынуждены использовать Sleep(). Мы посмотрим что там неправильно - логика программы или реализация языка MQL5.

Вопрос снимается, я так понял, что функцию слип можно и не использовать.

главное знать сколько миллисекунд не вызывать функцию коммент.

достаточно не вызывать функцию хотя бы не чаще чем1 раз в миллисекунду

 

Хотелось бы увидеть компиляцию "MACD Sample" без ошибок компиляции. Понятно, что MT5 постоянно изменяется, и трудно все изменения синхронизировать, но единственный корректный пример эксперта (для изучения) постоянно выдаёт ошибки компиляции. Автообновление нормально работает, но обнобляются только .еxe-шники. Поэтому скачиваем и запускаем дистрибутив (ссылка на 1-й странице). И что же имеем ?

'MACD Sample.mq5' MACD Sample.mq5 1 1
'Trade.mqh' Trade.mqh 1 1
'SymbolInfo.mqh' SymbolInfo.mqh 1 1
'PositionInfo.mqh' PositionInfo.mqh 1 1
'AccountInfo.mqh' AccountInfo.mqh 1 1
'Indicators.mqh' Indicators.mqh 1 1
'Trend.mqh' Trend.mqh 1 1
'Indicator.mqh' Indicator.mqh 1 1
'ArrayObj.mqh' ArrayObj.mqh 1 1
'Array.mqh' Array.mqh 1 1
'Object.mqh' Object.mqh 1 1
'ArrayDouble.mqh' ArrayDouble.mqh 1 1
'Oscilators.mqh' Oscilators.mqh 1 1
'Volumes.mqh' Volumes.mqh 1 1
'BillWilliams.mqh' BillWilliams.mqh 1 1
'ENUM_TRADING_OPERATION' - static or extern declaration without type AccountInfo.mqh 41 58
'trade_operation' - comma expected AccountInfo.mqh 41 81
'ENUM_TRADING_OPERATION' - static or extern declaration without type AccountInfo.mqh 322 58
'trade_operation' - comma expected AccountInfo.mqh 322 81
'expert' - struct member is undefined Trade.mqh 166 14
conversion possible loss of data Trade.mqh 166 26
'expert' - struct member is undefined Trade.mqh 262 14
conversion possible loss of data Trade.mqh 262 26
'expert' - struct member is undefined Trade.mqh 311 14
'expert' - struct member is undefined Trade.mqh 332 39
'trade_operation' - undeclared identifier AccountInfo.mqh 324 41
'AccountFreeMarginCheck' - function is not defined AccountInfo.mqh 324 11
'OP_BUY' - undeclared identifier MACD Sample.mq5 405 37
11 error(s), 2 warning(s) 1 1
(Vista 64)

Ладно, переношу и запускаю установочный файл на другой копм, компилирую и получаю:

'SymbolInfo.mqh'	SymbolInfo.mqh	1	1
'PositionInfo.mqh'	PositionInfo.mqh	1	1
'AccountInfo.mqh'	AccountInfo.mqh	1	1
'Indicators.mqh'	Indicators.mqh	1	1
'Trend.mqh'	Trend.mqh	1	1
'Indicator.mqh'	Indicator.mqh	1	1
'ArrayObj.mqh'	ArrayObj.mqh	1	1
'Array.mqh'	Array.mqh	1	1
'Object.mqh'	Object.mqh	1	1
'ArrayDouble.mqh'	ArrayDouble.mqh	1	1
'Oscilators.mqh'	Oscilators.mqh	1	1
'Volumes.mqh'	Volumes.mqh	1	1
'BillWilliams.mqh'	BillWilliams.mqh	1	1
'expert' - struct member is undefined	Trade.mqh	166	14
conversion possible loss of data	Trade.mqh	166	26
'expert' - struct member is undefined	Trade.mqh	262	14
conversion possible loss of data	Trade.mqh	262	26
'expert' - struct member is undefined	Trade.mqh	311	14
'expert' - struct member is undefined	Trade.mqh	332	39
4 error(s), 2 warning(s)		1	1
(XP SP3)
Мало того, что с ошибками, но ещё и результаты различаются.
Спасибо разработчикам за приведённые примеры определения классов в файлах .mqh.  ООП и будующий мультивалютный тестер - это, наверное, главные нововведения в MT5 (для программеров, 
для трейдеров - возможность работы на биржах), которые позволят создавать действительно полноценные торговые системы в отличие от простых советников, основанных на 2-3 индикаторах. 
Остальное всё - чисто техническая работа. 
 
Valmars >>:

Хотелось бы увидеть компиляцию "MACD Sample" без ошибок компиляции. Понятно, что MT5 постоянно изменяется, и трудно все изменения синхронизировать, но единственный корректный пример эксперта (для изучения) постоянно выдаёт ошибки компиляции. Автообновление нормально работает, но обнобляются только .еxe-шники. Поэтому скачиваем и запускаем дистрибутив (ссылка на 1-й странице). И что же имеем ?


Скачайте свежую справку

Rosh >>:
Справка по MQL5 обновлена
 

Наконец выделил пару часов на написание примера. Большую часть времени заняли комментарии в программе.

На классы разводить не стал так как пример маленький, а вынос кода по разным модулям при таком объеме кода только усложнит понимание алгоритма.

Суть задачи следующая выдается список доступных в market watch инструментов далее собирается массив из имен этих инструментов плюс по каждому инструменту заводятся по 9 мувингов. Для наглядности результаты выкладываются в виде массива кнопок в окне вызвавшего их инструмента.

Как правильно написать этот код на MQL5 без использования Sleep?

Файлы:
main.mq5  3 kb
 
Пожалуйста верните возможность использовать командные слова (типа True) c заглавной буквы....