Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 108

 
-Aleks-:

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

Ну вот так вроде нормально отображает

double CalcY=StringToDouble("0.01234567890001");
Print ("CalcY=",DoubleToString(CalcY,14));

 2017.02.05 23:52:50.190 00 EURUSD,M1: CalcY=0.01234567890001

 
Vitalie Postolache:

Ну вот так вроде нормально отображает

double CalcY=StringToDouble("0.01234567890001");
Print ("CalcY=",DoubleToString(CalcY,14));

 

У меня 18 знаков в числе.

 
-Aleks-:

 

У меня 18 знаков в числе.

А кому щас легко...

Вывод текста - только до 16 знаков, это в документации чёрным по белому писано. А расчёты - до предела, предусмотренного типом данных

 
Vitalie Postolache:

А кому щас легко...

Вывод текста - только до 16 знаков, это в документации чёрным по белому писано. А расчёты - до предела, предусмотренного типом данных

 

Так я про расчет говорю - число как раз нормально принтуется и без пробразования в строку. А сами расчеты double с числом ограничены , я так понимаю, 15 знаками. Или это в обе стороны 15 знаков - до запятой и после?

DBL_MIN

Минимальное положительное значение, которое может быть  представлено типом double

2.2250738585072014e-308

DBL_MAX

Максимальное значение, которое может быть представлено типом double

1.7976931348623158e+308

DBL_EPSILON

Наименьшее число для которого выполняется условие 1.0+DBL_EPSILON != 1.0

2.2204460492503131e-016

DBL_DIG

Количество значимых десятичных знаков

15

DBL_MANT_DIG

Количество битов в мантиссе

53

DBL_MAX_10_EXP

Максимальное десятичное значение степени экспоненты

308

DBL_MAX_EXP

Максимальное двоичное значение степени экспоненты

1024

DBL_MIN_10_EXP

Минимальное десятичное значение степени экспоненты

(-307)

DBL_MIN_EXP

Минимальное двоичное значение степени экспоненты

(-1021)

 

 
-Aleks-:

А сами расчеты double с числом ограничены , я так понимаю, 15 знаками. Или это в обе стороны 15 знаков - до запятой и после?

Ограничение всего - максимум 15 знаков выходит запятая не имеет значения. 

 
int Counter (int type, string sy, enum counterEnum{TIME_1_SY, TOTAL, LOCK})
{
...
}
Подскажите, пожалуйста, хочу в параметрах функции объявить перечисление, чтобы при вызове функции третьим параметром можно было выбрать только следующие значения:
TIME_1_SY, TOTAL или LOCK

Как это реализовать?

Разобрался, всё оказалось очень просто:

enum CE {TIME_1_SY, TOTAL, LOCK};
int Counter (int type, string sy, int counterEnum)
{
...
}
 

Здравствуйте, подскажите пожалуйста , вот код программы

if (ObjectFind("Rectangle 33579")==0) Alert("ДА");
else Alert("НЕТ");

Сигнализирует несколько раз "ДА" потом несколько раз "НЕТ", если объект существует и все время "НЕТ" если объекта нет, но почему такой симафор когда объект есть?

 
Maksym Mudrakov:
int Counter (int type, string sy, enum counterEnum{TIME_1_SY, TOTAL, LOCK})
{
...
}
Подскажите, пожалуйста, хочу в параметрах функции объявить перечисление, чтобы при вызове функции третьим параметром можно было выбрать только следующие значения:
TIME_1_SY, TOTAL или LOCK

Как это реализовать?
Объявить перечисление в глобальной области. А в функции использовать перечисление как тип параметра.
 
vivatforex:

Здравствуйте, подскажите пожалуйста , вот код программы

if (ObjectFind("Rectangle 33579")==0) Alert("ДА");
else Alert("НЕТ");

Сигнализирует несколько раз "ДА" потом несколько раз "НЕТ", если объект существует и все время "НЕТ" если объекта нет, но почему такой симафор когда объект есть?

Попробуйте так:

if (ObjectFind(0,"Rectangle 33579")<0) Alert("НЕТ");
else Alert("ДА");
 

Всем привет

Кто видит почему оно так отображается?

Т.е функции разные свойства разные а отображение одинаковое. 

Также с двумя другими однотипными объектами, работает только один из них, остальные параметры игнорируются 

Файлы:
Причина обращения: