Подводные камни Форекс

  • Автор темы Автор темы Anton_uz
  • Дата начала Дата начала

Anton_uz

Местный житель
Привет

выдалось время на работе просто посидеть
я начал вспоминать 3 года прошлого и 3-х роботов с которыми ничего но получилось (ну, это пока...)

так вот я также наткнулся на подводные камни в языке MQL4
1. неправильный результат в переменной при делении числа на 0.00001 и т.д.
2. переменные типа Double не выводят на экран 5-й знак, но он у них есть и его можно увидеть, если перевести эту переменную в символьный вид
3. есть ещё и другие приколы со спредом в частности, но это я уже не помню

знаете, зачем я запостил эту ветку ?
- а вот зачем:
мэрфология:
"если есть возможность попадания ошибки в проект, то ошибка вкрадётся в проект"
"величина, не требующая никаких проверок, которая у всех на виду изначально является ошибочной"
ну и т.д.

так что дополняйте эту ветку своими соображениями и наблюдениями - они вам (и мне тоже) очень помогут в дальнейшем при разработке новых робото
 

Ugar

Гуру форума
1. неправильный результат в переменной при делении числа на 0.00001 и т.д.
Это связано с хранением double данных в переменных. double переменные имеют точность 15 знаков. Значит в последнем знаке может быть погрешность, а может и не быть. Например если записать в переменную 2.3, то в ней может оказаться 2.30000000000001. Соответственно вместо 0.00001 в переменной может оказаться 0.00001000000001. Если поделить одно на другое 2.30000000000001/0.00001000000001= 229999.999770001.
Тут даже и деление не причём, ведь если данные с погрешностью то и любые операции будут так же с погрешностью.
Это надо учитывать в программе и не использовать бездумно double. В языке есть всё что нужно для написания стабильной программы. А в справочнике есть всё что бы обойти все "подводные камни". Правда не так подробно разжёвано. Так что камни не такие уж подводные.
 
Последнее редактирование:

Vseslav

Новичок форума
А как вычислить значение спрэда с точностью до 5го знака?
 

sochinik

Местный житель
Я тоже столкнулся с некоторыми проблеммами в понимании языка MQL?Поэтому сейчас изучаю открытые коды готовых советников, а ещё создавая функции в Forex EA Generator 4, произвожу их разбор, так легче разобраться как правилно составлять функции на языке MQL/4
 
Верх