Справка по языку MQL5 - страница 28

 
stringo >>:

А где не указано? У параметров, которые можно опускать, есть умолчательные значения

Да, но только:

1. не сразу поймёшь что по этой записи можно опускать string prefix_name=NULL

лишь потому что указан умолчательный параметр, и к тому-же по неопытности трактовать двояко...

так GlobalVariablesDeleteAll(); или так GlobalVariablesDeleteAll(NULL);

Понимаю что едитор подскажет, однако...

2. об этом можно догадаться лишь из контекста в примечании...

когда простая фраза снимает вопросы: // не обязательный;

GlobalVariablesDeleteAll

Удаляет глобальные переменные клиентского терминала.

int GlobalVariablesDeleteAll(

string prefix_name=NULL // все глобальные переменные, чьи имена начинаются с префикса

);

Параметры

...

Примечание

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

 

Хотелось бы видеть в справке ещё одну характеристику функций - запрашиваются ли данные с сервера или из терминала (переменных окружения). Какие данные поставляются разово, какие потиково, какие по запросу и т.д. Видимо, нужно создать такую таблицу - запрашивается с сервера/берётся из окружения/вычисляется (в т.ч. используются файловые операции).

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

(а то если таймер на минимуме, а в коде по-старинке все проверки и всё с сервера.. программа будет тормозить, нагрузка на сервер будет большой)

 

Многоплановый вопрос...

period

[in] Значение периода может быть одним из енумератора ENUM_TIMEFRAMES, 0 означает текущий таймфрейм.

0 ...

Значится можно и другие цифры 15, 60, 1440 ... да?

Вписывать как я понял можно либо цифру 0 либо соотв. PERIOD_CURRENT

Например:

int  iATR(
string           symbol,        // имя символа
ENUM_TIMEFRAMES  period,        // период
int              ma_period      // количество баров для расчета
 );
//----
int  iATR(NULL,0,15);
//---- или
int  iATR(NULL,PERIOD_CURRENT,15);

Кстати...

int ma_period // количество баров для расчета

а в параметрах:

ma_period

[in] Период усреднения для вычисления индикатора.

Запутатьися... )))

*

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

колонкой с этими значениями...

ENUM_TIMEFRAMES

Идентификатор

Описание

Значение

PERIOD_CURRENT

Current period

0

PERIOD_M1

1 Minute

1

PERIOD_M2

2 Minutes

2

...

 
kombat >>:

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

колонкой с этими значениями...

ENUM_TIMEFRAMES

Идентификатор

Описание

Значение

PERIOD_CURRENT

Current period

0

PERIOD_M1

1 Minute

1

PERIOD_M2

2 Minutes

2

...


Опытным путем установите. Енумераторы были введены как раз, чтобы вставляли не всякие цифры, а мнемокоды.

 
kombat >>:

Кстати...

int ma_period // количество баров для расчета

а в параметрах:

ma_period

[in] Период усреднения для вычисления индикатора.

Запутатьися... )))

*

На самом деле не всегда ma_period означает "Период усреднения для вычисления индикатора"

Но проще изменить как многим привычно, чем объяснять, потому как те, кто поймут объяснения, тем и так все равно что написано.

Итак, будет заменено везде.

 
Справка обновлена (дополнения в "Стандартной библиотеке")
 
stringo писал(а) >>

Такой поворот вызван архитектурой клиентского терминала.

Вы вправе полагать что угодно.

Нельзя. Потому что это не ошибка, а архитектурное решение. Мы не будем всё переделывать с нуля.

Неограниченного количества индикаторных буферов и расширенного перечня стилей рисования хватит, чтобы нарисовать ЛЮБОЙ индикатор. Вам просто лень разбираться и не хочется отказываться от старой (одной-двух-трёх) разработки. Это - совершенно понятный мотив.

Ну зачем же так раздражённо то...

.

"Нельзя. Потому что это не ошибка, а архитектурное решение."

Именно об ошибке на концептуальном уровне я и говорю...

.

"Мы не будем всё переделывать с нуля."

А это позиция.

.

"Вам просто лень разбираться и не хочется отказываться от старой (одной-двух-трёх) разработки. Это - совершенно понятный мотив."

Слово...эээ...жонглирование.

 

И на счёт того, что должен и чего не должен делать индикатор.... (говорить об этом несколько даже странно)

.

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

 
Всем привет! В справке по языку не нашёл функцию iHighest, ... подскажите как находить максимальную цену за N период? В языке не очень пока... нашел только способ с использованием copyHigh и fmax, но это не выход,..подскажите пожалуйста
 

"Вам просто лень разбираться и не хочется отказываться от старой (одной-двух-трёх) разработки. Это - совершенно понятный мотив."

Уважаемый Ренат! Хочу вернуть Вам Ваш аргумент:

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