Значок открытия позиции отрисовывается на одну свечку раньше
График - счечки Volume. Проблема в том, что для некоторых позиций крестик открытия позииции ставится на предыдущую свечку. Актуально только для графиков Volume, на стандартном свечном графике такой проблемы я не вижу.
На скриншоте тестера видно открытые позиции, нужную подчернул красным. Соответствующую ей свечку выделил стрелками на чарте.
В самой позиции и свечке дата/время корректны - 13:17:39 (в логе позиций и данных по свечке это видно).
У самой свечки дата/время тоже корректны (свечка выделена на чарте, ее параметры отображаются в левом верхнем углу), на скриншоте не отобразилось перекрестие почему-то, но выделена правильная свечка.
Разобрался вчера. Проблема актуальна для графиков, свечки которых не привязаны к фиксированному промежутку времени.
Проблема в функции ChartCandlePainter.MagicSearch() в финальной проверке
if ((_timeFrameIsActivate &&candles[i].TimeStart.Add(_timeFrameSpan) > time))
{return i;}
_timeFrameSpan по факту в классе заполняется значением даже у графиков типа Volume.
Решение использовал такое - протащил в класс значение CandleCreateMethodType и последнюю проверку обогатил условием
if (_CandleCreateMethodType == CandleCreateMethodType.Simple && ....
Более правильная альтернатива - корректно заполнять _timeFrameSpan, но на него что-то много по коду всего завязано, возможно полезут хвосты.
Вопрос решен.
ООО «ВАН ТЕХНОЛОГИИ»т: +7 953 769 56 45
* Торговля на финансовых рынках связана с риском, который лежит на Вас.
* Ничто из написанного на сайте o-s-a.net не является рекомендацией.
* Если Вы этого не понимаете, не читайте этот сайт, ничего не покупайте.