Скачать MetaTrader 5

К разработчикам: Ошибка MarketInfo !!!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Сделал скриншот в MetaTrader? Поделись им с друзьями!
akadex
93
akadex 2007.07.21 16:08 

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

Во вложении пример кода, иллюстрирующий ошибку.

Файлы:
Владимир Тезис
4266
Владимир Тезис 2007.07.21 18:20  

А это потому, что в Вашем коде ошибка - не определено символьное имя инструмента и не объявлена заранее переменная _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);
И вот ещё что - достаточно этот код вставить в тело нового скрипта - не обязательно совать в код советника и ожидать очередной тик, чтобы понять, работает код или нет.
GrayMan77
6
GrayMan77 2007.07.23 00:26  

О, великий гуру MQL4, drknn!
Преклоняясь и падая ниц перед Вашими знанями этого таинственного языка, осмелюсь, все же, заметить, что строчка

extern string _Symbol="GOLD";

это и есть объявление переменной, причем внешней.

Далее, я прошу простить меня за столь недостойное применение эксперта там, где следовало применить скрипт!

О, несравненный! Следуя Вашим ценнейшим указаниям, я осмелился путем нескольких чудесных манипуляций превратить мой недостойный эксперт в скрипт с искусно исправленным Вами кодом!

И... О чудо! Я увидел, что ничего не изменилось!
Скрипт все равно показывает НЕПРАВИЛЬНУЮ ЦЕНУ ПУНКТА GOLD! (На билде 206.)
В чем предлагаю убедиться Вам.

Скрипт прикрепляю.

Файлы:
Igor Kim
2740
Igor Kim 2007.07.23 04:15  

А сколько стоит пункт золота?

MetaQuotes Software Corp.
Модератор
181273
MetaQuotes Software Corp. 2007.07.23 09:12  
Что значит "неправильная цена"? Опубликуйте неправильную и правильную цены, пожалуйста.

Запуск на GOLD: цена пункта $2.5
Игорь Корепин
582
Игорь Корепин 2007.07.23 10:30  

Подтверждаю, для золота MarketInfo выдает неправильную цену пункта = 10. Причём даже если золота нет в обзоре рынка. По спецификации контракта на сайте ДЦ пункт должен стоить 2.5 доллара.

Билд 206, сервер Альпари. На форуме Альпари мне не ответили на этот вопрос :(

MetaQuotes
Админ
24951
Renat Fatkhullin 2007.07.23 13:15  
Такова спецификация контракта GOLD в Альпари:
akadex
93
akadex 2007.07.23 14:08  

С спецификациях так, а на самом деле все совсем не так! :(
Можно купить лот на демо и увидеть это.....И неважно Альпари это, или НордФинанс, или еще кто.

Владимир Тезис
4266
Владимир Тезис 2007.07.23 15:52  
GrayMan77:

>О, великий гуру MQL4, drknn!
>Преклоняясь и падая ниц перед Вашими знанями этого таинственного языка, осмелюсь, все же, заметить, что строчка

extern string _Symbol="GOLD";

>это и есть объявление переменной, причем внешней.

Признаю - не заметил. Просто обычно символьное имя инструмента узнают функцией, чтоб можно было советника кидать на любой инструмент.

>Далее, я прошу простить меня за столь недостойное применение эксперта там, где следовало применить скрипт!


>О, несравненный! Следуя Вашим ценнейшим указаниям, я осмелился путем нескольких чудесных манипуляций превратить мой недостойный эксперт в скрипт с искусно исправленным Вами >кодом!


>И... О чудо! Я увидел, что ничего не изменилось!
>Скрипт все равно показывает НЕПРАВИЛЬНУЮ ЦЕНУ ПУНКТА GOLD! (На билде 206.)
>В чем предлагаю убедиться Вам.

Я запускал скрипт в других терминалах и он нормально работает на билде 206. Так что тут не в скрипте дело.


>Скрипт прикрепляю.

И вот ещё что - Вы просили помочь - я помог, в ответ я получил от Вас сарказм, выраженный высокопарным слогом. Вам я больше помогать не буду.

 


GrayMan77
6
GrayMan77 2007.07.24 01:21  

To drknn:

> И вот ещё что - Вы просили помочь - я помог, ...

Да? Это помощь? Кричать, не разобравшись: "...в Вашем коде ошибка. .."! И предлагать исправления, которые ничего не меняют...

Ну тогда спасибо за помощь.

> Вам я больше помогать не буду.

ТАК помогать - не надо. Извините.

To All:

Спасибо всем, кто откликнулся. Вопрос, все же, остается. Попробую его конкретизировать:

На сайте Альпари в спецификациях контрактов (http://www.alpari-idc.ru/ru/cspec/GOLD.html) читаем:

Золото

Стоимость пункта на 1 лот $25.00

А функция MarketInfo(...) в выложенных выше эксперте и скрипте на терминале Альпари (билд 206) выдает цену пункта 10.00 !

И в свойствах символа (в терминале), как показал ув. Renat, мы тоже видим 10.00.

ПОЧЕМУ?

Валерий
1433
Валерий 2007.07.24 02:49  
GrayMan77:

Спасибо всем, кто откликнулся. Вопрос, все же, остается. Попробую его конкретизировать:

На сайте Альпари в спецификациях контрактов (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 для коротких.

Думаю, это объясняется невниманием кампаний к своим демо-серверам.

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий