Ответить
23.03.2012, 20:58
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™

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

Добрый день. Только недавно создал свой скрипт и появилась мысль стать учителем

Если кому то будет интересно изучать MQL4 с самых азов и делится опытом, то прошу написать что то в теме чтобы я знал кого учу и или оно вообще кому то надо

Список уроков:

Урок 1 - ex4 и mq4 файлы



Урок 2 - основные функции и типы данных



Урок 3 - разделительные знаки и операции



Урок 4 - написание простейшего скрипта



Урок 5 - скрипт калькулятор



Урок 6 - скрипт открывающий ордер с заданым риском



Урок 7 - советник на основе МА и ATR



Урок 8 - цикл for(;; и цикл while()



Урок 9 - скрипт закрывающий ордера



Урок 10 - трейлинг стоп



Урок 11 - пользовательская функция



Урок 12 - индикатор



Урок 13 - функция iCustom



Урок 14 - перебор ордеров



Урок 15 - выбор наибольшего лота среди открытых ордеров



Урок 16 - расчёт лота от депозита



урок 17 - подсчёт ордеров



Урок 18 - подсчёт прибыли в пунктах



Урок 19 - робота по времени



Урок 20 - количество попыток открыть(модифицировать,зак рыть) ордер

Последний раз редактировалось Ирина К; 29.05.2014 в 08:29.
23.03.2012, 21:12
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
Да неплохо было бы но чуствую сваими вопросами припазорюсь на всю РФ.
как то пробывал читать мол чуть голова не взарвалась что куда каието буквы цифры там надо перимножить там разделить. вообщем вот так уменя есть задачка на блежайшие годы английский выучить я недавно подумывал за мол но чёт побаеваюсь.

Последний раз редактировалось cfifcfif; 23.03.2012 в 21:17. Причина: .
23.03.2012, 21:28
Аватар для foxksi
foxksi foxksi вне форума Новичок форума
За третье место в конкурсе За призовое место в конкурсе За второе место в конкурсе За призовое место в конкурсе 

Регистрация: 21.08.2010 / Адрес: Луганская обл / Сообщений: 107
Поблагодарили 7 раз(а) / Репутация: 8
  • Отправить сообщение для foxksi с помощью ICQ Отправить сообщение для foxksi с помощью Skype™
А как будет проходить обучение? но было бы не плохо поучиться , пригодится .
24.03.2012, 07:33
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Да неплохо было бы но чуствую сваими вопросами припазорюсь на всю РФ.
как то пробывал читать мол чуть голова не взарвалась что куда каието буквы цифры там надо перимножить там разделить. вообщем вот так уменя есть задачка на блежайшие годы английский выучить я недавно подумывал за мол но чёт побаеваюсь.
Я буду подробно объяснять. Пока все не поймут дальше двигатся не будем.
В 95 источниках учёбы по MQL4 такое чувство что пиасли специально для того чтобы ученик не понял. С Английским проще. Поищите учебники(желательно сначала для первого класа) которые вам будут максимально понятны.
24.03.2012, 07:36
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
А как будет проходить обучение? но было бы не плохо поучиться , пригодится .
Я буду выкладывать урок. Детально объяснять. Вы-задавать вопросы(если что не понятно). И когда вопросы исчерпаются-будем переходить к следующему уроку.
24.03.2012, 08:21
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™

По умолчанию Урок 1 - ex4 и mq4 файлы

Итак начнём с самого простого. Все скрипты, индикаторы и советники имеют разширенее файла ex4 или mq4.
Для чего 2 типа файлов?
1) mq4 это исходный код програмы. Значок выглядит как знак восклицания на желтом фоне. С таким расширением мы можем редактировать файл(код). Редактирование файла проходит в програме Meta Editor. Чтобы изменить код надо или просто открыть файл или в терминале на нужном на файле нажать изменить.
Если советник с таким расширением, то в терминале в вкладке советники мы будем видить слева от названия советника желтую голову с синей шляпой.
MQ4 НЕ ИСПОЛЬЗУЕТСЯ ТЕРМИНАЛОМ!
2) ex4 это скомпилированый файл. Его нельзя редактировать. Компиляция проходит тогда, когда при редактировании файла mq4 нажать кнопку "Компилировать"(сверху, по середине). Если советник с таким расширением, то в терминале в вкладке советники мы будем видить слева от названия советника серую голову с серой шляпой.
EX4 ИСПОЛЬЗУЕТСЯ ТЕРМИНАЛОМ!

P.S. Пока только 2 ученика. Жду вопросов. Если не будет вопросов, то переходим к следующему уроку.
24.03.2012, 11:11
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
Спасибо это я знаю как декомпельнуть как в коде методам тыка поменять код без ошибок чтобы был в журнале , дажи есть мой первый советник каторый я чучуть изменил проблема втом что зачто отвечает.
они таргуют отложками. ставим на карелирующие пары и пущай торгует каму интересно можете папробывать.
24.03.2012, 11:20
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
кстати забыл сказать если кто попробует сов скажу так если стаят на 15менутах отложки будут ставить каждый 15 минут если на один час будут ставить каждый час и они ставят не тупа в одну сторону а ставят за ценой вообщем пробуйте
24.03.2012, 11:30
Регистрация: 13.03.2009 / Сообщений: 2,329
Поблагодарили 1,950 раз(а) / Репутация: 2027
Только недавно создал свой скрипт и появилась мысль стать учителем
Интересный подход. По принципу учит то кто сам не может?
Установка советника, индикатора, диски, папки, файлы и их расширение, и даже установка терминала и винды, не относится к программированию. Это уровень пользователя, может чуть продвинутого, но пользователя, а не программиста. Так что первый урок не про программирование.
Может сразу перейти к программированию?
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 24.03.2012 в 11:38.
troyan 
24.03.2012, 11:47
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Спасибо это я знаю как декомпельнуть как в коде методам тыка поменять код без ошибок чтобы был в журнале , дажи есть мой первый советник каторый я чучуть изменил проблема втом что зачто отвечает.
Я конечно говорил про компиляцию, а не декомпиляцию. Ну ладно. cfifcfif Если ты не против, то буду на тебя ориентироватся. Если у тебя нет вопросов, то я продолжу.
24.03.2012, 11:53
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Интересный подход. По принципу учит то кто сам не может?
Установка советника, индикатора, диски, папки, файлы и их расширение, и даже установка терминала и винды, не относится к программированию. Это уровень пользователя, может чуть продвинутого, но пользователя, а не программиста. Так что первый урок не про программирование.
Может сразу перейти к программированию?
Вообщето cfifcfif называл исходный код светлоголубоватым значком. Так что не надо расказывать с чего начинать.

Я не знаю зачем вы зашли в эту ветку(чтобы убить её или помочь), но представте ситуацию.
Во дворе играют пацаны в футбол. Играют слабо, коряво. Тут появляется професиональный игрок Джексон. Заходит на поле и говорит "Ну вы и лошары. Сечас я покажу как надо играть".
В данной ситуации вы похожи на Джексона.
24.03.2012, 11:55
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
eevviill если можно помедлиней мне кажетса что-то знаю а вдругое время думаю что вообще ничего незнаю вообщем ждём вас.
24.03.2012, 11:55
Аватар для Maks42
Maks42 Maks42 вне форума Новичок форума
За призовое место в конкурсе За призовое место в конкурсе За призовое место в конкурсе За первое место в конкурсе 

Регистрация: 07.04.2011 / Сообщений: 75
Поблагодарили 7 раз(а) / Репутация: 8
интересная тема. буду читать обязательно. может быть даже научусь чему нибудь.
24.03.2012, 12:03
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
Вообщето cfifcfif называл исходный код светлоголубоватым значком. Так что не надо расказывать с чего начинать.

