Программирование - это просто
Advertisement
Главная arrow Биржевые роботы arrow Программируем в среде Metatrader (платный раздел) arrow Учимся программировать в среде Metatrader (mql). Урок 15. Пользовательские функции
29.11.2022 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Учимся программировать в среде Metatrader (mql). Урок 15. Пользовательские функции Печать E-mail
Автор megabax   
27.03.2011 г.
unit AIObj

Учимся программировать в среде Metatrader (mql). Урок 15. Пользовательские функции

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Бывают ситуации, когда в программе несколько раз встречается однотипный код, но только с разными параметрами. В качестве примера разберем такую торговую стратегию:

Сигналы: Пересечение двух мувингов. Используем две пары мувингов, открываемся когда даст сигнал любая из пар. 

Закрытие: Закрываемся по стоп лоссу или тэйк профиту. 

В данной задаче нам как раз и придется писать однотипный код - для первой и второй пары мувингов. Что бы не писать одно и тоже два раза, как раз и придуманы функции....

...

...Теперь давайте посмотрим, как реализовать нашего советника при помощи функций...

...

...Как видим, благодаря функциям наша программа стала понятной, легко читаемой и быстро изменяемой. Допустим, в будущем мы захотели добавить ее одну пару мувингов. Нет ничего проще, добавляем еще один вызов пары функций Trade и Cross:

 

int start()

  {

   Trade(CrossMA(MA1_1,MA1_2));

   Trade(CrossMA(MA2_1,MA2_2));

   Trade(CrossMA(MA3_1,MA3_2));

   return(0);

  }

 

А если захотим добавить какой либо фильтр? Тоже нет ничего проще. Пишем функцию для вычисления сигнала с учетом фильтра, и реализуем советника, например, так:

int start()

  {

   Trade(Signal(MA1_1,MA1_2,myFilter1()));

   Trade(Signal(MA2_1,MA2_2,myFilter2()));

   return(0);

  }

 

 
« След.   Пред. »
 
© 2022 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги