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

 
Galim_V #:

У вас есть время каждого дня в секундах

далее переводите значения заданные в переменных

в секунды

теперь можно сравнивать на > или < и задавать любой интервал. Если вам нужно точечно проверять в интервале времени, ниже пример из учебника Ковалева

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

Добрый день. 

Вроде разобрался, спасибо.

Спасибо за совет по записи в фаил. В будем обязательно допишу, так что ждите с дурацкими вопросами)

 

Подскажите, пожалуйста, как вычислить угол?

Везде на сайтах ответ один

"угол a = arccos(10/145) = 86.0454279 "

У меня

MathArccos(10/145)

возвращает 1,570796....

Что я не так делаю?

 
Tretyakov Rostyslav #:

Подскажите, пожалуйста, как вычислить угол?

Везде на сайтах ответ один

"угол a = arccos(10/145) = 86.0454279 "

У меня

возвращает 1,570796....

Что я не так делаю?

В справке сказано, что MathArccos возвращает значение арккосинус числа в радианах.

Чтоб перевести в градусы надо умножить на 180 и разделить на Pi

MathArccos(10 / 145) * 180 / M_PI; //  90.0

Но всё равно получается не  86.0454279  , странно 🤷‍♂️.


MathArccos возвращает 1.5707963267948966, а должен возвращать 1,50177602276

Судя по всему в этой функции ошибка.

 
Aleksandr Slavskii #:

В справке сказано, что MathArccos возвращает значение арккосинус числа в радианах.

Чтоб перевести в градусы надо умножить на 180 и разделить на Pi

Но всё равно получается не  86.0454279  , странно 🤷‍♂️.


MathArccos возвращает 1.5707963267948966, а должен возвращать 1,50177602276

Судя по всему в этой функции ошибка.

Спасибо.

И "MathArccos" и "MathArctan" - обе функции выдают не тот результат.

 
Tretyakov Rostyslav #:

Спасибо.

И "MathArccos" и "MathArctan" - обе функции выдают не тот результат.

Пробуйте 10.0/145.0
 

Добрый день, подскажите, как это будет в mql5?

void OnStart()

{

RefreshRates();

double lot = 0.01;

bool BuY  = OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask - 120*Point,Ask + 120*Point);

}

 
Aliaksandr Hryshyn #:
Пробуйте 10.0/145.0
Спасибо, но на результат не повлияло.
 
Tretyakov Rostyslav #:
Спасибо, но на результат не повлияло.

   Вроде отличаются. 

Print(MathArccos(10.0 / 145.0) * 180 / M_PI); // Арккосинус угла 
Print(MathArccos(10.0 / 145.0));
2024.04.30 14:58:55.004 До_Аута(мат) GBPUSD,M5: 1.501776022756832
2024.04.30 14:58:55.004 До_Аута(мат) GBPUSD,M5: 86.04542787790916

от  1,570796.... Впрочем, я не в теме, просто подставил. "попробовал".

 
PsYdAnCeR #:

Добрый день, подскажите, как это будет в mql5?

void OnStart()

{

RefreshRates();

double lot = 0.01;

bool BuY  = OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask - 120*Point,Ask + 120*Point);

}

https://www.mql5.com/ru/docs/trading/ordersend

 
Galim_V #:

   Вроде отличаются. 

от  1,570796.... Впрочем, я не в теме, просто подставил. "попробовал".

Да, так считает правильно.

Но ведь такое поведение не соответствует справке. Там и на входе и на выходе тип double.

В справке нигде не указано, что на вход можно подавать int, из за этого получаются такие непонятки.

Причина обращения: