mzk_3om6u Опубликовано 14 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 14 ноября, 2013 Подскажите, а модифицировать отложки (установка сл - тп) лучше, если они становятся рыночными? Просто у меня при установки отложек и последующей модификации, в тестере вылазит ошибка OrderModify error 130. Причем через раз - первый запуск - ошибка, второй - нет ошибки... 130 ошибка стопа, значит не верно считается:) Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 16 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 ноября, 2013 Еще вопрос - OrderProfit() возвращает значение убытка для закрытых ордеров? И как его получать, с помощью MODE_HISTORY ?Еще очень хотелось бы, чтобы уважаемый xbms сделал урок по обработке советником ошибок, с которыми мы можем и будем сталкиваться в реальном рынке, а не только в тестере. Хотя бы самое основное - какие ошибки и бяки могут возникнуть со стороны брокера, как это корректно обрабатывать. Думаю, без этого полноценного эксперта не напишешь.З.Ы. Еще раз спасибо и респект за видеоуроки, надеюсь, что их будет больше. Ссылка на сообщение Поделиться на другие сайты More sharing options...
elruso Опубликовано 16 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 16 ноября, 2013 Еще вопрос - OrderProfit() возвращает значение убытка для закрытых ордеров? И как его получать, с помощью MODE_HISTORY ?Еще очень хотелось бы, чтобы уважаемый xbms сделал урок по обработке советником ошибок, с которыми мы можем и будем сталкиваться в реальном рынке, а не только в тестере. Хотя бы самое основное - какие ошибки и бяки могут возникнуть со стороны брокера, как это корректно обрабатывать. Думаю, без этого полноценного эксперта не напишешь.З.Ы. Еще раз спасибо и респект за видеоуроки, надеюсь, что их будет больше. OrderProfit() возвращает текущий профит в волюте! OrderTakeProfit() возвращает профит закрытого ордера! Посмотри документацию F1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 17 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 ноября, 2013 elruso, ты бы сам сначала документацию посмотрел, прежде чем отвечать. Цитирую дословно: Цитата double OrderTakeProfit() Возвращает значение цены закрытия позиции при достижении уровня прибыльности (take profit) для текущего выбранного ордераdouble OrderProfit() Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранного ордера. Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Vorchunozavr Опубликовано 17 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 ноября, 2013 Еще вопрос - OrderProfit() возвращает значение убытка для закрытых ордеров? И как его получать, с помощью MODE_HISTORY ? 1. Да. (отрицательный профит)2. Здесь сложнее. Если знаем тикет, то просто:if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_HISTORY))profit = OrderProfit(); Если последний закрытый ордер, то так:if (OrderSelect(1, SELECT_BY_POS, MODE_HISTORY))profit = OrderProfit(); А, если нужно более серьёзно ковыряться в истории, то перелопачивать OrdersHistoryTotal(), сортировать по инструменту - OrderSymbol(), по времени закрытия - OrderCloseTime() и т.д. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Baggins Опубликовано 17 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 ноября, 2013 Последний урок, уж очень похож на урок по мартингейлу. Изменено 17 ноября, 2013 пользователем Baggins Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 17 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 17 ноября, 2013 Vorchunozavr, спасибо за подсказки.Вобщем у меня вот такая получилась функция возврата значения профита (убытка) последнего закрытого ордера (может кому пригодится):double LastOrderProfit() { for (int i = OrdersHistoryTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) return (OrderProfit()); } }return (0); } Ссылка на сообщение Поделиться на другие сайты More sharing options...
Baggins Опубликовано 18 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 18 ноября, 2013 Вот, вроде всё правильно написал. Только второе задание не понял как делать. setka.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 18 ноября, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 18 ноября, 2013 Вот, вроде всё правильно написал. Только второе задание не понял как делать. Ну так а какой смысл в копировании советника с видео?Цель - именно разобраться и выполнить задания... 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Baggins Опубликовано 18 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 18 ноября, 2013 Переписал, протестил на демо. Тп у всей сетки изменяется, если в настройках поменять тэйкпрофит.Среднюю цену вывел в функцию avgTP() setka.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Sorm Опубликовано 19 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 19 ноября, 2013 За идею - спасибо. Вопрос только один - а если в тренд попадешь? Ссылка на сообщение Поделиться на другие сайты More sharing options...
hodok Опубликовано 20 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 ноября, 2013 Кто может объяснить, почему, когда RSI(7) на графике направлен вниз, советник делает покупки?Только ли из-за того, что, (будем говорить так,) после неудачной покупки, цена пошла не в нашу сторону? Ссылка на сообщение Поделиться на другие сайты More sharing options...
mzk_3om6u Опубликовано 20 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 20 ноября, 2013 Кто может объяснить, почему, когда RSI(7) на графике направлен вниз, советник делает покупки?Только ли из-за того, что, (будем говорить так,) после неудачной покупки, цена пошла не в нашу сторону? телепаты и предсказатели, сегодня работают в другой ветке.А нам нужен код советника, или как минимум его часть. Ссылка на сообщение Поделиться на другие сайты More sharing options...
hodok Опубликовано 21 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 ноября, 2013 Я, так понимаю, тут обсуждают советника из последнего урока, Setka, или я дверь перепутал? Ссылка на сообщение Поделиться на другие сайты More sharing options...
mzk_3om6u Опубликовано 21 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 21 ноября, 2013 Я, так понимаю, тут обсуждают советника из последнего урока, Setka, или я дверь перепутал? Здесь обсуждают конкретные вопросы, по конкретным темам с уклоном в mql4.В том числе и последний урок, но не все его смотрели. Если спрашиваете что-то, вопрос должен быть конкретным желательно с картинками и кодом. >:dТогда есть большой шанс, что Вас поймут, и Вам ответят. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Flightman Опубликовано 23 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 ноября, 2013 Уважаемый "Финансовый махинатор"!!!Поведайте "внуку лейтенанта Шмидта" вот о чём.Как избавиться от проблемы зависания счетчика закрытых ордеров? Именно закрытых, с текущими проблем нет. Что в "тестере", что в "жизни" одна хрень - в какой-то момент счетчик просто висит со своими "дурацкими цифрами", бывает, до нескольких суток. А потом Бац!.... и отлипает......вот конь....Конечно смена ТФ или релоад помогают, НО, хотелось-то чтоб он сам, так сказать, думал чё делает.Отбор ордеров идет по двум параметрам: дата открытия (ну, мне просто надо это) и, естественно, дата закрытия в пуле MODE_HISTORY.Ничё хитрого нет. Но виснет, козел.... Я нормально протестировать не могу.Пробовал применять RefreshRates() на смене дат - не помогает.Я в тумане.Буду премного благодарен за прояснение ситуации, а может моих мозгов :)))) Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 23 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 23 ноября, 2013 Еще вопросик по округлениям лотов перед отправкой ордеров.При расчете лота с множителем, например в мартине, если не делать NormalizeDouble, то лот как то странно округляется, по крайней мере в тестере: например при значении 0.0195 открывается лот 0.01.Т.е. нужно ли в мартинах после расчета ордера применять NormalizeDouble? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ricedeni Опубликовано 24 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2013 Подскажите пожалуйста, как правильно записать такую функцию:"Каждый раз, когда сработал любой отложенный ордер, произвести подсчет общего объема открытых buy ордеров" Ссылка на сообщение Поделиться на другие сайты More sharing options...
JR Опубликовано 24 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2013 Ricedeni, в видеоуроках не раз писалась функция типа CountTrades, с помощью которой можно считать ордера. Проверь с помощью нее, нет ли твоих лимиток в рынке, эту же функцию нетрудно модифицировать для подсчета объема ордеров нужного типа с помощью OrderLots(). Если не справишься, напишу, но лучше попытайся потренироваться сам. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ricedeni Опубликовано 24 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 24 ноября, 2013 Ricedeni, в видеоуроках не раз писалась функция типа CountTrades, с помощью которой можно считать ордера. Проверь с помощью нее, нет ли твоих лимиток в рынке, эту же функцию нетрудно модифицировать для подсчета объема ордеров нужного типа с помощью OrderLots(). Если не справишься, напишу, но лучше попытайся потренироваться сам. okДобавлено: 25-11-2013 17:10:07Попытался написать функцию сам, и на этапе планирования алгоритма впал с ступор. Помогите пожалуйста.Мне нужно, что бы действие выполнялось после того, как ордер из отложенного, стал рыночным. В учебном видео, говорилось о том, что это можно сделать используя тикет ордера.Казалось бы, все просто:1. берем переменную.2. записываем в нее последний тикет.3. потом, проверяем не появился ли на рынке более новый тикет, чем тот, что указан в переменной.Но, что произойдет, после перезагрузки компа? Значение последнего тикета в переменной сотрется.p.s. Буквально сегодня получил письмо, что на моем vps, на выходных произойдет перезагрузка.p.p.s. Так и не понял, за что мне минус поставили, вопрос вроде не тривиальный. Изменено 25 ноября, 2013 пользователем Ricedeni 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
hodok Опубликовано 26 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2013 Помогите разобраться с вызовом пользовательского индикатора. Во внешних настройках индикатора стоит следующее:extern int A_Period = 20;extern int A_PriceType = 0;extern int A_Method = 3;extern bool Norm = TRUE;extern int Digits = 2;Как передать параметры, указанные в 4 и 5 строках, "extern bool Norm" и "extern int Digits"? A1=iCustom(Symbol(),0,"A induk",new_Period,0,3,?х,?х,1,0); Ссылка на сообщение Поделиться на другие сайты More sharing options...
xbms Опубликовано 26 ноября, 2013 Автор Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 26 ноября, 2013 Уважаемый "Финансовый махинатор"!!!Поведайте "внуку лейтенанта Шмидта" вот о чём.Как избавиться от проблемы зависания счетчика закрытых ордеров? Именно закрытых, с текущими проблем нет. Что в "тестере", что в "жизни" одна хрень - в какой-то момент счетчик просто висит со своими "дурацкими цифрами", бывает, до нескольких суток. А потом Бац!.... и отлипает......вот конь....Конечно смена ТФ или релоад помогают, НО, хотелось-то чтоб он сам, так сказать, думал чё делает.Отбор ордеров идет по двум параметрам: дата открытия (ну, мне просто надо это) и, естественно, дата закрытия в пуле MODE_HISTORY.Ничё хитрого нет. Но виснет, козел.... Я нормально протестировать не могу.Пробовал применять RefreshRates() на смене дат - не помогает.Я в тумане.Буду премного благодарен за прояснение ситуации, а может моих мозгов :)))) Предъявите код, для начала... посмотрим....Добавлено: 26-11-2013 03:54:00Помогите разобраться с вызовом пользовательского индикатора. Во внешних настройках индикатора стоит следующее:extern int A_Period = 20;extern int A_PriceType = 0;extern int A_Method = 3;extern bool Norm = TRUE;extern int Digits = 2;Как передать параметры, указанные в 4 и 5 строках, "extern bool Norm" и "extern int Digits"? A1=iCustom(Symbol(),0,"A induk",new_Period,0,3,?х,?х,1,0); Параметры в индикатор передаются в порядке их объявления в индикаторе... Соответственно порядок будет такой: A1=iCustom(Symbol(), 0, "A induk", new_Period, 0, 3, TRUE, 2, 1, 0); Ссылка на сообщение Поделиться на другие сайты More sharing options...
stivborg Опубликовано 27 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 27 ноября, 2013 Упростений язик програмирования торговских систем под MT4Simple language allow trader to shift focus from technical details to trading logic. Generally, traders are not programmers and will never be. The attempt is to create a handy tool for building automated trading strategies. RGT49.zipIntroduction.pdfEngine_options.pdfExample1.zipBuffers.pdf Изменено 30 ноября, 2013 пользователем stivborg 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Cloud Опубликовано 30 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 ноября, 2013 Как скачать видеокурс? На почту ничего не приходит.Нельзя было нормально выложить... Ссылка на сообщение Поделиться на другие сайты More sharing options...
Ricedeni Опубликовано 30 ноября, 2013 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 30 ноября, 2013 Подскажите пожалуйста хорошую библиотеку функций. Мне понравилась вот эта (http://codebase.mql4.com/ru/source/20166) много полезных функций, к сожалению, она кривовато работает :( Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти