_________________________________________________________________________

понедельник, 20 сентября 2010 г.

Написание советников 5ч.

Пишем простейшего эксперта.

На мой взгляд, наиболее простым способом для новичка изучить процесс написания экспертов будет подробный разбор специально написанных мной для этой цели экспертов. На данный момент (да и далее в своих статьях) я не буду ставить перед собой цель написать супер гениального эксперта, который способен будет зарабатывать десятки процентов в месяц и делать это стабильно. Основная цель - показать все аспекты программирования экспертов, а не написать "грааль".

Итак, внимательно изучите код эксперта ниже, но не волнуйтесь, что на данный момент Вам пока еще ничего не понятно. В следующих выпусках я подробно разберу каждую строчку этого эксперта.

//+----------------------------------------------------------------+
//|                                     My First Expert.mq4 |
//|                 Copyright © 2006, Andrey Vedikhin |
//|                                http://www.vedikhin.ru |
//+----------------------------------------------------------------+
#property copyright "Copyright © 2006, Andrey Vedikhin"
#property link      "http://www.vedikhin.ru"

#define STATE_SQUARE 0
#define STATE_LONG 1
#define STATE_SHORT 2 
..........................
 эксперт: "открыть"
 
 
Благодарю Вас за то, что Вы мужественно дочитали до этой строчки. 
Как я уже упомянул ранее, в следующих выпусках я очень подробно 
остановлюсь на каждой строчке этого эксперта, 
и проясню Вам все непонятные моменты. 
Постоянный адрес статьи: "Пишем простейшего эксперта"

Использование констант в эксперте.

Вначале разберем, что означают следующие строчки:

#define STATE_SQUARE   0
   #define STATE_LONG      1
   #define STATE_SHORT     2

Эти строчки дают возможность вместо написания малоинформтивных чисел 0, 1 или 2 использовать более понятные имена STATE_SQUARE, STATE_LONG или STATE_SHORT. Результат будет абсолютно таким же - если программа встретит в тексте STATE_SQUARE, STATE_LONG или STATE_SHORT, она заменит их на 0, 1 и 2 соответственно. Такая программа будет более читаемой.

Также константы используются в тех случаях, когда какое-то значение использует в нескольких местах программы и существует вероятность, что трейдеру может понадобиться изменить это значение в будущем. Если использовать константу, достаточно будет это сделать только в одном месте - в директиве #define.

Для объявления константы используйте следующую конструкцию:
#define      имя   значение

Примеры констант:
#define      AUTHOR         "Vedikhin Andrey"
   #define      Lots                1.1
   #define      ItemsNumber    77

Следующие две строчки абсолютно идентичны, но первая - более читаема:
for(x=1;x<=ItemsNumber;x++) Print(Lots*x);
   for(x=1;x<=77;x++) Print(1.1*x); 
 
 Константа может быть любого типа: int, bool, datetime, double, color, string - см. описание типов в выпуске "Настраиваем параметры нового эксперта".


Постоянный адрес статьи: "Использование констант в эксперте"
Related Posts with Thumbnails
InstaForex