Не по теме, но что с оператором OrderSelect?
Имею 4 открытых позиции. В торговом терминале они расположены в таком порядке:
USDCAD
USDJPY
USDJPY
USDCHF
Конструкция (сортировка SELECT_BY_POS)
Имею 4 открытых позиции. В торговом терминале они расположены в таком порядке:
USDCAD
USDJPY
USDJPY
USDCHF
Конструкция (сортировка SELECT_BY_POS)
string sss=""; for(int cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); sss=sss+OrderSymbol()+"\n"; } Comment(sss);
выводит список позиций по алфавиту (чего, собссно, совершенно не надо)
USDCAD
USDCHF
USDJPY
USDJPY
А конструкция (сортировка SELECT_BY_TICKET)
string sss=""; for(int cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_TICKET,MODE_TRADES); sss=sss+OrderSymbol()+"\n"; } Comment(sss);
вообще ничего не выводит. Оператор OrderSymbol() возвращает 0 (ноль)
А почему тикеты(в онлайне) должны идти от 0 до OrdersTotal()-1 ?
А почему тикеты(в онлайне) должны идти от 0 до OrdersTotal()-1 ?
Rosh, Вы меня удивляете. Это не тикеты идут от 0 до OrdersTotal()-1, а индекс "массива ордеров", в котором эти тикеты лежат (вместе со всей остальной информацией). И который отображается в торговом терминале.
Эти алгоритмы работали нормально с момента выпуска первого билда МТ4. И, разумеется, не изменялись. Но вот в одном из последних билдов поменялось отображение инфы. Т.е. этот "массив" стал отсортированным по имени инструмента, хотя в торговом терминале очерёдность соответствует последовательности открытия поз, или очерёдности номеров тикетов по возрастанию. Раньше именно таким же образом и моя инфа на экране отображалась. Сейчас просто неудобно. На экране список открытых позиций идёт одним образом, в торговом терминале другим.
Rosh, Вы меня удивляете. Это не тикеты идут от 0 до OrdersTotal()-1, а индекс "массива ордеров", в котором эти тикеты лежат (вместе со всей остальной информацией).
В этом случае вместо
OrderSelect(cnt,SELECT_BY_TICKET,MODE_TRADES);
надо использовать:
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
Rosh, Вы меня удивляете. Это не тикеты идут от 0 до OrdersTotal()-1, а индекс "массива ордеров", в котором эти тикеты лежат (вместе со всей остальной информацией).
В этом случае вместо
OrderSelect(cnt,SELECT_BY_TICKET,MODE_TRADES);
надо использовать:
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
Renat, а проблемы описанные в первых двух постах осветите, пожалуйста.
Профиль - это всего лишь директорий, в котором хранятся chr-файлы.
Текущий профиль - текущий директорий. Все изменения в составе графиков и на каждом графике фиксируются тут же
Текущий профиль - текущий директорий. Все изменения в составе графиков и на каждом графике фиксируются тут же
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. При переключении между профилями, если один из профилей не использовался какое-то время, в нём сначала отбражается состояние истории котировок на момент последнего "использования". А потом эта история докачивается до текущего состояния. Почему так? Счёт тот же самый, инструменты те же самые, всё то же самое.
2. Если в текущем профиле (например Н1) я в одном из окон выберу другой ТФ, а потом переключусь в другой профиль, в профиле Н1 это окно с другим ТФ так и останется. Т.е. получается, что профиль автосохраняется. Не логично. Если я настраиваю профиль, я делаю ряд сознательных действий, а потом сознательно лезу в меню, чтобы сохранить эти настройки. Почему в профиле автоматически сохраняются мои случайные действия? Кроме этого я вывожу необходимую мне инфу с помощью лейблов, которые создаются индикатором. Информация в этих лейблах постоянно обновляется. Сами лейблы удаляются/создаются в зависимости от ситуаций. И вот эти лейблы тоже сохраняются в профилях. Только они уже бесполезные. И при переключении между профилями эти бесполезные лейблы приходится каждый раз ручками удалять.