На одном из форумов я видел код, который позволяет програмно отобразить позицию
требуемого бара истории.. К сожалению машина ушла в зависание и место затерялось..
В свое время идея отображения бара истории я сумел реализовать но этот метод через
перемещения от текущей точки в глубину истории посредством эмуляции нажатия клавиш 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 не сильно радует..
За предоставленный код буду очень благодарен..