Прошу прощения, ошибка в строке кода, писал вот так: "double p =" MarketInfo(Symbol(),MODE_POINT); Alert(p);"
Попробуйте воспользоваться функцией https://www.mql5.com/ru/docs/convert/doubletostring
Например так
Alert(DoubleToString(p, 5));
- www.mql5.com
Спасибо с этим разобрался!
Но я не могу понять почему все равно выводится ноль: "0.0000", а почему не выводится информации о значении пункта?
Спасибо с этим разобрался!
Но я не могу понять почему все равно выводится ноль: "0.0000", а почему не выводится информации о значении пункта?
По умолчанию вывод только с четырьмя знаками после запятой. А Вам похоже нужен пятый знак.
По умолчанию вывод только с четырьмя знаками после запятой. А Вам похоже нужен пятый знак.
А 5 знак как-нибудь можно вывести?
Вроде привел пример что бы можно было увидеть пятый и последующий знаки. Других вариантов нет. Может и появятся со временем.
Вообще какая-то ерунда с MarketInfo творится. Пишу "Alert(Ask)" выводит все правильно - 0,7091, а если пишу - " double m = MarketInfo("EURGBP",MODE_ASK); Alert(DoubleToString(m, 5));", то опять 0,0000!!!
Код покажите
Вот, простейший тестовый файлик
//+------------------------------------------------------------------+ //| asistent.mq4 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property strict //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- double p_t = MarketInfo("EURGBP",MODE_POINT); double a_k = MarketInfo("EURGBP",MODE_ASK); Alert("DoubleToString(a_k,5): ",DoubleToString(a_k,5)); //выводит: "0.00000" Alert("DoubleToString(p_t,5): ",DoubleToString(p_t,5)); //выводит: "0.00000" Alert("Ask: ",Ask); //выводит: " 0,7091" // Здесь все правильно! //---- return(0); } //+------------------------------------------------------------------+
Спасибо за помощь!
- www.metaquotes.net
Пожалуйста вставляйте код правильно: Правильно вставляем код на форуме. Ваш пост я уже отредактировал.
Теперь к тесту: MetaTrader 4 build 842 х32 (MetaQuotes Software Corp.).
И вот алерты:
2015.07.02 08:00:14.516 asistent EURGBP,Daily: Alert: DoubleToString(a_k,5): 0.70919 2015.07.02 08:00:14.516 asistent EURGBP,Daily: Alert: DoubleToString(p_t,5): 0.00001 2015.07.02 08:00:14.516 asistent EURGBP,Daily: Alert: Ask: 0.70919Как видите, всё в порядке.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Только начал изучать язык Mq4 и столкнулся с проблемой вывода информации о значении пункта. Пишу простой код: double p =" MarketInfo(Symbol(),MODE_POINT); Alert(Point);"
В Метатрейдере стабильно Алерт выводит "0". Что я не так делаю уж ума не преложу??
Спасибо!