Первый:
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();
[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();
[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]
#include <мои_константы.mqh>
[color=grey]/* или такую */[/color]
#include [color=green]"мои_константы.mqh"[/color]
Как я уже говорил в топике "Основы языка MQL", если имя файла заключено в угловые скобки, то файл будет искаться в каталоге experts\include, а если имя файла заключено в кавычки, то такой файл должен лежать вместе с тем модулем, куда он вставляется.
Сообщение изменено: Liv, 02 Июнь 2007 - 10:48 .