Накипело в раз... ;)))
double БАЛАНС=AccountBalance();
if(AccountBalance() < 0.001) БАЛАНС=1;
double БАКСОРУБ=MarketInfo("USDRUR",MODE_BID);Функция MarketInfo() возвращает значения не зависимо от Вашего окна обзора рынка. (Если нужной инфы нет в обзоре, информация в данном случае берется с сервера)
if (MarketInfo("USDRUR",MODE_BID)==0) БАКСОРУБ=24;
if(MarketInfo(Symbol(),MODE_TICKVALUE)==0)MODE_TICKVALUE Если Размер минимального изменения цены инструмента в валюте депозита == 0, то получается что цена вообще не может изменится ???!!! Как так?
0.001 эмпирическая величина...
Всё что большее её это "нормальный, ненулевой баланс",
а всё что меньше, например 0, или -1.52, приравнено к 0, и назначается псевдовеличина 1.
Просто... ;)
MODE_TICKVALUE Если Размер минимального изменения цены инструмента в валюте депозита == 0, то получается что цена вообще не может изменится ???!!! Как так?
Вот так и есть, сервер возвращает как 0 по этим инструментам.
Причина думаю в следующем, элементарно не введена формула для расчёта,
ибо там привязка к курсу USDRUR... или "не пролазиет" в формат с двумя знаками после запятой.
Например 1 лот Сбера имеет цену пипса 0.0004227 $. Примерно...
Функция () возвращает значения не зависимо от Вашего окна обзора рынка.
Упс... что-то я недочитал...
Садюсь за книгу заново. :)
Функция MarketInfo() возвращает значения не зависимо от Вашего окна обзора рынка. (Если нужной инфы нет в обзоре, информация в данном случае берется с сервера)
Что-то не нашел этого... и поиск не помог...
1. Ещё давно заметил что если пару используют в расчётах а её нет в маркетвоче,
то покрывался зеро девижен, после чего я просто ввел число 27. Потом 26 ... и наконец 23.
Мне это тоже надоело в предверии ввода 23 руб за бакс... :)
Видимо что-то изменилось с тех пор...
2. Ну и главное привык верить справке, а она гласит:
double MarketInfo( string symbol, int type)
Возвращает различную информацию о финансовых инструментах, перечисленных в окне "Обзор рынка".
Что предполагает работу именно с теми символами что есть сейчас в окне.
И неработу с теми что убраны оттедава...
Совсем другой смысл этот пункт имел бы при следующем:
"... о финансовых инструментах, имеющиеся на сервере у дилера."
Посему и задал пожелание в просьбах мкл5 разработчикам.
И там никто вроде не ответил пока: юзай справку, это работает...

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Накипело в раз... ;)))
В один день три момента, и решил бороться с ними разом.
Как оказалось это вполне простой и посильной задачей даж для чайника как я.
Применил оператор if с подстановкой другого значения если основное равно 0.
Значение может быть как статичным, например число 25 или расчётным на основе каких-то существующих данных.
1. БАЛАНС, на его данных строиться множество расчётов,
однако на реале вполне возможен слив, баланс 0, а то технический минус.
В результате лог советников покрывается записями zero divide как грибами после дождя...
2. Курс баксорубль.
Нужная вещь для расчётов, но не во всех ДЦ есть этот инструмент.
Да и ситуация когда неработает текущий источник вполне веротна...
***кстати... заметил такой факт: инфа о котировке баксорубля доступна,
если даже его нет в окне обзора рынка... или это фантомы бродят по терминалу? ;)
3. В одном из ДЦ есть CFD на ру-акции.
Не знаю... правильно ли я решил вопросы, но работает вот...И как всегда ничего не бывает так всё гладко...
Шершавым оказался пункт возвращающий стоимость тика (пипса).