Как открыть график? - страница 2

 
Talex:
А по ссылке jartmailru все есть.

Не не всё там есть !

Там нет, к примеру, как открыть конкретно график: GBPUSD или открыть конкретно график: EURJPY !?

Дело в том, сто по этим ссылкам открываются графики из списка, который находится в "Обзоре рынка". Графики открываются не по имени инструмента, а по его номеру в списке.

А в каждом терминале определённый инструмент находится под разными номерами в Обзоре рынка (привожу скрины терминалов - Alpari и Finam):

 
LEOK:

Не не всё там есть !

Там нет, к примеру, как открыть конкретно график: GBPUSD или открыть конкретно график: EURJPY !?

Дело в том, сто по этим ссылкам открываются графики из списка, который находится в "Обзоре рынка". Графики открываются не по имени инструмента, а по его номеру в списке.

А в каждом терминале определённый инструмент находится под разными номерами в Обзоре рынка (привожу скрины терминалов - Alpari и Finam):


Звиняйте за отклонение от темы - мош вы в курсе, когда финам стал предлагать торги через МТ4?

Благодарю.

 
LEOK:

Не не всё там есть !

Там нет, к примеру, как открыть конкретно график: GBPUSD или открыть конкретно график: EURJPY !?

Дело в том, сто по этим ссылкам открываются графики из списка, который находится в "Обзоре рынка". Графики открываются не по имени инструмента, а по его номеру в списке.

А в каждом терминале определённый инструмент находится под разными номерами в Обзоре рынка (привожу скрины терминалов - Alpari и Finam):

Всё там есть.

Я вначале выделяю в списке инструмент с нужным именем.
Напрямую.

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

socrat:

...насколько позволяет история, которую тоже желательно подгрузить по максимуму, а не то, что видно на экране, и метатрейдер только при прокрутке назад начинает подгружать ее (историю))....

есть скрипт для загрузки истории, посмотрите https://www.mql5.com/ru/code/9099, но учтите, что скрипт предназначен для полной скачки истории по всем символам из обзора рынка и периодам. Его лучше оставлять на выходные в ночь. Один раз все скачает - будет вся доступная история
 
LEOK:

Не не всё там есть !

Если не охота разбираться - дождитесь скрипта, он уже готов к публикации, скоро значит появится. Там кода не много, думаю разберетесь.
 
Talex:
Если не охота разбираться - дождитесь скрипта, он уже готов к публикации, скоро значит появится. Там кода не много, думаю разберетесь.
Жду!
 
LEOK:
Жду!
Так и не дождался ... :(
 
LEOK:
Так и не дождался ... :(

Да, чего то тянут.

Краткое описание.

Когда надо быстро найти в окне "Обзор рынка" инструмент, то запускаем скрипт и вводим несколько первых символов для поиска.

SymbolName - ввод нескольких символов для поиска

OpenChart - true (открыть) \ false (не открывать) окно графика

Необходимо разрешить использование dll.

//+------------------------------------------------------------------+
//|                                    s-SearchSymbolMarketWatch.mq4 |
//|                                          Copyright © 2011, Talex |
//|                                      talex.kaliningrad@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Talex"
#property link      "talex.kaliningrad@gmail.com"
#property show_inputs

#define WM_COMMAND         0x0111
#define WM_KEYDOWN         0x0100
#define VK_HOME            0x24
#define VK_DOWN            0x28

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


extern string SymbolName = "";
extern bool   OpenChart  = false;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start() {
   int i,hfile,count,offset,len;
   string symb;
//=============================================
   hfile=FileOpenHistory("symbols.sel",FILE_BIN|FILE_READ);
   if(hfile!=-1) {
      count=(FileSize(hfile)-4)/128; 
      offset=116;
      FileSeek(hfile,4,SEEK_SET);
      len=StringLen(SymbolName);
      for(i=0;i<count;i++) {
         symb=FileReadString(hfile,12);
         FileSeek(hfile,offset,SEEK_CUR);
         if(StringSubstr(symb,0,len)==SymbolName) break;
      }
      if(i<count) OpenChart(i);
   }
   FileClose(hfile);
   return;
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| OpenChart()                                                      |
//| Назначение:                                                      |
//| Открывает окно графика символа из окна "Обзор рынка".            |
//+------------------------------------------------------------------+
void OpenChart (int num) {
   int handle,hwnd;
//------------------------------------- 
   handle=GetAncestor(WindowHandle(Symbol(),Period()),2); 
   hwnd=GetDlgItem(handle,0xE81C); 
   hwnd=GetDlgItem(hwnd,0x50);
   hwnd=GetDlgItem(hwnd,0x8A71);                 // Нашли "Обзор рынка".
   PostMessageA(hwnd,WM_KEYDOWN,VK_HOME,0);      // Верхняя строчка окна "Обзор рынка".
   while (num>0) {
      PostMessageA(hwnd,WM_KEYDOWN,VK_DOWN,0);   // Сместились на нужную строчку.
      num--;
   }
   if(OpenChart) {
      PostMessageA(handle,WM_COMMAND,33160,0);   // Открыли график.
   }
   return;
}
//+------------------------------------------------------------------+
 
Talex:

Да, чего то тянут.

Краткое описание.

Когда надо быстро найти в окне "Обзор рынка" инструмент, то запускаем скрипт и вводим несколько первых символов для поиска.

SymbolName - ввод нескольких символов для поиска

OpenChart - true (открыть) \ false (не открывать) окно графика

Необходимо разрешить использование dll.

Вы хотите сказать, что в файле: symbols.sel инструменты находятся в той же последовательности (в том же порядке), как и в окне: "Обзор рынка" ?!
 
LEOK:
Вы хотите сказать, что в файле: symbols.sel инструменты находятся в той же последовательности (в том же порядке), как и в окне: "Обзор рынка" ?!
:)) Скрипт перед Вами, попробуйте.
Причина обращения: