Калькулятор "Электроника мк44" или mql4 ?

 

Привет дорогие форумчане.
Есть у меня парочка вопросов о mql4.
Даже в старом калькуляторе "Электроника мк44" можно выполнить то что нужно трейдеру, а в mql4 это "танцы с бубном" и не всегда с положительным результатом! Почему в яп есть куча совершенно не нужных, математических функций, но нет элементарных арифметических, с отрицательными и положительными числами? К примеру как сравнивать отрицательные и положительные числа типа double? Как вообще проводить основные арифметические действия и сравнения, с отрицательными и положительными числами? Возможно есть что то, но я в справке по яп mql4 ничего не нашёл к сожалению.



Есть некоторый код:

// получаю данные буферов индикатора, которые могут быть
// как положительные так и отрицательные!
double Buffer0 = iCustom(NULL,0,"_GBPUSD_DUBLES",0.8,0,0);
double Buffer1 = iCustom(NULL,0,"_GBPUSD_DUBLES",0.8,2,0);

// теперь требуется определить разницу между данными буферов
// искомый порог этой разницы к примеру 0.8 или -0.8
double diff = 0.0;
    if ( diff == 0.0 ) diff += Buffer0; else diff -= Buffer0;
    if ( diff == 0.0 ) diff += Buffer1; else diff -= Buffer1;
// с этим можно справиться вот этой функцией
if(MathAbs(diff) >= 0.8) { ... }
if(MathAbs(diff) <= 0.8) { ... }

// но теперь требуется определить большее или меньшее число
// если числа обоих буферов положительные, определить какое число больше возможно
// но когда одно число положительное, а второе отрицательное или оба отрицательные, я не знаю как это сделать =(
// потому что элементарное <> == не работает в mql4 !!!
// я вообще не уверен что mql4 знает об отрицательных значениях =)
Помогите пожалуйста сравнивать отрицательные и положительные числа, а так же выполнять с ними арифметические действия (сложение, вычитание и т.д.) Спасибо!
 
amgree:

Привет дорогие форумчане.
Есть у меня парочка вопросов о mql4.
Даже в старом калькуляторе "Электроника мк44" можно выполнить то что нужно трейдеру, а в mql4 это "танцы с бубном" и не всегда с положительным результатом! Почему в яп есть куча совершенно не нужных, математических функций, но нет элементарных арифметических, с отрицательными и положительными числами? К примеру как сравнивать отрицательные и положительные числа типа double? Как вообще проводить основные арифметические действия и сравнения, с отрицательными и положительными числами? Возможно есть что то, но я в справке по яп mql4 ничего не нашёл к сожалению.



Есть некоторый код:

Просто прочтите справку. К вашему удивлению вы там найдете ответы не только на эти простые вопросы, но и много чего полезного откроется вам.
 
Artyom Trishkin:
Просто прочтите справку. К вашему удивлению вы там найдете ответы не только на эти простые вопросы, но и много чего полезного откроется вам.

В том то всё и дело, я же написал что не нашёл ничего для примера в коде =(

Не могли бы Вы меня ткнуть носом, так сказать, в тему из справки по mql4?

 
amgree:

В том то всё и дело, я же написал что не нашёл ничего для примера в коде =(

Не могли бы Вы меня ткнуть носом, так сказать, в тему из справки по mql4?

Читайте документацию здесь - в меню сайта.
Вещи, о которых спрашиваете вы - общие для всех языков программирования.
 
amgree:
double diff = 0.0;
if ( diff == 0.0 ) 
if ( diff == 0.0 )

В чем смысл данной конструкции? Если мы объявили double diff = 0.0 , Зачем в следующей строке сравнивать с тем же значением?

Значение переменной не изменилось.

 
Artyom Trishkin:
Читайте документацию здесь - в меню сайта.
Вещи, о которых спрашиваете вы - общие для всех языков программирования.

Не совсем. Есть очень простой яп Autoit и у него всё просто как в школе -

Local $doublePlus = 10.25, $doubleMinus = -10.25

if $doublePlus > $doubleMinus Then
        MsgBox(0,'',"Ok")
Else
        MsgBox(0,'',"Error")
EndIf

https://ibb.co/PQyqYZt

Именно такого я не нашёл в справке mql4 =(

111
111
  • ibb.co
Изображение 111 расположенное в imgbb.com
 
Evgeny Belyaev:

В чем смысл данной конструкции? Если мы объявили double diff = 0.0 , Зачем в следующей строке сравнивать с тем же значением?

Значение переменной не изменилось.

Смысл в том что из буферов может поступить как 0.0 так и любое число, если 0.0 тогда записываем, если не 0.0 тогда вычитаем

По Вашему замечанию, правильнее вот так будет -

double diff = Buffer0;
    if ( diff == 0.0 ) diff += Buffer1; else diff -= Buffer1;
=)
 
amgree:
Смысл в том что из буферов может поступить как 0.0 так и любое число, если 0.0 тогда записываем, если не 0.0 тогда вычитаем


Что больше -30 или -10 ?

 
Evgeniy Chumakov:


Что больше -30 или -10 ?

-10 естественно!
 
Маугли тоже не ходил в школу. Ничего, добывал жрачку охотой и собирательством.
 
amgree:
-10 естественно!


А что вам мешает сравнивать числа в Mql4 ?