Неправильное время свечи, получаемой от SmartCom
Смартком получает свечит в классе SmartComServer:
void SmartServer_AddBar(int row, int nrows, string symbol, StBarInterval interval, DateTime datetime, double open, double high, double low, double close, double volume, double openInt)
{
Candle candle = new Candle();
......................................................................... Лишний код спрячем
candle.TimeStart = datetime;
поставил такой костыль:
if (interval == StBarInterval.StBarInterval_1Min) candle.TimeStart = datetime.AddMinutes(-1.0);
else if (interval == StBarInterval.StBarInterval_5Min) candle.TimeStart = datetime.AddMinutes(-5.0);
else if (interval == StBarInterval.StBarInterval_10Min) candle.TimeStart = datetime.AddMinutes(-10.0);
else if (interval == StBarInterval.StBarInterval_15Min) candle.TimeStart = datetime.AddMinutes(-15.0);
else if (interval == StBarInterval.StBarInterval_30Min) candle.TimeStart = datetime.AddMinutes(-30.0);
else if (interval == StBarInterval.StBarInterval_60Min) candle.TimeStart = datetime.AddMinutes(-60.0);
else candle.TimeStart = datetime;
И вопрос: а почему Os.Engine не дает со Смарткома скачать 2-х и 4-х часовые свечи?
И вопрос: а почему Os.Engine не дает со Смарткома скачать 2-х и 4-х часовые свечи?
Добавил Ваши правки в проект.
В OsEngine нет таких ТФ... Не знаю уже почему даже. А нужно?
Цитата: Алексей Ван
В OsEngine нет таких ТФ... Не знаю уже почему даже. А нужно?
Честно говоря, не очень). Просто заметил это пока разбирался со временем свечи, стало интересно
Добрый день! Чтобы не плодить новых тем пишу здесь. В СмарткомСервер есть такие строки.
if (action == StOrder_Action.StOrder_Action_Buy)
{
trade.Side = Side.Buy;
}
if (action == StOrder_Action.StOrder_Action_Sell ||
action == StOrder_Action.StOrder_Action_Short)
{
trade.Side = Side.Sell;
}
Вопрос.
А вы про StOrder_Action.StOrder_Action_Cover специально не добавили?
Цитата: Кот Матроскиня уже не помню. Вы бы учились пушить на ГитХаб код) меньше времени бы тратили на переписку.
Добрый день! Чтобы не плодить новых тем пишу здесь. В СмарткомСервер есть такие строки.
if (action == StOrder_Action.StOrder_Action_Buy)
{trade.Side = Side.Buy;
}
if (action == StOrder_Action.StOrder_Action_Sell ||
action == StOrder_Action.StOrder_Action_Short)
{
trade.Side = Side.Sell;
}Вопрос.
А вы про StOrder_Action.StOrder_Action_Cover специально не добавили?
Записал себе. Сделаю к след релизу.
Цитата: Алексей Ван
Вы бы учились пушить на ГитХаб код) меньше времени бы тратили на переписку.
Рад бы) да учиться дольше....
Посмотрел, оказалось, что в СмарткомСервер несколько мест, где нужно проверить StOrder_Action
Например, еще в SmartServer_UpdateOrder:
if (action == StOrder_Action.StOrder_Action_Buy)
{
order.Side = Side.Buy;
}
else
{
order.Side = Side.Sell;
}
Хотя, судя по тому, что ордера определяются как Open или Close по полю NumberUser, эти ошибки ни на что не влияют...
ООО «ВАН ТЕХНОЛОГИИ»т: +7 953 769 56 45
* Торговля на финансовых рынках связана с риском, который лежит на Вас.
* Ничто из написанного на сайте o-s-a.net не является рекомендацией.
* Если Вы этого не понимаете, не читайте этот сайт, ничего не покупайте.