Тестирую одну разработку и вижу, что сделки закрываются не так как нужно. Прогнал в отладчике и понял, что косяк в этой функции.
Суть в том, что у меня в цикле происходит проверка. Если прибыль позиции меньше требуемой, пропускается закрытие этой позиции.
Вот код:
Не обязательно смотреть весь этот код. Интересует меня лишь строка:
Это строка осеивает позиции, у которых прибыль меньше минимальной.
Вот код selectedPositionProfit() (из библиотеки):
По сути, при прогоне в отладчике я вижу, что позиции закрываются типа с небольшой прибылью, хотя на самом деле там минус. На скрине это видно:
Как так получается?
вызывает большой вопрос строка
if (selectedPositionProfit() - sym.spread() < g_minTP) continue;
подозреваю что метод spread() возвратит "цену спреда" а не пункты, но спред плавающий. При закрытии он будет другим
Ещё свопы и комиссии надо учесть
Тестирую одну разработку и вижу, что сделки закрываются не так как нужно. Прогнал в отладчике и понял, что косяк в этой функции.
Суть в том, что у меня в цикле происходит проверка. Если прибыль позиции меньше требуемой, пропускается закрытие этой позиции.
Вот код:
Не обязательно смотреть весь этот код. Интересует меня лишь строка:
Это строка осеивает позиции, у которых прибыль меньше минимальной.
Вот код selectedPositionProfit() (из библиотеки):
По сути, при прогоне в отладчике я вижу, что позиции закрываются типа с небольшой прибылью, хотя на самом деле там минус. На скрине это видно:
Как так получается?
Вот почему я так ненавижу ООП. Разве ваш код проще написать чем этот
int positionsTotal = PositionsTotal(); for(int pos = 0; pos < positionsTotal; pos++) { ulong posTicket = PositionGetTicket(pos); if(PositionGetString(POSITION_SYMBOL) == _Symbol && PositionGetInteger(POSITION_MAGIC) == 123) { if(PositionGetDouble(POSITION_PROFIT) > g_minTP) Print("Можно закрыть позицию"); } }
Разве ваш код легче читаем?
В вашем коде я не вижу где вы выбираете позицию для работы с ней. И даже если выбор позиции есть, то я не уверен, что выбор не меняется в каком-то методе…
В общем пишите проще, проще и ошибки будет находить…
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Тестирую одну разработку и вижу, что сделки закрываются не так как нужно. Прогнал в отладчике и понял, что косяк в этой функции.
Суть в том, что у меня в цикле происходит проверка. Если прибыль позиции меньше требуемой, пропускается закрытие этой позиции.
Вот код:
Не обязательно смотреть весь этот код. Интересует меня лишь строка:
Это строка осеивает позиции, у которых прибыль меньше минимальной.
Вот код selectedPositionProfit() (из библиотеки):
По сути, при прогоне в отладчике я вижу, что позиции закрываются типа с небольшой прибылью, хотя на самом деле там минус. На скрине это видно:
Как так получается?