Нужна помощь знатока WinAPI

 

Для МТ4 

Ниже скрипт для открытия автономного графика, окно со списком автономных графиков открывает, а далее не хочет открыть сам график

вот код

#import "user32.dll"
  int PostMessageA(       int hWnd, int Msg, int wParam, int lParam );
  int SendMessageA(       int hWnd, int Msg, int wParam, int lParam );
  int GetAncestor(        int hWnd, int gaFlags );
  int GetLastActivePopup( int hWnd );
  int GetDlgItem(         int hDlg, int nIDDlgItem );
#import

#define WM_COMMAND 0x0111
#define WM_KEYDOWN 0x0100
#define VK_DOWN      0x28
#define BM_CLICK   0x00F5
#define GA_ROOT         2
#define PAUSE         100

int OpenOfflineList()
{
  int hwnd = WindowHandle(Symbol(), Period());

  hwnd = GetAncestor(hwnd, GA_ROOT);
  SendMessageA(hwnd, WM_COMMAND, 33053, 0);
  Sleep(PAUSE);
  hwnd = GetLastActivePopup(hwnd);
  return(hwnd);
}

void OpenOfflineChartbyNum(int ChartPos)
{
  int hwnd1 = OpenOfflineList();
  int hwnd2 = GetDlgItem(hwnd1, 1);

  hwnd1 = GetDlgItem(hwnd1, 0x487);
  while (ChartPos >= 0)
  {
    SendMessageA(hwnd1, WM_KEYDOWN, VK_DOWN, 0);
    ChartPos--;
  }
  Sleep(PAUSE);
  SendMessageA(hwnd2, BM_CLICK, 0, 0);
  return;
}

int init()
{
   OpenOfflineChartbyNum(1);
   return;
}

 Взято от сюда*****

 
Sergey Pekshev:

Для МТ4 

Ниже скрипт для открытия автономного графика, окно со списком автономных графиков открывает, а далее не хочет открыть сам график

вот код

 Взято от сюда*****

Через API - это анахронизм. Прочтите статью: Оффлайновые графики и новый MQL4.
 
Karputov Vladimir:
Через API - это анахронизм. Прочтите статью: Оффлайновые графики и новый MQL4.
прочитал, мне не нужно конвертировать оффлайн графики, мне нужно из скрипта открыть оффлайн график
 
Sergey Pekshev:
прочитал, мне не нужно конвертировать оффлайн графики, мне нужно из скрипта открыть оффлайн график
Ну так в чем проблема? На то есть ChartOpen. И никаких WinAPI.
 
Ihor Herasko:
Ну так в чем проблема? На то есть ChartOpen. И никаких WinAPI.
ChartOpen не открывает оффлайновые графики
 
Sergey Pekshev:
ChartOpen не открывает оффлайновые графики

Вы бы хоть статью, то прочли. В статье приложены коды. Работа с автономными графиками без никакого WinAPI и dll. Взять хоть первый код в статье: IndCreateOffline.mq4

ChartOffID=ChartOpen(Symbol(),ExtOffPeriod);

Этот код открывает автономный график с периодом "ExtOffPeriod" - правда перед этим нужно создать файл истории.

 
Karputov Vladimir:

Вы бы хоть статью, то прочли. В статье приложены коды. Работа с автономными графиками без никакого WinAPI и dll. Взять хоть первый код в статье: IndCreateOffline.mq4

Этот код открывает автономный график с периодом "ExtOffPeriod" - правда перед этим нужно создать файл истории.

читал и проверял

ChartOpen() возвращает ноль 

Ошибка: 4024: internal error

 

Забыл уточнить, символа инструмента нету в обзоре рынке (придумано свое)

 
Sergey Pekshev:

читал и проверял

ChartOpen() возвращает ноль 

Ошибка: 4024: internal error

 

Забыл уточнить, символа инструмента нету в обзоре рынке (придумано свое)

Тогда Вам нужно поступать так: сначала сформировать файл истории, потом уже открывать этот файл - это и будет автономный график:

 
Karputov Vladimir:

Тогда Вам нужно поступать так: сначала сформировать файл истории, потом уже открывать этот файл - это и будет автономный график:

У меня уже все сформировано, и в ручную они открываются и все отображается, а вот ChartOpen() не открывает их

если не сложно, гляньте еще темку  https://www.mql5.com/ru/forum/86631

 
Sergey Pekshev:

У меня уже все сформировано, и в ручную они открываются и все отображается, а вот ChartOpen() не открывает их

если не сложно, гляньте еще темку  https://www.mql5.com/ru/forum/86631

А имя файла истории у Вас какое?