background

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

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

Изменение размера позиции в зависимости от прибыльности предыдущей сделки

23195РЕДАКТОР КОДА РАЗМЕР ПОЗИЦИИ ФУНКЦИЯ В СКРИПТЕ CALCULATEPOSITIONSIZE PERCENTOFEQUITY NETPROFIT POSITION

Пример кода, где открывается позиция на 50% после прибыльной сделки и на 100% после убыточной:

// Пример изменения размера позиции в зависимости от прибыльности предыдущей сделки
// заходить на 50% после прибыльной сделки и на 100% после убыточной 

public override PositionSize CalculatePositionSize(Position p, double cash, double equity)
{
//p.Handle порядковый номер позиции, начиная с 0
if(p.Handle > 0)
{
//получаем предыдующую позицию
Position prevPosition = Positions[p.Handle - 1];
// дальше работаем с предыдущей позицией prevPosition
if (prevPosition.NetProfit>0)
{
//размер позиции в случае, если пред.позиция была прибыльной
return new PositionSize(PositionSizeMode.PercentOfEquity, 50);
}
else
//размер позиции в случае, если пред.позиция была убыточной или без прибыли
return new PositionSize(PositionSizeMode.PercentOfEquity, 100);
}
else
//размер позиции для первой сделки по стратегии
return new PositionSize(PositionSizeMode.PercentOfEquity, 100);
}