Уроки по программированию на языке MQL4 от eevviill

  • Автор темы Автор темы eevviill
  • Дата начала Дата начала

tommy27

Гуру форума
Когда начал изучение МКЛ4 то нашел уроки от Кирила, он тож очень подробно и нормальным языком всё объясняет вот здесь полный курс можно посмотреть:

_http://forum.alpari.ru/showthread.php?t=42059

Есть ещё здесь, но не полностью, зато оглавление с описанием в первый пост вынесено:

_http://www.speculant.com/forum/showthread.php?204-%D0%9A%D1%83%D1%80%D1%81-MQL4
 
Последнее редактирование:

tommy27

Гуру форума
Вот ещё для тех кто уже освоился немного, сам часто пользуюсь чтоб не изобретать велосипед, Только "Полезные функции от KimIV":
_http://forum.mql4.com/ru/38949
 

Ugar

Гуру форума
Вот ещё для тех кто уже освоился немного, сам часто пользуюсь чтоб не изобретать велосипед, Только "Полезные функции от KimIV":
_http://forum.mql4.com/ru/38949
Не стоит бездумно использовать чужие функции. Разбирать чужие косяки дело не благодарное. Пишите себе сами. Свои косяки ближе к телу.
Вот если не знаете как решить конкретную задачу и в голову ничего не лезет, тогда стоит найти чужой код в котором эта задача решена и заглянуть как её решил другой программист.
 

gefrony

Интересующийся
Добрый день, у меня вопрос по первому уроку.
Возможно ли достать код из файла EX4?
 

Dersu

Местный знаток
Все, кто хотел начать - переваривают.
А тема и темп супер.
И как только Вы решились?
Ведь в результате может токо пару челов со старта дальше уйдут.
Кстати, разжуйте нубу: чего прогеры не любят декомпил разбирать?
И, имхо, разобрать - бы на примерах косяки какие - нить, статистически частые, да и разжевать обучение, отвязку.
 
Последнее редактирование:

eevviill

Заблокирован
Все, кто хотел начать - переваривают.
А тема и темп супер.
И как только Вы решились?
Ведь в результате может токо пару челов со старта дальше уйдут.
Кстати, разжуйте нубу: чего прогеры не любят декомпил разбирать?
И, имхо, разобрать - бы на примерах косяки какие - нить, статистически частые, да и разжевать обучение, отвязку.
Спасибо за отзыв.
Я не решался. Просто люблю делится. И когда увидел везде просьбы по форуму типа "Помогите доработать, взломать, найти ошибку и т.д. и т.п.", то решил что каждый трейдер должен знать хотя бы основы програмирования. Ведь нет хуже зла чем невежество.
А с темпом вы загнули. Вышла как бы ироническая шутка. Новых тем никто не предлагает.
Програмисты не любят декомпилированный код потому что после декомпиляции, вместо логических названий стоит gb23, gb43, gd4,gd8 и т.д.
 

Dersu

Местный знаток
В том - то и все дело что не загнул.
Реалии суровы. Народ не тянет.
Обучение сродни кормлению потомства, извините за такое сравнение.
А человеческих дитятей кормят годами, это факт.
Глянул Кирила, он всегда намекает, что ориентируется на знающих С.
Я нуб, да плюс не спешу.
Надеюсь ветка не заглохнет.
Относительно дележа: знаниями делится - дело благородное и благодатное.
Себя к таким не отношу, так как мой багаж состоит из подслушанного и подсмотренного: ищу чужое, другими украденное - неблагородное но благодатное занятие и альтернативы
пока не вижу.
Придется учится, хоть лингвист из меня никакой, как показывает опыт.
Имхо, невежество не самое зло, пасивность и самообман, вот моя точка зрения.
 
Последнее редактирование:

Dersu

Местный знаток
Програмисты не любят декомпилированный код потому что после декомпиляции, вместо логических названий стоит gb23, gb43, gd4,gd8 и т.д.

А можно примерчик?
Я даже не понимаю, что такое логические названия.
Можно просто примеры названий из mql4
 

eevviill

Заблокирован
А можно примерчик?
Я даже не понимаю, что такое логические названия.
Можно просто примеры названий из mql4

Програмист написал
cs=Trixnum_bars+A_t3_period+is_A_open_price+B_t3_period_ac+diferential+hot;
if (cs==prevcs && commodt==Symbol() && frame==Time[4]-Time[5] && Bars-prevbars<2)