Я не знаю зачем вы зашли в эту ветку(чтобы убить её или помочь), но представте ситуацию.
Во дворе играют пацаны в футбол. Играют слабо, коряво. Тут появляется професиональный игрок Джексон. Заходит на поле и говорит "Ну вы и лошары. Сечас я покажу как надо играть".
В данной ситуации вы похожи на Джексона.
ну да было помню такой неудобняк был поэтому и говорю вроде штото знаю а сдругой стороны вообще нехера незнаю.
24.03.2012, 12:47
Регистрация: 13.03.2009 / Сообщений: 2,329
Поблагодарили 1,950 раз(а) / Репутация: 2027
Вообщето cfifcfif называл исходный код светлоголубоватым значком. Так что не надо расказывать с чего начинать.

Я не знаю зачем вы зашли в эту ветку(чтобы убить её или помочь), но представте ситуацию.
Во дворе играют пацаны в футбол. Играют слабо, коряво. Тут появляется професиональный игрок Джексон. Заходит на поле и говорит "Ну вы и лошары. Сечас я покажу как надо играть".
В данной ситуации вы похожи на Джексона.
Я никого лошарами не обзывал и не собираюсь учить кого то кодить. Уметь самому и уметь учить, это разные навыки. То что я умею писать программы ещё не означает что смогу кого то этому научить. И наоборот. Олимпийский чемпион завоёвывает золотые медали, а его тренер вряд ли сможет то же самое. Зато он смог обучить, натренеровать чемпиона. По этому, учит тот кто сам не может, это не обзывательство, а нормальная реальность.

Просто я подумал что если начинать с расширений файлов то до программирования вы долго не доберётесь. А между тем, начинающему программисту не терпится написать первую программу, пусть бестолковую, но работающую.
Ладно, прошу прощения что влез. Я уже говорил что учить не умею. Значит влез не в своё дело.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
24.03.2012, 12:53
Аватар для SilverKZ
SilverKZ SilverKZ на форуме Элитный участник
Регистрация: 25.10.2008 / Сообщений: 320
Поблагодарили 1,511 раз(а) / Репутация: 1512
В свое время, когда изучал mql4, очень помогло:
1) учебник по MQL4 (архив из двух частей во вложенных файлах)
2) справка MetaEditor на русском языке, особенно по отдельным словам через ctrl + F1
3) изучение чужого кода с комментариями
24.03.2012, 13:18
Аватар для cfifcfif
cfifcfif cfifcfif вне форума Элитный участник
Регистрация: 22.07.2011 / Адрес: краснодар / Сообщений: 1,403
Поблагодарили 1,425 раз(а) / Репутация: 1427
  • Отправить сообщение для cfifcfif с помощью Skype™
вот кстати в тему будет ну так на будущее.
24.03.2012, 13:47
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™

По умолчанию Урок 2 - основные функции и типы данных

На эту тему нужно обратить особое внимание. Так как если её не поймёте, то дальше можно не продолжать.
Итак. Для создания скрипта, советника или индикатора нужно в терминале на вкладке Советники, Пользовательские индикаторы, Скрипты нажать правой кнопкой мыши и выбрать Создать.
Выбираем Советник и даём название.
После этого у вас откроется Meta Editor с каким то кодом.

Скрытый текст

1.1) init()

1) Основные функции. Основными функциями являются:
Вызывается при инициализации(прикреплению к графику) файла. В этой функции нужно прописывать то, что вы хотите чтобы советник(индикатор) узнал сразу при прикреплении к графику.
1.2) deinit()
Вызывается при удалении с графика советника(индикатора). В этой функции нужно прописывать то, что вы хотите чтобы советник(индикатор) стёр с графика сразу при его удалении.
1.3) start()
Это основная функция советников, индикаторов, скриптов. Если без первых двух файл сможет работать, то без start() не сможет. У советников эта функция начинает работать после очередного тыка, у индикатора и скрипта - после прикрепления. Все вычислительные операции в советниках и скриптах надо проводить в этой функции.

