MQL4 - automated forex trading   /  

Форум

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

К списку тем  | 1 2 Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
84
akadex 21.07.2007 18:08 

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

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

Прикрепленные файлы:
  ErrorMarketInfo_v1.zip (0.46 KB)
article

Тестирование экспертов на нестандартных таймфреймах

Оказывается не просто, а очень просто...


avatar
403
drknn 21.07.2007 20: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);
И вот ещё что - достаточно этот код вставить в тело нового скрипта - не обязательно совать в код советника и ожидать очередной тик, чтобы понять, работает код или нет.

avatar
4
GrayMan77 23.07.2007 02:26 

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

extern string _Symbol="GOLD";

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

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

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

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

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

Прикрепленные файлы:
  s-ErrorMarketInfo_v2.mq4 (1.30 KB)

avatar
4381
KimIV 23.07.2007 06:15 

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


avatar
Модератор
28825
MetaQuotes 23.07.2007 11:12 
Что значит "неправильная цена"? Опубликуйте неправильную и правильную цены, пожалуйста.

Запуск на GOLD: цена пункта $2.5

avatar
809
Xupypr 23.07.2007 12:30 

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

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


avatar
Модератор
3176
Renat 23.07.2007 15:15 
Такова спецификация контракта GOLD в Альпари:



avatar
84
akadex 23.07.2007 16:08 

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


avatar
403
drknn 23.07.2007 17:52 
GrayMan77 писал (а):

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

extern string _Symbol="GOLD";

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

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

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


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


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

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


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

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

 





avatar
4
GrayMan77 24.07.2007 03:21 

To drknn:

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

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

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

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

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

To All:

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

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

Золото

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

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

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

ПОЧЕМУ?


avatar
653
Valmars 24.07.2007 04: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 для коротких.

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

К списку тем   | 1 2  

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