А это потому, что в Вашем коде ошибка - не определено символьное имя инструмента и не объявлена заранее переменная _Symbol.
Вот, посмотрите, я подправил Ваш код.
string Comm; string SMB=Symbol(); //Comm="Цена пункта "+_Symbol+" : "; //Comm=Comm+DoubleToStr(MarketInfo(_Symbol,MODE_TICKVALUE),4); //Comment(Comm); Comm="Цена пункта "+SMB+" : "; Comm=Comm+DoubleToStr(MarketInfo(SMB,MODE_TICKVALUE),4); Print(Comm);И вот ещё что - достаточно этот код вставить в тело нового скрипта - не обязательно совать в код советника и ожидать очередной тик, чтобы понять, работает код или нет.
О, великий гуру MQL4, drknn!
Преклоняясь и падая ниц перед Вашими знанями этого таинственного
языка, осмелюсь, все же, заметить, что строчка
extern string _Symbol="GOLD";
это и есть объявление переменной, причем внешней.
Далее, я прошу простить меня за столь недостойное применение эксперта там, где следовало применить скрипт!
О, несравненный! Следуя Вашим ценнейшим указаниям, я осмелился путем нескольких чудесных манипуляций превратить мой недостойный эксперт в скрипт с искусно исправленным Вами кодом!
И... О чудо! Я увидел, что ничего не изменилось!
Скрипт все равно показывает НЕПРАВИЛЬНУЮ ЦЕНУ ПУНКТА GOLD! (На
билде 206.)
В чем предлагаю убедиться Вам.
Скрипт прикрепляю.
Запуск на GOLD: цена пункта $2.5
Подтверждаю, для золота MarketInfo выдает неправильную цену пункта = 10. Причём даже если золота нет в обзоре рынка. По спецификации контракта на сайте ДЦ пункт должен стоить 2.5 доллара.
Билд 206, сервер Альпари. На форуме Альпари мне не ответили на этот вопрос :(
С спецификациях так, а на самом деле все совсем не так! :(
Можно купить лот на демо и увидеть это.....И неважно Альпари это,
или НордФинанс, или еще кто.
>О, великий гуру MQL4, drknn!
>Преклоняясь и падая ниц перед Вашими знанями этого таинственного
языка, осмелюсь, все же, заметить, что строчка
extern string _Symbol="GOLD";
>это и есть объявление переменной, причем внешней.
Признаю - не заметил. Просто обычно символьное имя инструмента узнают функцией, чтоб можно было советника кидать на любой инструмент.>Далее, я прошу простить меня за столь недостойное применение эксперта там, где следовало применить скрипт!
>О, несравненный! Следуя Вашим ценнейшим указаниям, я осмелился путем нескольких чудесных манипуляций превратить мой недостойный эксперт в скрипт с искусно исправленным Вами >кодом!
>И... О чудо! Я увидел, что ничего не изменилось!
>Скрипт все равно показывает НЕПРАВИЛЬНУЮ ЦЕНУ ПУНКТА GOLD!
(На билде 206.)
>В чем предлагаю убедиться Вам.
>Скрипт прикрепляю.
To drknn:
> И вот ещё что - Вы просили помочь - я помог, ...
Да? Это помощь? Кричать, не разобравшись: "...в Вашем коде ошибка. .."! И предлагать исправления, которые ничего не меняют...
Ну тогда спасибо за помощь.
> Вам я больше помогать не буду.
ТАК помогать - не надо. Извините.
To All:
Спасибо всем, кто откликнулся. Вопрос, все же, остается. Попробую его конкретизировать:
На сайте Альпари в спецификациях контрактов (http://www.alpari-idc.ru/ru/cspec/GOLD.html) читаем:
Золото
Стоимость пункта на 1 лот $25.00
А функция MarketInfo(...) в выложенных выше эксперте и скрипте на терминале Альпари (билд 206) выдает цену пункта 10.00 !
И в свойствах символа (в терминале), как показал ув. Renat, мы тоже видим 10.00.
ПОЧЕМУ?
Спасибо всем, кто откликнулся. Вопрос, все же, остается. Попробую его конкретизировать:
На сайте Альпари в спецификациях контрактов (http://www.alpari-idc.ru/ru/cspec/GOLD.html) читаем:
Золото
Стоимость пункта на 1 лот $25.00
А функция MarketInfo(...) в выложенных выше эксперте и скрипте на терминале Альпари (билд 206) выдает цену пункта 10.00 !
И в свойствах символа (в терминале), как показал ув. Renat, мы тоже видим 10.00.
ПОЧЕМУ?
1. Фунция работает правильно. Она просто выдаёт то, что записано
в настройках сервера.
2. Неправильное значение для демо-Альпари, а также Alpari-Contest касается не только золота, посмотрите, к примеру спред по GBPJPY, для этого даже не нужна функция, можно помотреть в свойствах символа: -3,07 для длинных и -4,14 для коротких.
Думаю, это объясняется невниманием кампаний к своим демо-серверам.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При использовании функции MarketInfo с целью определения цены пункта GOLD,
цена возвращается ошибочная! Проверил налицие данной ошибки на нескольких ДЦ.
Везде одно и тоже. В чем дело? Ошибка терминала?
Во вложении пример кода, иллюстрирующий ошибку.