На одном из форумов я видел код, который позволяет програмно отобразить позицию
требуемого бара истории.. К сожалению машина ушла в зависание и место затерялось..
В свое время идея отображения бара истории я сумел реализовать но этот метод через
перемещения от текущей точки в глубину истории посредством эмуляции нажатия клавиш PgUp и PgDn не сильно радует..
За предоставленный код буду очень благодарен..
Надо искать SendMesasge, где-то проскакивало.
Например, можно написать дату в окне быстрого перехода ('Фишка: отправка данных работающему эксперту'). Но было и более правильно решение.
Благодарю komposter
на основании https://www.mql5.com/ru/forum/112654 я сделал то что так
долго искал, подобное решение ввода строки..
//+------------------------------------------------------------------+ //| ShiftBar.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" #property show_inputs //----Внешние параметры.--------------------------------------------- extern datetime VisibleTime = D'05.12.2008 07:32'; // Отображаемая дата истории. //----Включаемые файлы.---------------------------------------------- #import "user32.dll" int GetDlgItem(int h, int controlID); #import #include #include //=================================================================== int start() { int Handle = WindowHandle (Symbol(), Period()); int hEdit; datetime VisibleTime=D'05.12.2008 07:32'; int Visible=iBarShift(NULL,0,VisibleTime,false); int Index=WindowFirstVisibleBar(); int BarCount=WindowBarsPerChart(); Alert("BarCount=",BarCount); Alert("Index=",Index); EnterCodeKey(Handle,VK_ENTER);Print("Enter"); hEdit = GetDlgItem(Handle, 0x45A); if (hEdit>0){// нашли окошко// активно диалоговое окно ввода SetWindowTextA(hEdit, TimeToStr(VisibleTime,TIME_DATE|TIME_MINUTES)); Print(TimeToStr(VisibleTime,TIME_DATE|TIME_MINUTES)); } EnterCodeKey(hEdit,VK_ENTER); return; } //+------------------------------------------------------------------+ void EnterCodeKey(int iHandle,int KeyCode) { PostMessageA (iHandle, WM_KEYDOWN, KeyCode, 1); PostMessageA (iHandle, WM_KEYUP, KeyCode, 1); Sleep(100); return; } //+------------------------------------------------------------------+
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
На одном из форумов я видел код, который позволяет програмно отобразить позицию
требуемого бара истории.. К сожалению машина ушла в зависание и место затерялось..
В свое время идея отображения бара истории я сумел реализовать но этот метод через
перемещения от текущей точки в глубину истории посредством эмуляции нажатия клавиш PgUp и PgDn не сильно радует..
За предоставленный код буду очень благодарен..