Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да нет же, это ненормально.
Позиция есть. Кидаем советник на чарт. Истории сделок по выбранной позиции нет. Что же тут нормального то?)))
Позиция открыта уже несколько секунд, а количество сделок все равно нулевое?
Вот именно.
Тогда это очень плохо для всех, кто торгует в MT5. Как воспроизвести?
открывать позиции без и с советником на чарте, добавлять к позиции, урезать позицию, переворачивать позицию. баг проявляется не всегда и не сразу. я эксперементировал на демо счете fibo, билд 1490
{
const int Total = PositionsTotal();
for (int i = 0; i < Total; i++)
{
const ulong Ticket = PositionGetTicket(i);
if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
Alert(Ticket);
}
}
Не воспроизвести
{
const int Total = PositionsTotal();
for (int i = 0; i < Total; i++)
{
const ulong Ticket = PositionGetTicket(i);
if (PositionSelectByTicket(Ticket) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
Alert(Ticket);
}
}
У Вас по другому выбирается позиция. Попробуйте мой код.
{
EventSetMillisecondTimer(1);
}
void OnTimer()
{
const int Total = PositionsTotal();
for (int i = 0; i < Total; i++)
if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
Alert(PositionGetInteger(POSITION_TICKET));
}
И так не воспроизводится
{
EventSetMillisecondTimer(1);
}
void OnTimer()
{
const int Total = PositionsTotal();
for (int i = 0; i < Total; i++)
if ((PositionGetSymbol(i) == _Symbol) && HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)) && (HistoryDealsTotal() == 0))
Alert(PositionGetInteger(POSITION_TICKET));
}
А мой код пробовал?
Что бы так же воспроизвести и так же получить логи.
А мой код пробовал?
Что бы так же воспроизвести и так же получить логи.
Пробовал - проблема не воспроизводится.
Странно.... В чем тогда может быть проблема?
Вот. Делаю так. Запустил советник на чарте. Открыл вручную позицию. Два раза добавил и один раз урезал позицию. В лагах правильно показывает 4 сделки. После этого я перевернул позицию - проблема - позиция есть а сделок нет.
Вот лог после последних двух операций.
2016.12.05 14:25:44.157 Get current commission of pos (GBPUSD,M5) 1
2016.12.05 14:25:44.157 Get current commission of pos (GBPUSD,M5) GBPUSD
2016.12.05 14:25:44.157 Get current commission of pos (GBPUSD,M5) Позиция найдена
2016.12.05 14:25:44.157 Get current commission of pos (GBPUSD,M5) Всего сделок в позиции: 4
2016.12.05 14:25:44.670 Get current commission of pos (GBPUSD,M5) 1
2016.12.05 14:25:44.670 Get current commission of pos (GBPUSD,M5) GBPUSD
2016.12.05 14:25:44.670 Get current commission of pos (GBPUSD,M5) Позиция найдена
2016.12.05 14:25:44.670 Get current commission of pos (GBPUSD,M5) Всего сделок в позиции: 0
Видно, что сделок позиции не видит. Советник продолжает висеть на чарте и в коменте 0.
Удалил эксперт, кинул на чарт снова - не видит сделки позиции, в коменте 0.