Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
int i_period=2;
string c_symbol;
int version=400;
int i_digits=Digits;
int i_unused[13];
//----Открытие файла истории
c_symbol=Symbol();
ExtHandle=FileOpenHistory(Symbol()+i_period+".hst", FILE_BIN|FILE_WRITE);
if(ExtHandle < 0) {return(-1);Alert("Неудачное открытие файла "+Symbol()+i_period+".hst !!! ");}
c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
FileWriteInteger(ExtHandle, version, LONG_VALUE);
FileWriteString(ExtHandle, c_copyright, 64);
FileWriteString(ExtHandle, c_symbol, 12);
FileWriteInteger(ExtHandle, i_period, LONG_VALUE);
FileWriteInteger(ExtHandle, i_digits, LONG_VALUE);
FileWriteInteger(ExtHandle, 0, LONG_VALUE); //timesign
FileWriteInteger(ExtHandle, 0, LONG_VALUE); //last_sync
FileWriteArray(ExtHandle, i_unused, 0, 13); //i_unused
.......
while(m1bar<=EndBar)
{
........
last_fpos=FileTell(ExtHandle);
FileWriteInteger(ExtHandle, time, LONG_VALUE);
FileWriteDouble(ExtHandle, open, DOUBLE_VALUE);
FileWriteDouble(ExtHandle, low, DOUBLE_VALUE);
FileWriteDouble(ExtHandle, high, DOUBLE_VALUE);
FileWriteDouble(ExtHandle, close, DOUBLE_VALUE);
FileWriteDouble(ExtHandle, m1bar, DOUBLE_VALUE);
FileFlush(ExtHandle);
.....
}
FileFlush(ExtHandle);
FileClose(ExtHandle);
При попытке автономного открытия сформированного файла истории MT4 в журнал выводит сообщение об ошибке: HistoryBase:2220 errors in "EURUSD2"
Что я лично монимаю как: в файле истории 2220 баров(записей), в каждой записи ошибка !!!
Сам график открывается на основании этого файла истории вполне успешно, если не считать этого сообщения, но будучи отрытым последующее его обновление через пунт меню обновить график приводит только к повторному появлению сообщения об ошибке описанной выше. Сам график не обновляется !!!
Гаже всего выглядит то, что описанная на форуме команда обновления графика:
.......
hwnd=WindowHandle(Symbol(),2);
if(hwnd != 0)PostMessageA(hwnd,WM_COMMAND,33324,0);
..........
приводит к прекращению исполнения скрипта который пытается ее выполнить !
Вероятно виной тому криво сформированный файл истории.
Господа прошу помочь найти этот баг с записью истории в файл.