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

46568ТЕСТИРОВАНИЕ РАЗМЕР ПОЗИЦИИ РАЗНЫЙ ПЛЕЧО РЕДАКТОР КОДА 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;
}

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

background

Tradematic Support Center

Guides, articles, videos and links for Tradematic users and developers.

This website uses cookies. By continuing to use this website, you consent to our Privacy Policy. OK