Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 391
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
здраствуйте подскажите почему у меня в metaeditore кнопки отладки не активны????исходник вставлен
Скорее всего, упомянутые функции являются пользовательскими и МЕ не обязан их знать. Вы сами должны их правильно объявлять и вызывать.
Функции-не пользовательские. Ответьте, если вас не затруднит, на вопрос о том, на каком языке писать софт в терминале мт4?
Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.
советник находиться в каталоге программы как обычно в папке эксперт и стоит на графике
Функции-не пользовательские. Ответьте, если вас не затруднит, на вопрос о том, на каком языке писать софт в терминале мт4?
Да, не пользовательские, это функции из MQL5. Для MQL4 нужно будет подыскивать другие, или написать аналогичные, но уже пользовательские.
Например, OrderGetTicket() MQL5 -> OrdetTicket() MQL4.
Всем привет!
Несколько вопросов от новичка.
1. Разница между Mql4 и Mql5 (сайт и собственно язык программирования). Есть Metatrade 4 и Metatrader 5 с соответственно встроенными Mql4 и Mql5. Есть и два разных соответствующих сайта. При этом все те эксперты, которые я смотрел в MT4 ведут на этот сайт. Какой же более актуальный? Какой форум "живее"? Где лучше писать вопросы? Обратная совместимость между разными версиями MT и Mql? Я лично сейчас пишу эксперта в MT4 на Mql4 соответственно. Связано это с тем, что брокер, у которого я использую демку для тестирования, использует MT4. Как определить язык, на котором написан эксперт? В смысле только по расширению (.mq4 и .mq5). А если файл переименовать, будет ли он компилироваться (это опять же про совместимость)?
2. Динамические внешние параметры эксперта. Можно ли как-то динамически менять настраиваемые параметры эксперта. Поясню... Например есть внешний параметр extern bool a. Если он равен true, то нужно настраивать дополнительный параметр extern int b. Если же а=false, то параметр b не нужен. Можно ли как-то его отображать/не отображать в зависимости от выбранного текущего значения а? Учитывая, что обработчиков изменения внешних параметров не нашел, и нет конструкции типа #if .. #endif, то подозреваю, что это сделать нельзя... Если это так, но не подскажите, как лучше поступать в этой ситуации, чтобы не перегружать процесс настройки внешних параметров? Например, можно поставить a=false, забыть, что параметр b при этом не используется, но все равно включить его в оптимизацию (хотя смысла в этом не будет, только лишнее время потратится). И одно дело, когда такой параметр b всего один. А, если например, я делаю enum внешний параметр и там несколько выпадающих вариантов ТС. У них есть общая часть (потому их логично реализовывать внутри одного эксперта, а не писать несколько), но есть и различные с множеством разных параметров. Тогда очень легко запутаться, какие параметры актуальны для выбранной ТС.
3. Автоматическая оптимизация эксперта. ИМХО, очень удобная и нужная вещь. Нашел вот эту статью. Но там, как я понял, используется второй экземпляр MT, который запускается на оптимизацию из вне (из работающего экземпляра MT), а результаты оптимизации читаются из отчета в виде html. Это не очень удобно и кривовато. По логике надо писать свою функцию/dll для оптимизации и напрямую запускать ее из эксперта. Так вот собственно вопрос. Как я понял, в самом MT в тестере стратегий запрограммирован генетический алгоритм оптимизации. Очень поверхностно знаю про эти алгоритмы. Но по идее они давно известны, отсюда вопрос - зачем изобретать велосипед?) Есть ли готовый алгоритм, который используется непосредственно в MT? Может он уже есть где-то в библиотеках самого терминала... Может есть отдельно исходники или готовая dll. В общем, поделитесь, пожалуйста, опытом в этом вопросе.
Пока вроде все...) Надеюсь не сильно напряг количеством букав)
Заранее всем спасибо за ответы!
подскажите как в советнике прописать чтобы на экране видно было общий обьем в лотах по сел и бай
подскажите как в советнике прописать чтобы на экране видно было общий обьем в лотах по сел и бай
Точно не уверен, ибо сам пока новичок. Но вроде есть команда Comment, выводящая любую информацию в левый верхний угол графика эксперта. Ну а объем лотов можно посчитать в примерно таком цикле:
int totalOrders = OrdersTotal();
double totalLots = 0;
for(int i=0; i<totalOrders; i++)
if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )
totalLots += OrderLots();
Comment("totalLots=", totalLots);
Это общий код для всех сделок. Для бай и селл отдельно создаете раздельные переменные и делаете switch по OrderType()