#2 hotkeys change timeframe.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#2 hotkeys change timeframe.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот пользовательский индикатор для MetaTrader 5 добавляет управление графиком с помощью клавиатуры. Он не выполняет расчёт значений и не рисует линии или буферы: функция OnCalculate лишь возвращает rates_total, а основная работа сосредоточена в обработчике событий графика.
Индикатор реагирует на нажатия клавиш. Стрелки вверх и вниз переключают таймфрейм текущего графика по фиксированному набору периодов. Стрелки влево и вправо переключают символ графика по списку символов, отображаемых в окне «Обзор рынка».
Список символов формируется динамически при каждом переключении, поэтому изменения в обзоре рынка учитываются. Переключение выполняется штатными средствами смены символа и периода графика. Индикатор не совершает торговых операций и не использует торговые функции.
Поиск по коду файла
#property strict
#property description "Hotkeys left,right To Cycle Through Market Watch Symbols."
#property description "Hotkeys up, down To Switch Timeframes."
#property indicator_chart_window
int NumSymbols=0;
string StringSymbolList[];
int OnInit()
{
// код доступен только после оплаты
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
string Up_Key_Value;
string Down_Key_Value;
int enum_timeframes[]={0,1,5,15,30,60,240,1440};
int p = Period();
int i = ArrayBsearch(enum_timeframes,p);
StringToUpper(Up_Key_Value);
StringToUpper(Down_Key_Value);
switch(id)
{
case CHARTEVENT_KEYDOWN:
if(38==lparam)
{
if(i<5)
{
ChartSetSymbolPeriod(0,NULL,enum_timeframes[++i]);
}
}
if(40==lparam)
{
if(i>1)
{
ChartSetSymbolPeriod(0,NULL,enum_timeframes[--i]);
}
Показано первые 50% кода (символов: 1983)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.