Новая статья: Оффлайновые графики и новый MQL4 - страница 2

 
Gans-deGlucker:

При попытке сформировать скриптом Period Converter нестандартного таймфрейма продолжительностью больше месяца невозможно потом открыть автономный график. В одном случае не происходит ничего, в другом лог-файл начал забиваться записями следующего плана:

10:28:16.331 HistoryCenter: unknown chart 'EURUSD86400' in history synchronization
10:28:20.133 HistoryCenter: unknown chart 'EURUSD86400' in history synchronization
10:28:24.549 HistoryCenter: unknown chart 'EURUSD86400' in history synchronization
10:28:26.786 HistoryCenter: unknown chart 'EURUSD86400' in history synchronization
10:28:29.437 HistoryCenter: unknown chart 'EURUSD86400' in history synchronization

При этом сами данные для графиков успешно формируются.


Больше месяца никто никогда не обещал. И месяц-то нецикличен.
 
stringo:

Больше месяца никто никогда не обещал. И месяц-то нецикличен.

Просто поступил вопрос от клиента - как сделать график MN2 или годовой. Period Converter их благополучно формирует и добавляет в перечень автономных графиков. А сам чарт потом не открывается. В таком случае, если корректная работа ограничена месяцем - это надо указать в описании к Period Converter.
 
stringo:
Это уже поправили. Дождитесь, пожалуйста следующего билда


спасибо, а какаой номер билда ?
 
stringo:
Это уже поправили. Дождитесь, пожалуйста следующего билда


Извините, а когда ожидать следующий билд? И где будет опубликована информация об этом?
 
Если имя оффлайн символа будет например EUR_USD, то количество десятичных знаков после запятой (Digits) не зависимо от задаваемого будет всегда 4 знака.
 

Доброго времени суток!

У меня ситуация такая.

1. Есть файл .hst с размером, например, 200Кб.

2. Необходимо записать в него историю, которая займёт, к примеру, 100Кб.

3. Раньше я записывал в файл .hst эти самые 100Кб данных, а остальное заполнял пробелами, и всё отлично работало.

4. Теперь я делаю точно также, но получаю нулевые свечи от 1970.01.01 в конце графика.

Как решить проблему? Ведь:

1. Файлы из папки каталог_терминала\history\server_name невозможно удалить средствами MQL4. Может быть есть способ организации через внешние библиотеки?

Заранее благодарен!

Импорт котировок в MetaTrader 4

 

Кстати, приём удаления любого файла из любого каталога у меня не работает.

#import "kernel32.dll"
bool DeleteFileA(string lpFileName);
#import

int start()
{

string lpFileName="C:\\1.txt";

DeleteFileA(lpFileName);

}

Может быть это защита Win7?

 
PMN81:

Кстати, приём удаления любого файла из любого каталога у меня не работает.

#import "kernel32.dll"
bool DeleteFileA(string lpFileName);
#import

int start()
{

string lpFileName="C:\\1.txt";

DeleteFileA(lpFileName);

}

Может быть это защита Win7?


А может почитать просто надо, про новые билды? Про то что обмен с библиотеками в юникод надо а не в ансис, про новые ограничения доступа к файлам...
 
PMN81:

1. Файлы из папки каталог_терминала\history\server_name невозможно удалить средствами MQL4. Может быть есть способ организации через внешние библиотеки?

Попробуйте открывать файл без флагов FILE_SHARE_READ и FILE_READ, тогда файл будет затерт перед записью.
 
evillive:

А может почитать просто надо, про новые билды? Про то что обмен с библиотеками в юникод надо а не в ансис, про новые ограничения доступа к файлам...

Спасибо! Изменений много, всё сразу не охватишь.

Вот что у меня получилось. Проверено - работает.


//Функция удаления указанного файла истории

#import "kernel32.dll"
int DeleteFileA (uchar& lpFileName[]);
bool DeleteFileHistory(string file_name_history)
{
uchar path[];
string str_path = TerminalPath()
+ "\\history"
+ "\\" + AccountInfoString(ACCOUNT_SERVER) //имя сервера доступно в он-лайн режиме
+ "\\" + file_name_history;
ArrayResize(path, StringLen(str_path) + 1);
StringToCharArray(str_path, path);
bool succeeded = DeleteFileA(path);
return(succeeded);
}