Невозможно просмотреть автономный график - страница 2

 
lingwuchung:


Привет,

Я решил все ошибки компиляции, но обнаружил, что OnTick советника (упрощенный в testOffline.mq4, как прилагается) не может быть запущен на автономном графике (генерируется PeriodConvertor). Хотя на обычном графике M1 такой проблемы нет. Поэтому я задаюсь вопросом, что не так?



На автономном графике нет входящих тиков.

Попробуйте использовать OnTimer вместо OnTick.

Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter

int ExtCounter;
int ExtTickCount;
int ExtBars;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//----
   ExtCounter=0;
   ExtTickCount=GetTickCount();
   ExtBars=Bars;
   Print("init  ExtBars=",ExtBars,"  Time[0]=",TimeToString(Time[0]));
   EventSetTimer(1);
//----
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtTickCount=GetTickCount()-ExtTickCount;
   Print("ExtTickCount=",ExtTickCount,"   ExtCounter=",ExtCounter);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(ExtBars!=Bars)
     {
      ExtBars=Bars;
      Print("start  ExtBars=",ExtBars,"  Time[0]=",TimeToString(Time[0]));
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(RefreshRates())
      OnTick();
//----
   if(ExtCounter%15==0)
      Print("OnTimer  ExtCounter=",ExtCounter,"  Time[0]=",TimeToString(Time[0]));
   ExtCounter++;
  }
 
stringo:

На автономном графике нет входящих тиков.

Попробуйте использовать OnTimer вместо OnTick.

Смотрите пример работы советника на автономном графике, обновленном с помощью PeriodConverter.


Хорошо, теперь у меня есть тик на автономном графике. Но означает ли это, что советник может срабатывать с частотой 1 секунда только быстрее всего? (так как EventSetTimer() может быть установлен только на единицы секунд).

Если да, то это ухудшение в новом mql4 и мне интересно почему.

 

Деградировать? Почему?

эксперты никогда не работали с автономными графиками

 
RaptorUK:

Обновите, пожалуйста, документацию для FileOpenHistory(). ...

... там нет упоминания о других флагах.


Попробуйте обновить вашу справку, пожалуйста


 
Rosh:

Попробуйте обновить справку, пожалуйста

Извините, но я не говорил FileOpen() ... Я сказал FileOpenHistory()

 
stringo:

Деградировать? Почему?

эксперты никогда не работали с автономными графиками


Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600), была build 509.
 
lingwuchung:

Пожалуйста, не шутите. Я уже год торгую с экспертами на автономном графике. Последняя версия, которую я использовал (до принудительного обновления до 600) была build 509.
Разве это не хак, не поддерживаемый Metaquotes?
 
angevoyageur:
Разве это не хак, не поддерживаемый Metaquotes?


Поскольку Metaquotes не раскрывает структуру hst файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst файлов является хаком.
 
Ovo:

Поскольку Метакотировки не раскрыли структуру hst файлов публично (они хранят ее для своих целей), то любое использование *.hst файлов является взломом.

Почему вы так говорите? Кто стоит за скриптом PeriodConverter?

подсказка : попробуйте найти автора этой статьи

 
Ovo:

Поскольку Метакотировки не раскрыли структуру hst-файлов публично (они хранят ее для своих собственных целей), то любое использование *.hst-файлов является хаком.
Нет, формат файла .hst опубликован в файле справки терминала. . я предполагаю, что он будет обновлен со временем. mql4 также предоставляет функцию для чтения и записи .hs файлов. ... никакого взлома.

Исторический формат файлов (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)





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