Имхо можно. Ничего сакрального в императивном, высокоуровневом программировании нет.
Просто понять что в любом языке есть циклы, условные конструкции и структуры данных -коллекции, массивы.Все остальное плюшки и рюшечки.
Наверняка, любой трейдер, пытавшийся протестировать свои стратегии в Wealth Lab (версия 6.4) сталкивался с необходимостью определения в стратегии своей системы управления рисками. Особенно это актуально при торговле фьючерсами.
Задать размер позиции в Wealth Lab можно создав класс, производный от класса WealthLab.PosSizers.BasicPosSizer и переопределив в нем метод SizePosition.
Что я собственно и сделал:
//////////////////////////////////////////////////////////////////////////////////
public override double SizePosition(Position currentPos, Bars bars, int bar, double basisPrice,
PositionType pt, double riskStopLevel, double equity, double cash)
{
double risksizeprecent = Math.Abs((riskStopLevel — basisPrice) / basisPrice — 1);
if (_settings == null)
_settings = new myPosSizerSettings();
this.InitializeSettings(_settings);
_maxRisk = _settings.MaxRiskSize;
double capfortrade = equity *0.99*_maxRisk/100;
capfortrade = capfortrade/Math.Abs(riskStopLevel — basisPrice);
return (int)capfortrade;
}
//////////////////////////////////////////////
Устанавливаю максимальный риск на сделку
Однако проблема в том, что WealthLab не дает открывать позиции размер которых превышает размер капитала