Декомпилированный код
ld_380 = Trixnum_bars + gi301 + gi_304 + slow + gi_308 + gd_312;
if (ld_380 == ld_388 && ls_412 == Symbol() && ld_396 == Time[4] - Time[5] && Bars - l_bars_364 < 2.0)
 

Dersu

Местный знаток
Пока что понял одно: цветное не трогает.
Спасибо.
А каким термином называют цветные матючки, извините.?
И еще вопрос: из какого "словаря" все эти gb23, gb43, gd4,gd8?
PS: Ваших "Пастернаков" пока не читал, токо обнаружил тему,
но очень и давно уважаю.
Приступаю к белетристике, пока что.
Может что-то и осилю.
Хотя перенос из графика в подвал, толщину и цвет линий, подтирку комментариев, отвязку от даты и т,д. практиковал
 
Последнее редактирование:

eevviill

Заблокирован
Пока что понял одно: цветное не трогает.
Спасибо.
А каким термином называют цветные матючки, извините.?
И еще вопрос: из какого "словаря" все эти gb23, gb43, gd4,gd8?
Цветные это что то типа предопределённые переменные.
gb23, gb43, gd4,gd8 это из скомпилированого файла. Просто терминалу не нужно обязательно чтобы были людские названия, вот и они заменяются таким образом.
 

Dersu

Местный знаток
Нашел пару сайтов для себя.
Оставлю тут.
_http://articles.mql4.com/ru/363
_http://docs.mql4.com/ru/
_http://mql4you.ru/pervye-shagi/urok-1-struktura-papok-ustanovlennogo-terminala.html
 

pafn61

Активный участник
Здравствуйте, уважаемые начинающие кодеры! Хорошее дело затеяли !!!
Жалко, что не хватает времени для учебы, но в качестве вклада в общее дело могу предложить "лабораторную работу". Суть в следующем -
1. Берем средневзвешенную предыдущего бара
2. Сдвигаем на n пунктов вниз
3. При достижении полученного значения - продаем.
4. При закрытии бара выходим из сделки.
Всё!!!
Может быть это глюк программы или котировок, но на тестере Forex Strategy Builder у меня получились вот такие результаты за год:



 

Darksie

Почетный гражданин
eevviill, а можно рассмотреть пример добавления звукового оповещения в индикатор?)
Наверно для каждого индикатор свои примочки надо дописывать.
 

eevviill

Заблокирован
eevviill, а можно рассмотреть пример добавления звукового оповещения в индикатор?)
Наверно для каждого индикатор свои примочки надо дописывать.
Та нет. Пишешь
Alert();
В скобках то что ты хочешь чтобы сигналило.
 

eevviill

Заблокирован
Урок 14 - перебор ордеров

Сегодня будем перебирать ордера. Для чего это нужно?
Для всего что связано с операциями по ордерам кроме открытия.
Тоесть сначало надо ордер выбрать чтобы потом модифицировать, закрыть, удалить его.

Пример.
PHP:
Expand Collapse Copy
 1)for(int i=OrdersTotal()+1; i>=0; i--)
 {
 2)OrderSelect(i,SELECT_BY_POS);
 {
 3)if(OrderMagicNumber()==magic)
 {
 4)if(OrderType()==OP_BUY...) OrderClose(OrderTicket(),Lot,Bid,slippage,Yellow); 
 }
 }
 }

1)Собственно это и есть перебор ордеров функцией for.
1.1)Начинаем с общего количества ордеров+1.
1.2)Будем продолжать пока ордеров будет 0 или больше.
1.3)На каждом переборе будем уменьшать количество перебираемых ордеров на 1.
2)Функция OrderSelect(); С помощью неё мы выбираем конкретный ордер. В нашем слачае (порядковый номер в терминале i, из тех что находятся в закладке торговля).
3)После того как выбрали ордер проверяем или это ордер нашего советника. Проверку делаем с помощью меджик намбера, который должен совпадать с меджиком открытого ордера.
4)Здесь уже проводятся конкретные действия. Например если ордер бай и
цена пересекла МА сверху вниз закрываем ордер.
 

Pavel555

Заблокирован
Та нет. Пишешь
Alert();
В скобках то что ты хочешь чтобы сигналило.

Хочу добавить, что алерт должен брать откуда-то сигнал, как правило если просто прописать сточку Alert(); не там, он будет сигналить постоянно, в лучшем случае молчать.
 
Верх