Среда, 19.12.2018, 12:03
Игрушки от Vinin
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Советники и индикаторы » Мультивалютник » MarketInfo() (Способы обойти ограничения в мультивалютниках)
MarketInfo()
vininДата: Четверг, 23.10.2008, 06:45 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 299
Репутация: 12
Статус: Offline
Разработчики ввели ограничение по использованию этой функции в мультивалютных экспертах.
При вызове функции в режиме тестера или оптимизатора по другому инструменту генерируется ошибка 4059 (функция запрещена в данном режиме)
Возникает вопрос, а как тогда получить Point, Digits, Ask, Bid по другому инструменту.
Позволю предложить свой вариант решения проблемы (может и не совсем удачный). Но попробую

extern double k = 1.0;

double my_marketinfo(string sym, int mode){
int err=GetLastError();
double res=MarketInfo(sym,mode);
err=GetLastError();
if (err>0) {
if (err==4059) {
switch (mode) {
case MODE_POINT:
res=0.01*k;
if (StringFind(sym,"JPY")==-1) res=0.0001*k;
break;
case MODE_ASK:
case MODE_BID:
res=iOpen(sym,0,0);
break;
case MODE_DIGITS:
if (k==0.1) res=3; else res=2.0;
if (StringFind(sym,"JPY")==-1) res+=2;
break;
}
} else {
Print("my_marketinfo(",sym,",",mode,")- error code ",err);
}
}
return(res);
}

Параметры можно добавлять, особых проблем нет. А может будут и другие варианты решения проблемы

 
akadexДата: Четверг, 23.10.2008, 11:31 | Сообщение # 2
Рядовой
Группа: Группа 1
Сообщений: 19
Репутация: 0
Статус: Offline
Более того....по некоторым инструментам, но у многих ДЦу, marketinfo может вернуть неверную цену золота и т.д.
 
GrayMan77Дата: Суббота, 25.10.2008, 07:23 | Сообщение # 3
Рядовой
Группа: Группа 1
Сообщений: 16
Репутация: 1
Статус: Offline
Точно.
Вот здесь:
http://forum.mql4.com/ru/7536
мы обсуждали зту проблему...

Ну выяснили, в общем, что это "косяк" брокера, а не МТ.
Т.е. что брокер дал, то МТ и отображает.
Но все равно неприятно...

 
Форум » Советники и индикаторы » Мультивалютник » MarketInfo() (Способы обойти ограничения в мультивалютниках)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2018Бесплатный конструктор сайтов - uCoz