Я решил все ошибки компиляции, но обнаружил, что OnTick советника (упрощенный в testOffline.mq4, как прилагается) не может быть запущен на автономном графике (генерируется PeriodConvertor). Хотя на обычном графике M1 такой проблемы нет. Поэтому я задаюсь вопросом, что не так?
На автономном графике нет входящих тиков.
Попробуйте использовать OnTimer вместо OnTick.
Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter
int ExtCounter;
int ExtTickCount;
int ExtBars;
//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//----
ExtCounter=0;
ExtTickCount=GetTickCount();
ExtBars=Bars;
Print("init ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
EventSetTimer(1);
//----return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ExtTickCount=GetTickCount()-ExtTickCount;
Print("ExtTickCount=",ExtTickCount," ExtCounter=",ExtCounter);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+voidOnTick()
{
if(ExtBars!=Bars)
{
ExtBars=Bars;
Print("start ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnTimer()
{
if(RefreshRates())
OnTick();
//----if(ExtCounter%15==0)
Print("OnTimer ExtCounter=",ExtCounter," Time[0]=",TimeToString(Time[0]));
ExtCounter++;
}
Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter.
Хорошо, теперь у меня есть тик на автономном графике. Но означает ли это, что советник может срабатывать с частотой 1 секунда только быстрее всего? (так как EventSetTimer() может быть установлен только на единицы секунд).
Если да, то это ухудшение в новом mql4 и мне интересно почему.
Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600), была build 509.
Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600) была build 509.
angevoyageur: Разве это не хак, не поддерживаемый Metaquotes?
Поскольку Metaquotes не раскрывает структуру hst файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst файлов является хаком.
Поскольку Метакотировки не раскрыли структуру hst файлов публично (они хранят ее для своих целей), то любое использование *.hst файлов является взломом.
Почему вы так говорите? Кто стоит за скриптом PeriodConverter?
Поскольку Метакотировки не раскрыли структуру hst-файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst-файлов является хаком.
Нет, формат файла .hst опубликован в файле справки терминала. . я предполагаю, что он будет обновлен со временем. mql4 также предоставляет функцию для чтения и записи .hs файлов. ... никакого взлома.
Исторический формат файлов (HST-файлы)
Заголовок базы данных является первым
struct HistoryHeader { intversion;// версия базы данных charcopyright[64];// информация об авторских правах charsymbol[12];// имя символа intperiod;// временные рамки символа intdigits;// количество цифр после запятой в символе time_ttimesign;// временной знак создания базы данных xml-ph-0027@d
затем идет массив баров (однобайтовое обоснование)
#pragma pack(push,1) //---- стандартное представление котировки в базе данных structRateInfo { time_tctm;// текущее время в секундах doubleopen; doublelow; doublehigh; doubleclose; doublevol; }; #pragma pack(pop)
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Привет,
Я решил все ошибки компиляции, но обнаружил, что OnTick советника (упрощенный в testOffline.mq4, как прилагается) не может быть запущен на автономном графике (генерируется PeriodConvertor). Хотя на обычном графике M1 такой проблемы нет. Поэтому я задаюсь вопросом, что не так?
На автономном графике нет входящих тиков.
Попробуйте использовать OnTimer вместо OnTick.
Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter
На автономном графике нет входящих тиков.
Попробуйте использовать OnTimer вместо OnTick.
Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter.
Хорошо, теперь у меня есть тик на автономном графике. Но означает ли это, что советник может срабатывать с частотой 1 секунда только быстрее всего? (так как EventSetTimer() может быть установлен только на единицы секунд).
Если да, то это ухудшение в новом mql4 и мне интересно почему.
Деградировать? Почему?
эксперты никогда не работали с автономными графиками
Обновите, пожалуйста, документацию для FileOpenHistory(). ...
... там нет упоминания о других флагах.
Попробуйте обновить вашу справку, пожалуйста
Попробуйте обновить справку, пожалуйста
Деградировать? Почему?
эксперты никогда не работали с автономными графиками
Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600), была build 509.
Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600) была build 509.
Разве это не хак, не поддерживаемый Metaquotes?
Поскольку Metaquotes не раскрывает структуру hst файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst файлов является хаком.
Поскольку Метакотировки не раскрыли структуру hst файлов публично (они хранят ее для своих целей), то любое использование *.hst файлов является взломом.
Почему вы так говорите? Кто стоит за скриптом PeriodConverter?
подсказка : попробуйте найти автора этой статьи
Поскольку Метакотировки не раскрыли структуру hst-файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst-файлов является хаком.
Исторический формат файлов (HST-файлы)
Заголовок базы данных является первым
struct
HistoryHeader
{
int version; // версия базы данных
char copyright[64]; // информация об авторских правах
char symbol[12]; // имя символа
int period; // временные рамки символа
int digits; // количество цифр после запятой в символе
time_t timesign; // временной знак создания базы данных
xml-ph-0027@d
затем идет массив баров (однобайтовое обоснование)
#pragma pack(push,1)
//---- стандартное представление котировки в базе данных
struct RateInfo
{
time_t ctm; // текущее время в секундах
double open;
double low;
double high;
double close;
double vol;
};
#pragma pack(pop)