Light Style© by Fisana

Перейти к содержимому


Инвестиционные фонды NordFx: профессиональное управление и прозрачность


NordFX

Фотография

Создание заголовочных файлов


  • Пожалуйста, авторизуйтесь, чтобы ответить
1 ответов в этой теме

#1 Liv

Liv

    живет тут

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 162 сообщений

Опубликовано 02 Июнь 2007 - 10:37

Для начала давайте сравним два кусочка кода.
Первый:
MQL
[color=blue;font-weight:bold]if[/color] (a==1) Event=1;
[color=blue;font-weight:bold]if[/color] (a==2) Event=3;

[color=blue;font-weight:bold]if[/color] (Event==1) OpOrder();
[color=blue;font-weight:bold]if[/color] (Event==3) ClOrder();


Правда, не очень понятно... Конечно, когда писалось, то было всё понятно, но по прошествии даже двух дней можно потерять нить...

А теперь второй:
MQL
[color=blue;]#define[/color] ДвижениеВверх 1
[color=blue;]#define[/color] ДвижениеВнииз 2

[color=blue;]#define[/color] МожноПокупать 1
[color=blue;]#define[/color] НужноЗакрывать 3

[color=blue;font-weight:bold]if[/color] (a==ДвижениеВверх) Событие=МожноПокупать;
[color=blue;font-weight:bold]if[/color] (a==ДвижениеВниз) Событие=НужноЗакрывать;

[color=blue;font-weight:bold]if[/color] (Событие==МожноПокупать) OpOrder();
[color=blue;font-weight:bold]if[/color] (Событие==НужноЗакрывать) ClOrder();


Вот теперь будет всё понятно даже через 10 лет и совершенно неважно какие цифры кроются в используемых константах, лишь бы они различались внутри групп использования. А для того, что бы постоянно не переписывать одни и те же константы при создании скриптов/индикаторов/советников, нужно выделить их в один заголовочный файл и после вставлять его во все свои произведения. Для информации, количество записаных констант в заголовочном файле никак не влияют на размер скомпиллированного файла, на скорость компилляции и исполнения. Т.е. в заголовочный файл можно писать своих констант сколько угодно, на все случаи жизни и работы :) .

Значит будем создавать заголовочный файл. Они имеют расширение .MQH. Создание заголовочного файла происходит по тому же сценарию, что и файл библиотеки (см. Создание библиотек), только в окне выбирается пункт "Заголовочный файл (*.MQH)". Сам файл компилляции не требует, ибо вставляется текстом в модуль перед компилляцией, где все константы заменяются соответствующими цифрами.

Вставляется готовый заголовочный файл в модуль очень просто:
MQL
[color=grey]/* в начале модуля добавляем такую строку */[/color]
#include <мои_константы.mqh>
[color=grey]/* или такую */[/color]
#include [color=green]"мои_константы.mqh"[/color]


Как я уже говорил в топике "Основы языка MQL", если имя файла заключено в угловые скобки, то файл будет искаться в каталоге experts\include, а если имя файла заключено в кавычки, то такой файл должен лежать вместе с тем модулем, куда он вставляется.

Сообщение изменено: Liv, 02 Июнь 2007 - 10:48 .

Удачи!

#2 Liv

Liv

    живет тут

  • Пользователи ST test (off)
  • PipPipPipPipPip
  • 162 сообщений

Опубликовано 02 Июнь 2007 - 01:52

И так, начинаем.....
Все константы будут сгруппированы по назначению.
MQL
/* движение */
[color=blue;]#define[/color] ДвижениеФлэт 0
[color=blue;]#define[/color] ДвижениеВверх 1
[color=blue;]#define[/color] ДвижениеВниз 2
[color=blue;]#define[/color] ВершинаНаверху 3
[color=blue;]#define[/color] ВершинаВнизу 4
[color=blue;]#define[/color] ДостигнутМаксимум 5
[color=blue;]#define[/color] ДостигнутМинимум 6
[color=blue;]#define[/color] Перекрестие 7

[color=grey]/* события */[/color]
[color=blue;]#define[/color] СобытийНет 0
[color=blue;]#define[/color] ВозможнаПокупка 1
[color=blue;]#define[/color] Покупка 2
[color=blue;]#define[/color] ВозможнаПродажа 3
[color=blue;]#define[/color] Продажа 4


Предлагайте свои константы для дополнения.
Удачи!




Посетителей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных пользователей

Рейтинг брокеров форекс: кто лидер, кто аутсайдер и почему?




Masterforex-V NordFX

Rambler's Top100

Принимаем Z-Payment