Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 673
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
как определить появление алерта через iCustom ?
Может быть вы знаете уже существующие индикаторы\советники для этого ?
пишу советник, который работает по мартингейлу.
Как заставить его закрывать все открытые им ордера при достижении максимально допустимого убытка в пунктах на одной валютной паре?
Если нужно действительно в пунктах, а не в деньгах, то вот функция, применять так-же, как и прошлую
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
if(symb=="0") { symb=Symbol();}
for(int i=0; i<OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
if(OrderType()==OP_BUY) {
prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
}
if(OrderType()==OP_SELL) {
prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
}
pr=prb+prs;
}
}}
return(pr);
}
Здравствуйте. Какой код добавить , чтобы появление алерта любого индикатора определялось в советнике ?
как определить появление алерта через iCustom ?
Может быть вы знаете уже существующие индикаторы\советники для этого ?
Здравтсвуйте. Хотел открыть файл .ex4 с помощью mt4.exe и поставил использовать для всех файлов. Как обратно вернуть "общая библиотека оболочки windows" ? почему то мт4 не видит теперь данного эксперта (робота).
Вы не поверите, но все!!! хотят открыть файл .ех4, проблема в том, что он никогда не открывался для редактирования, и не откроется.
Редактируемые файлы только .mq4, исполняемые - .ех4
События клиентского терминала
Init
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после перекомпиляции программы в редакторе MetaEditor, после смены входных параметров из окна настройки эксперта или пользовательского индикатора. Советник также инициализируется после смены счета. Для скриптов событие Init не генерируется.
А если не "из окна" ? Например, при режиме оптимизации в тестере ? Где об этом узнать, почитать ?
События клиентского терминала
Init
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после перекомпиляции программы в редакторе MetaEditor, после смены входных параметров из окна настройки эксперта или пользовательского индикатора. Советник также инициализируется после смены счета. Для скриптов событие Init не генерируется.
А если не "из окна" ? Например, при режиме оптимизации в тестере ? Где об этом узнать, почитать ?
В режиме оптимизации, каждый проход с новыми параметрами - это не что иное как новый запуск программы. Соответственно после запуска проходит событие OnInit().
Спасибо Владимир! Я это понимаю.)) Но, где об этом в документации написано ? Если в init() прописать Print, Alert, Comment, то ни в журнал ничего не выводится, ни на экран. Как убедиться в том, о чём мы с Вами знаем ?
Существуют ограничения работы некоторых функций в тестере стратегий клиентского терминала.
Функции Print() и PrintFormat()
Для увеличения быстродействия при оптимизации параметров советника функции Print() и PrintFormat() не выполняются. Исключением является использование этих функций внутри обработчика OnInit(). Это позволяет облегчить поиск причин ошибок при их возникновении.
Функции Alert(), MessageBox(), PlaySound(), SendFTP, SendMail(), SendNotification(), WebRequest()
Функции взаимодействия с "внешним миром" Alert(), MessageBox(), PlaySound(), SendFTP(), SendMail(), SendNotification() и WebRequest() в тестере стратегий не выполняются.
А чтобы убедится - запустите отладку на истории и в OnInit() поставьте точку останова.
У меня что-то вывести с помощью Print() в журнал тестера никак не получается. А как Вы это делаете ?