Ответить
17.08.2012, 08:30
Аватар для Anton_uz
Anton_uz Anton_uz вне форума Местный житель
Регистрация: 05.10.2009 / Сообщений: 480
Поблагодарили 284 раз(а) / Репутация: 283

По умолчанию Подводные камни Форекс

Привет

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

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

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

так что дополняйте эту ветку своими соображениями и наблюдениями - они вам (и мне тоже) очень помогут в дальнейшем при разработке новых робото
17.08.2012, 09:21
Регистрация: 13.03.2009 / Сообщений: 2,406
Поблагодарили 1,980 раз(а) / Репутация: 2057
1. неправильный результат в переменной при делении числа на 0.00001 и т.д.
Это связано с хранением double данных в переменных. double переменные имеют точность 15 знаков. Значит в последнем знаке может быть погрешность, а может и не быть. Например если записать в переменную 2.3, то в ней может оказаться 2.30000000000001. Соответственно вместо 0.00001 в переменной может оказаться 0.00001000000001. Если поделить одно на другое 2.30000000000001/0.00001000000001= 229999.999770001.
Тут даже и деление не причём, ведь если данные с погрешностью то и любые операции будут так же с погрешностью.
Это надо учитывать в программе и не использовать бездумно double. В языке есть всё что нужно для написания стабильной программы. А в справочнике есть всё что бы обойти все "подводные камни". Правда не так подробно разжёвано. Так что камни не такие уж подводные.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 17.08.2012 в 09:31.
05.12.2012, 13:19
Аватар для Vseslav
Vseslav Vseslav вне форума Новичок форума
Регистрация: 02.12.2012 / Адрес: Саратов / Сообщений: 52
Поблагодарили 21 раз(а) / Репутация: 22
А как вычислить значение спрэда с точностью до 5го знака?
13.12.2012, 08:28
Аватар для sochinik
sochinik sochinik вне форума Активный участник
Регистрация: 10.05.2012 / Адрес: Курск-Краснодар / Сообщений: 326
Поблагодарили 169 раз(а) / Репутация: 170
  • Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN
Я тоже столкнулся с некоторыми проблеммами в понимании языка MQL?Поэтому сейчас изучаю открытые коды готовых советников, а ещё создавая функции в Forex EA Generator 4, произвожу их разбор, так легче разобраться как правилно составлять функции на языке MQL/4
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 17:03. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO