background

Центр поддержки Tradematic

Материалы, видео и ссылки для пользователей и разработчиков Tradematic.

Стратегия работает с длинными и короткими позициям и указан размер позиции более 100%, при этом сделки отбрасываются с плечом 2, как быть?

39977ТЕСТИРОВАНИЕ РАЗМЕР ПОЗИЦИИ РАЗНЫЙ ПЛЕЧО РЕДАКТОР КОДА CALCULATEPOSITIONSIZE POSITIONTYPE LONG

При открытии длинной позиции вы можете купить на следующую сумму:
НаПокупку = (Плечо-1)*Активы + Свободные средства - Шорты
При открытии короткой позиции формула другая:
НаПокупку = Активы - Шорты

Как видите, фактически для шортов нет плеча, поэтому когда вы устанавливаете размер позиции больше 100%, шортовые позиции отбрасываются. Как вариант решения, можно выбрать размер позиции="Функция", а в Редакторе кода добавить функцию CalculatePositionSize, для длинных позиций возвращать 200%, для коротких 100%:

public override PositionSize CalculatePositionSize(Position p, double cash, double equity)
{
   if(p.PositionType == PositionType.Long)
   {
      return new PositionSize(PositionSizeMode.PercentOfEquity, 200);
   }
   else
   {
      return new PositionSize(PositionSizeMode.PercentOfEquity, 100);
   }

   return null;
}

Посмотрите, пожалуйста, так же следующий пример, по использованию данной функции.