- www.mql5.com
Справку читал, непонял как это применить
Вот тут посмотрите:
Есть код который сканирует все тайм фреймы и символы, при определенных условиях открывается чарт на этом чарте две кнопки, 1 продолжить сканирование рынка , вторая удалить данный чарт.
до тех пор пока ненажата ни одна из кнопок, должна быть пауза.
Вопрос 1 как организовать паузу в течении которой будут сканироваться кнопки?
2 как организовать проверку нажатий кнопок?
1 Первый вопрос не понял.
2 См. ниже, если МТ-5 и кнопку создаёте сами, то обработка нажатия кнопки:
void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam ) { long b_state;
if ( id == CHARTEVENT_OBJECT_CLICK ) { if ( sparam == "stop_button" ) { if ( ObjectGetInteger( 0, "stop_button", OBJPROP_STATE, 0, b_state ) ) {
} } } }
b_state - состояние кнопки.
Если кнопка создаётся с помощью стандартной библиотеки:
То у неё есть свойство "Pressed' (Save_Button.Pressed() )
void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam ) { if ( id == CHARTEVENT_OBJECT_CLICK ) { if ( ( sparam == "stop_button" ) && ( Stop_button.Pressed() ) ) { ..... } } }
Проще вот так, чтоб не вспоминать какое у кого название:
if(( sparam == Stop_button.Name( )) && Stop_button.Pressed( ))
{
.....
}
Проще вот так, чтоб не вспоминать какое у кого название:
Понимаете, вся сложность в том, что OnChartEvent отслеживает нажатие на том таймфрейме к которому присоединен советник, а нажатие на новых он неотслеживает, вот и вопрос как сделать?
Действительно тут OnChartEvent не поможет, видимо остается один способ:
- из советника создаете кнопки на нужных чартах,
- проверяете по таймеру состояние (нажата/не нажата) каждой из них
Состояние кнопки можно вытянуть из ее свойств.
Будет небольшой лаг из-за таймера, т.к. слишком часто делать опрос затратно, но раз в секунду вполне приемлемо.
Для себя делал такое, работает.
Действительно тут OnChartEvent не поможет, видимо остается один способ:
- из советника создаете кнопки на нужных чартах,
- проверяете по таймеру состояние (нажата/не нажата) каждой из них
Состояние кнопки можно вытянуть из ее свойств.
Будет небольшой лаг из-за таймера, т.к. слишком часто делать опрос затратно, но раз в секунду вполне приемлемо.
Для себя делал такое, работает.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть код который сканирует все тайм фреймы и символы, при определенных условиях открывается чарт на этом чарте две кнопки, 1 продолжить сканирование рынка , вторая удалить данный чарт.
до тех пор пока ненажата ни одна из кнопок, должна быть пауза.
Вопрос 1 как организовать паузу в течении которой будут сканироваться кнопки?
2 как организовать проверку нажатий кнопок?