Еще если можно - сделайте плиз так чтобы результаты оптимизации и график оптимизации удалялись, в том случае если тестирование идет в обычном режиме.
Или это такой хитрый ход, чтобы можно было в любой момент подсмотреть?
Я бы возразил против такого предложения. После оптимизации мне для анализирования результатов требуется проверить по отдельности множество проходов в обычном режиме (достигается кликаньем на соответствующем проходе). Если результаты оптимизации исчезнут после первого же тестирования в обычном режиме, то будет потеряна ценная возможность работы с результатами.
Я бы возразил против такого предложения. После оптимизации мне для анализирования результатов требуется проверить по отдельности множество проходов в обычном режиме (достигается кликаньем на соответствующем проходе). Если результаты оптимизации исчезнут после первого же тестирования в обычном режиме, то будет потеряна ценная возможность работы с результатами.
Ну яж не настаиваю, о чем и говорит строка - > Или это такой хитрый ход, чтобы можно было в любой момент подсмотреть?
The namespace provides access to classes that represent the ADO.NET architecture. ADO.NET lets you build components that efficiently manage data from multiple data sources. In a disconnected scenario such as the Internet, ADO.NET provides the tools to request, update, and reconcile data in multiple tier systems. The ADO.NET architecture is...
ps Создается такое впечатление что разработчики или делают софт для новичков или сами же ими явлюятся
Существует такая вещица как ПОЛЬЗОВАТЕЛЬСКИЕ события. Реализовать самостоятельно можно их любое число.
Я к примеру, давно уже отлавливаю OnConnected и OnDisconnected через таймер. Если Вам так хочется, создайте также OnBar и OnBarClose или любые другие события.
После чего спокойно отлавливайте их в OnChartEvent при помощи вот такого блока (все это в справке есть, зачем колесо изобретать?)
if(id>CHARTEVENT_CUSTOM)
//User event is received / Получено пользовательское событие
{
}
PS
А на уровне классов вообще любое (ну почти любое) событие можно соорудить и обработать...
Существует такая вещица как ПОЛЬЗОВАТЕЛЬСКИЕ события. Реализовать самостоятельно можно их любое число.
Я к примеру, давно уже отлавливаю OnConnected и OnDisconnected через таймер. Если Вам так хочется, создайте также OnBar и OnBarClose или любые другие события.
После чего спокойно отлавливайте их в OnChartEvent при помощи вот такого блока (все это в справке есть, зачем колесо изобретать?)
PS
А на уровне классов вообще любое (ну почти любое) событие можно соорудить и обработать...
Интересно посмотреть как вы это реализуете (OnConnected?)
Интересно посмотреть как вы это реализуете (OnConnected?)
Да пожалуйста :)
Приведу пример обработки этих событий в советнике при помощи класса CMqlManagerConnect (модуль прикреплен к посту).
1. Копируем модуль в каталог \MQL5\Include\ (желательно в подкаталог)
У меня это все лежит тут - \MQL5\Include\Units\Objects
2. В эксперт добавляем линк на этот файл, у меня так
////////////////////////////////////////////////////////////////////////////////// Object classes, used in working the trade system //////////////////////////////////////////////////////////////////////////////////
#include <\Units\Objects\UManagerConnect.mqh> //Class - CMqlManagerConnect
3. Создаем переменную с типом CMqlManagerConnect.
////////////////////////////////////////////////////////////////////////////////// Global variables, used in working the trade system ////////////////////////////////////////////////////////////////////////////////////****************************************************************************//// Objects created on the grounds of the classes ////****************************************************************************//
CMqlManagerConnect ManagerConnect; //Менеджер контролирующий состояние коннекта
4. В таймере пишем так
voidOnTimer()
{
//----------------------------------------------------------------------------////Work variables / Служебные переменные//----------------------------------------------------------------------------////****************************************************************************//// Контроль состояния соединения с сервером // //****************************************************************************//
ManagerConnect.OnEventTimer();
//----------------------------------------------------------------------------//
}
voidOnChartEvent(constint id, // идентификатор события constlong& lparam, // параметр события типа longconstdouble& dparam, // параметр события типа doubleconststring& sparam // параметр события типа string
)
{
//----------------------------------------------------------------------------////Work variables / Служебные переменные//----------------------------------------------------------------------------////****************************************************************************//// Processing user events ////****************************************************************************//if(id>CHARTEVENT_CUSTOM)
//User event is received / Получено пользовательское событие
{
//Выводим текстовое сообщение о событии в комментарийComment("User Event ",sparam);
if(id==CHARTEVENT_CUSTOM+1)
//Соединеие с сервером востановлено
{
//тут обрабатываем все что нам нужно
}
if(id==CHARTEVENT_CUSTOM+2)
//Соединеие с сервером потеряно
{
//тут обрабатываем все что нам нужно
}
}
//----------------------------------------------------------------------------//
}
PS
Можно конечно не передавать события в OnChartEvent, а обрабатывать их прям в классе (прям в базовом или в наследниках). Но рекомендую даже при таком подходе оставить обращение к OnChartEvent, поскольку возможно понадобится и остальным чартам рассказать о случившемся... :)
Приведу пример обработки этих событий в советнике при помощи класса CMqlManagerConnect (модуль прикреплен к посту).
1. Копируем модуль в каталог \MQL5\Include\ (желательно в подкаталог)
У меня это все лежит тут - \MQL5\Include\Units\Objects
2. В эксперт добавляем линк на этот файл, у меня так
3. Создаем переменную с типом CMqlManagerConnect.
4. В таймере пишем так
5 В OnChartEvent пишем так
PS
Можно конечно не передавать события в OnChartEvent, а обрабатывать их прям в классе (прям в базовом или в наследниках). Но рекомендую даже при таком подходе оставить обращение к OnChartEvent, поскольку возможно понадобится и остальным чартам рассказать о случившемся... :)
Класс CMqlManagerConnect, сами писали? есть ли у вас решение о переборе серверов, при потери соединения с сервером?
dentraf: Класс CMqlManagerConnect, сами писали? есть ли у вас решение о переборе серверов, при потери соединения с сервером?
Писал конечно сам (для примера), а сам я по другому этот вопрос решаю. Решения перебора нет (по крайней мере пока), но нужно будет решать и этот вопрос (народ по поводу уже обращался к разработчикам)...
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Прошу рассмотреть
предложение добавить в MQL5 функционал позволяющий менять из индикатора или эксперта или из скрипта
Макс кол баров в окне...
бывает полезно сделать контролируемое из программы ограничение
PS
Еще если можно - сделайте плиз так чтобы результаты оптимизации и график оптимизации удалялись, в том случае если тестирование идет в обычном режиме.
Или это такой хитрый ход, чтобы можно было в любой момент подсмотреть?
PS
Еще если можно - сделайте плиз так чтобы результаты оптимизации и график оптимизации удалялись, в том случае если тестирование идет в обычном режиме.
Или это такой хитрый ход, чтобы можно было в любой момент подсмотреть?
Я бы возразил против такого предложения. После оптимизации мне для анализирования результатов требуется проверить по отдельности множество проходов в обычном режиме (достигается кликаньем на соответствующем проходе). Если результаты оптимизации исчезнут после первого же тестирования в обычном режиме, то будет потеряна ценная возможность работы с результатами.
Я бы возразил против такого предложения. После оптимизации мне для анализирования результатов требуется проверить по отдельности множество проходов в обычном режиме (достигается кликаньем на соответствующем проходе). Если результаты оптимизации исчезнут после первого же тестирования в обычном режиме, то будет потеряна ценная возможность работы с результатами.
Ну яж не настаиваю, о чем и говорит строка - > Или это такой хитрый ход, чтобы можно было в любой момент подсмотреть?
1)Необходимо добавить нормальные события, а не то что у вас реализовано.
первое что в голову пришло
OnBar,OnBarClose,OnQuote,OnDomChanged...
OnPositionOpened,OnPositionClosed...
OnConnected,Ondisconnected..
изменения статусов заявок и тп
2) переделать документацию в человечский вид, примерно как здесь: http://msdn.microsoft.com/en-us/library/system.data.aspx
3) "даешь API в массы" -)
ps Создается такое впечатление что разработчики или делают софт для новичков или сами же ими явлюятся
1)Необходимо добавить нормальные события, а не то что у вас реализовано.
первое что в голову пришло
OnBar,OnBarClose,OnQuote,OnDomChanged...
OnPositionOpened,OnPositionClosed...
OnConnected,Ondisconnected..
изменения статусов заявок и тп
2) переделать документацию в человечский вид, примерно как здесь: http://msdn.microsoft.com/en-us/library/system.data.aspx
3) "даешь API в массы" -)
ps Создается такое впечатление что разработчики или делают софт для новичков или сами же ими явлюятся
Существует такая вещица как ПОЛЬЗОВАТЕЛЬСКИЕ события. Реализовать самостоятельно можно их любое число.
Я к примеру, давно уже отлавливаю OnConnected и OnDisconnected через таймер. Если Вам так хочется, создайте также OnBar и OnBarClose или любые другие события.
После чего спокойно отлавливайте их в OnChartEvent при помощи вот такого блока (все это в справке есть, зачем колесо изобретать?)
PS
А на уровне классов вообще любое (ну почти любое) событие можно соорудить и обработать...
Существует такая вещица как ПОЛЬЗОВАТЕЛЬСКИЕ события. Реализовать самостоятельно можно их любое число.
Я к примеру, давно уже отлавливаю OnConnected и OnDisconnected через таймер. Если Вам так хочется, создайте также OnBar и OnBarClose или любые другие события.
После чего спокойно отлавливайте их в OnChartEvent при помощи вот такого блока (все это в справке есть, зачем колесо изобретать?)
PS
А на уровне классов вообще любое (ну почти любое) событие можно соорудить и обработать...
Интересно посмотреть как вы это реализуете (OnConnected?)
dentraf:
Интересно посмотреть как вы это реализуете (OnConnected?)
Да пожалуйста :)
Приведу пример обработки этих событий в советнике при помощи класса CMqlManagerConnect (модуль прикреплен к посту).
1. Копируем модуль в каталог \MQL5\Include\ (желательно в подкаталог)
У меня это все лежит тут - \MQL5\Include\Units\Objects
2. В эксперт добавляем линк на этот файл, у меня так
3. Создаем переменную с типом CMqlManagerConnect.
4. В таймере пишем так
5 В OnChartEvent пишем так
PS
Можно конечно не передавать события в OnChartEvent, а обрабатывать их прям в классе (прям в базовом или в наследниках). Но рекомендую даже при таком подходе оставить обращение к OnChartEvent, поскольку возможно понадобится и остальным чартам рассказать о случившемся... :)
Да пожалуйста :)
Приведу пример обработки этих событий в советнике при помощи класса CMqlManagerConnect (модуль прикреплен к посту).
1. Копируем модуль в каталог \MQL5\Include\ (желательно в подкаталог)
У меня это все лежит тут - \MQL5\Include\Units\Objects
2. В эксперт добавляем линк на этот файл, у меня так
3. Создаем переменную с типом CMqlManagerConnect.
4. В таймере пишем так
5 В OnChartEvent пишем так
PS
Можно конечно не передавать события в OnChartEvent, а обрабатывать их прям в классе (прям в базовом или в наследниках). Но рекомендую даже при таком подходе оставить обращение к OnChartEvent, поскольку возможно понадобится и остальным чартам рассказать о случившемся... :)
Класс CMqlManagerConnect, сами писали? есть ли у вас решение о переборе серверов, при потери соединения с сервером?