2) Типы данных. Чтобы файл понимал что мы ему подсовываем, надо перед тем писать к какому типу данных это относится. Их можно объявлять(писать) прямо в функции где это надо, но лучше их писать сначало.
Есть такие типы данных:
2.1)
int - целые числа. Это те числа которые в априоре не могут быть дробными.
Пример
int Stop_Loss = 34;
2.2)
double - числа, которые могут быть дробными.
Пример
double ATR_Level = 0.0004;
2.3)
bool - логический тип данных. Может быть true\false
Пример
bool useATR = true;
2.4)
string - строковый тип данных. Переменной являются буквы.
Пример
string gb5 = "Hello";
2.5)
color - тип данных цвета.
Пример
color MA = Gray;
2.6)
datetime - тип данных времени.
Пример
datetime End_trade = 24.03.2012 14:03;
[свернуть]


P.S. Следующий урок будет про разделительные знаки и операции(арифметическии, логическии и т.д.).

Последний раз редактировалось chocolate; 14.05.2012 в 12:45.
24.03.2012, 14:29
Аватар для Beast
Beast Beast вне форума Почётный гражданин
Регистрация: 12.10.2011 / Сообщений: 812
Поблагодарили 408 раз(а) / Репутация: 412
а теперь вопросы по типам переменных.
каким образом конвертировать одни в другие.

пример нам надо добавлять 5 пунктов к стоплосу и тп
описываем переменную
int sl_shift = 5
как теперь ее добавить к double (sl=sl+sl_shift)
double sl = 1.3200
так чтобы в результате получилось 1.3205, а не 6.3200
24.03.2012, 14:38
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™

По умолчанию Урок 3 - разделительные знаки и операции

1) Разделительные знаки.
1.1) , (запятая) - применяется для отделения названий свойств некоторой операции. Может не понятно объяснил, но по примеру поймёте.
Пример
PHP код:
MarketInfo(Symbol(),MODE_LOTSTEP);
1.2) ; (точка с запятой) - используеться для завершения какого то расчётаСмысл примерно такой как точка в конце предложения.
1.3) {} (квадратные скобки) - применяются для начала фунции и конца.
1.4) () (скобки) - в них(не всегдазаписываются свойства операции.
1.5" " (не знаю как называются) - то что в них не используется в самых расчётахно можна выводить на экран или в настройки.
1.6// или /* */ - используются для коментирования кода. 
Если // в начале строки то всё что дальше закрасится в серый цвет и експертом вообще не будет применятся.
Если надо больше одной строкито в начале /* и в конце */ надо поставить
2) Операции.

Арифметические операции.
+Сумма величинx + 2 -Вычитание величин или изменение знакаx — 3, y = — y *Умножение величин3 * x /Частное от деленияx / 5 %Остаток от деленияminutes = time % 60 ++Добавление 1 к значению переменнойy++y = y + 1--Вычитание 1 из значения переменной
(+,-,*,/) - это все знают.
% Остаток от деления
++ Добавление 1 к значению переменной - тоесть x=6. Если х++, то х=7
-- Отнемание 1 из значения переменной

Операции присваивания
= Присваивание значения x=6
+= Увеличение значения переменной x+=3 значит x+3
-= Уменьшение значения переменной
*= Умножение значения переменной
/= Деление значения переменной
%= Остаток от деления значения переменной

Операции отношения
== Истина, если x равно y x == y
!= Истина, если x не равно y x != y
< Истина, если x меньше y x < y
> Истина, если x больше y x > y
<= Истина, если x меньше или равно y x <= y
>= Истина, если x больше или равно y x >= y

Логические операции
! (логическое отрицание)
|| (ИЛИ)
&& (И)


P.S. Завтра вечером будем писать простенький скрипт.

Последний раз редактировалось chocolate; 14.05.2012 в 12:43.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 01:24. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO