Вот панель диалогов с элементом управления CEdit (для наглядности пример сделан в виде одного файла) - в панели проверяются введённые символы. Допустимы только цифры:
Спасибо за код. Но еще вопрос такой. Скомпилировал код в мт5. Там в едите получается что вводить буквы все равно можно, просто в случае ввода букв при завершении ввода оно в едите пишет что "Допустымы только цифры". Но как сделать чтобы даже вводить буквы в едит нельзя было?
Andrey Zuev: Спасибо за код. Но еще вопрос такой. Скомпилировал код в мт5. Там в едите получается что вводить буквы все равно можно, просто в случае ввода букв при завершении ввода оно в едите пишет что "Допустымы только цифры". Но как сделать чтобы даже вводить буквы в едит нельзя было?
Никак. Элемент управления на базе класса CEdit обрабатывает только событие ON_END_EDIT- (6) // end of editing event - то есть событие окончание ввода.
три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно.
Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.
три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно.
Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.
Просмотрите пример iCustom. iCustom возвращает хэндл указанного пользовательского индикатора. Возвращает ОДИН РАЗ в OnInit(). А потом уже Вы при помощи хендла получаете данные функциями Copy**** (в зависимости от потребностей):
Alexey Volchanskiy: Если не обязательно именно делать это из MQL, посмотрите в сторону AutoIT, там вообще можно делать все, что угодно. Продукт бесплатен, для взаимодействия с MQL нужна всего одна DLL.
Вот панель диалогов с элементом управления CEdit (для наглядности пример сделан в виде одного файла) - в панели проверяются введённые символы. Допустимы только цифры:
Спасибо за код. Но еще вопрос такой. Скомпилировал код в мт5. Там в едите получается что вводить буквы все равно можно, просто в случае ввода букв при завершении ввода оно в едите пишет что "Допустымы только цифры". Но как сделать чтобы даже вводить буквы в едит нельзя было?
Коллеги, пробую взять сигнал из вот этой строки:
if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку
но компилятор жалуется, что "Point - undeclared identifider".
это МТ5.
Разве это не предопредленная переменная?
Коллеги, пробую взять сигнал из вот этой строки:
if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку
но компилятор жалуется, что "Point - undeclared identifider".
это МТ5.
Разве это не предопредленная переменная?
Коллеги, пробую взять сигнал из вот этой строки:
if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку
но компилятор жалуется, что "Point - undeclared identifider".
это МТ5.
Разве это не предопредленная переменная?
Нужно использовать Point().
Спасибо.
Еще вопрос. Хочу взять значение кривой на текущей и последней закрытой свече, а так же на последней закрытой и предпоследней закрытой свече.
тут нужно использовать массив?
У меня Машка имеет 3 входных параметра. Я пытаюсь выстроить к ней такое обращение, что:
//----------------------
double P0, P1, P2; // Значение индикатора на текущей свече, последней закрытой свече
P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на текущей свече
P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на последней закрытой свече
P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на предпоследней закрытой свече
//----------------------
три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно.
Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.
Как по-умному? ))
Коллеги, пробую взять сигнал из вот этой строки:
if((MathAbs(d_f)>(K_F*Point)) && (d_f>0.0)) // Сигнал на покупку
но компилятор жалуется, что "Point - undeclared identifider".
это МТ5.
Разве это не предопредленная переменная?
а потом Вы пишите это:
Спасибо.
Еще вопрос. Хочу взять значение кривой на текущей и последней закрытой свече, а так же на последней закрытой и предпоследней закрытой свече.
тут нужно использовать массив?
У меня Машка имеет 3 входных параметра. Я пытаюсь выстроить к ней такое обращение, что:
//----------------------
double P0, P1, P2; // Значение индикатора на текущей свече, последней закрытой свече
P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на текущей свече
P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на последней закрытой свече
P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //Цена индикатора на предпоследней закрытой свече
//----------------------
три нижние строки нижние одинаковые, написал так, т.к. пока не пойму как узнать значение на предыдущей свече. Текущую он берет верно, через Алерт выводит корректно.
Возможно тут надо как-то задать цикл, где текущее будет записываться и с каждой новой свечей сдвигаться назад, становясь сначала последней закрытой, а потом уже и предпоследней закрытой свечей.
Как по-умному? ))
Так, всё таки: Вы пишите в МТ5 или в МТ4?
Добавлено: Правильно вставляем код на форуме
а потом Вы пишите это:
Так, всё таки: Вы пишите в МТ5 или в МТ4?
Добавлено: Правильно вставляем код на форуме
МТ5. Не судите строго, я только начинаю.
компилятор вроде не ругается.
МТ5. Не судите строго, я только начинаю.
компилятор вроде не ругается.
Просмотрите пример iCustom. iCustom возвращает хэндл указанного пользовательского индикатора. Возвращает ОДИН РАЗ в OnInit(). А потом уже Вы при помощи хендла получаете данные функциями Copy**** (в зависимости от потребностей):
Если не обязательно именно делать это из MQL, посмотрите в сторону AutoIT, там вообще можно делать все, что угодно. Продукт бесплатен, для взаимодействия с MQL нужна всего одна DLL.