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

 

Кстати, недавно в редакторе появилась отличная функция поиска в статьях, codebase и по всему сайту MQL5.com:


 

Делаю расчёт на всех барах и вижу нелады, проверил данные в конце графика и обнаружил что на часовом графике бары идут раз в день(шок),

вся статистика к чертям собачим.


Может как то нужно обновить график или ещё что ???

 
Подскажите, при компиляции библиотеки функций выдает такую ошибку
No exported function or entry point found               1       1
в чем причина? соответственно ех5 файл не создается.
 
sergey1294:
Подскажите, при компиляции библиотеки функций выдает такую ошибку в чем причина? соответственно ех5 файл не создается.

Вот так примерно должно выглядеть содержимое библиотеки

//Function FunctionName
bool FunctionName() export
{
//----------------------------------------------------------------------------//
//Work variables
bool Reset;
//----------------------------------------------------------------------------//

//----------------------------------------------------------------------------//
return(Reset);
//----------------------------------------------------------------------------//
}
Использование "export" обязательно в mq5, но его не должно быть в mqh.
 
Interesting:

Вот так примерно должно выглядеть содержимое библиотеки

Использование "export" обязательно в mq5, но его не должно быть в mqh.

спасибо, ато в справке не нашел этой инфы, в ней вообще нет и в четверке вроде тоже не было как правильно должны быть оформлены mqh и библиотеки функций , для их нормальной компиляции.

P.S нашел описание в справке.

 
sergey1294:
спасибо, ато в справке не нашел этой инфы, в ней вообще нет и в четверке вроде тоже не было как правильно должны быть оформлены mqh и библиотеки функций , для их нормальной компиляции.

Я когда миграционную библиотеку делал тож намучился, пришлось обращаться к разработчикам...

PS

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

 
sergey1294:

спасибо, ато в справке не нашел этой инфы, в ней вообще нет и в четверке вроде тоже не было как правильно должны быть оформлены mqh и библиотеки функций , для их нормальной компиляции.

P.S нашел описание в справке.

Хорошо, что нашли, но все же приведу ссылку на раздел Экспортирование функций:

Описание внешних функций

Тип внешних функций, определенных в другом модуле, должен быть явно описан. Отсутствие такого описания может привести к ошибкам при компиляции, компоновке или выполнении программы. При описании внешнего объекта используйте ключевое слово #import с указанием модуля.

Примеры:

#import "user32.dll"
  int     MessageBoxW(int hWnd ,string szText,string szCaption,int nType);
  int     SendMessageW(int hWnd,int Msg,int wParam,int lParam);
#import "lib.ex5"
  double  round(double value);
#import

С помощью импорта можно очень легко описывать функции, вызываемые из внешних DLL или скомпилированных EX5 библиотек. Библиотеками EX5 являются скомпилированные ex5-файлы, которые имеют свойство library. Импортировать из EX5 библиотек можно только функции, описанные с модификатором export.

Смотри также

Перегрузка, Виртуальные функции, Полиморфизм

 
Urain:

Делаю расчёт на всех барах и вижу нелады, проверил данные в конце графика и обнаружил что на часовом графике бары идут раз в день(шок),

вся статистика к чертям собачим.


Может как то нужно обновить график или ещё что ???


Если копнете еще немного глубже, то обнаружите, что минутки на том интервале данных также хранятся "странно" - каждый день состоит из одного минутного бара, а цены High  и Close этой минутки соответствуют ценам High  и Close дневного бара.

Это обусловлено тем, что базовым кирпичиком для строительства всех таймфреймов в MetaTrader 5 являются минутные данные. Более подробно об этом можно почитать в разделе Организация доступа к данным

 
Rosh:

Если копнете еще немного глубже, то обнаружите, что минутки на том интервале данных также хранятся "странно" - каждый день состоит из одного минутного бара, а цены High  и Close этой минутки соответствуют ценам High  и Close дневного бара.

Это обусловлено тем, что базовым кирпичиком для строительства всех таймфреймов в MetaTrader 5 являются минутные данные. Более подробно об этом можно почитать в разделе Организация доступа к данным

Да, минуток старее 1999 года нет на демо-сервере. С 1993 по 1999 год идут минутные базы, заменяющие дни.
 
Renat:
Да, минуток старее 1999 года нет на демо-сервере. С 1993 по 1999 год идут минутные базы, заменяющие дни.

Что то похожее я и предполагал, спасибо что разьяснили.

Дело за малым прописать функцию которая определяет с какого бара идёт полноценная история,

иначе расчёт типа мат.ожидание размера бара может быть с сильной ошибкой.

Можно конечно сделать пользовательскую, но если будет встроенная (имхо) многим это поможет.