Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Похоже, в MT4 никак нельзя узнать (без реконнекта) об изменении торгового плеча на счете.
Похоже, в MT4 никак нельзя узнать (без реконнекта) об изменении торгового плеча на счете.
Лет пять назад делал. У клиента уменьшали плечо в определенные часы, причем оно никак не менялось в переменной AccountInfoInteger(ACCOUNT_LEVERAGE). И ему нужно было знать об этом.
Не знаю как по научному, но для себя определил, что есть плечо по счету, которое меняется редко, а есть по символу, которое могут менять и несколько раз на дню.
Проверку делал таким образом:
Иногда текущее расчетное плечо по символу leverageSymb могло вместо 200 (когда плечо 1:200) выдавать 199, 198. Поэтому от стандартного плеча приходилось отнимать определенный % и сравнивать с этим значением. Решение выше тогда помогало, может пригодиться.
Лет пять назад делал. У клиента уменьшали плечо в определенные часы, причем оно никак не менялось в переменной AccountInfoInteger(ACCOUNT_LEVERAGE). И ему нужно было знать об этом.
Не знаю как по научному, но для себя определил, что есть плечо по счету, которое меняется редко, а есть по символу, которое могут менять и несколько раз на дню.
Проверку делал таким образом:
Иногда текущее расчетное плечо по символу leverageSymb могло вместо 200 (когда плечо 1:200) выдавать 199, 198. Поэтому от стандартного плеча приходилось отнимать определенный % и сравнивать с этим значением. Решение выше тогда помогало, может пригодиться.
Да, с отслеживанием маржинальных требований символа нет проблема. ACCOUNT_LEVERAGE - только реконнект.
Очень распространена практика фильтрации истории торгов путем запоминания нужных ордеров в список тикетов. А затем SELECT_BY_TICKET по этому списку.
Вариант с запоминанием не тикета, а позиции ни разу не видел. Ниже сравнение производительности.
Видно, что вариант с тикетами проигрывает почти в три раза по производительности.
Видно, что вариант с тикетами проигрывает почти в три раза по производительности.
если будет закрыта\открыта позиция, логика с тикетом не поломается, логика с позицией может.
если будет закрыта\открыта позиция, логика с тикетом не поломается, логика с позицией может.
Речь только о MODE_HISTORY-режиме.
Существует ли теоретическая возможность, что данный код пропустит какой-то ордер, что существовал ДО и ПОСЛЕ вызова функции? Или же учтет дважды.
Т.е. что происходит с индексацией, когда во время перебора какой-то ордер удалится или появится?
Или же учтет дважды.
вообще зависит от сортировки. если принять по дефолту что сортировка по времени или тикету, новые ордера появляются в конце списка, ну и логично все сдвигаются при удалении самых старых.
Получается при удалении ордера из начала списка один из списка может быть учтен дважды. вроде легко обходится - достаточно запоминать тикет из предыдущего прохода и сравнивать (но гарантии все равно не дает)
Как получить пропуск на обратном проходе - не придумал
вообще зависит от сортировки. если принять по дефолту что сортировка по времени или тикету, новые ордера появляются в конце списка, ну и логично все сдвигаются при удалении самых старых.
Получается при удалении ордера из начала списка один из списка может быть учтен дважды. вроде легко обходится - достаточно запоминать тикет из предыдущего прохода и сравнивать (но гарантии все равно не дает)
Как получить пропуск на обратном проходе - не придумал
Спасибо за подробный ответ! Вот и думаю теперь, как перебрать ВСЕ ордера по ОДНОМУ разу.