private void Start_logic()
{
MainWindow.Instance.GuiAsync(() => MainWindow.Instance.textBox13.Text = MainWindow.Instance.textBox13.Text + Environment.NewLine + "Start logic");
//БЛОК КОТИРОВАНИЯ ОПЦИОНОВ CALL НА ПРOДАЖУ
//котирование на продажу опциона Call минус 1 страйк от базового -5000п
var VolatilityQuoting_Call_minus1Strike_Sell = new VolatilityQuotingStrategy(new Range<decimal>((decimal)vol_Call_minus1Strike - 0.5m, (decimal)vol_Call_minus1Strike + 0.5m), OrderDirections.Sell, 4)
{
Volume = 2,
Security = _SECURITY_Call_minus1Strike,
Trader = Trader,
Portfolio = Portfolio
};
//base.ChildStrategies.Add(VolatilityQuoting_Call_minus1Strike_Sell);
//котирование на продажу опциона Call базовый страйк
/* var VolatilityQuoting_Call_baseStrike_Sell = new VolatilityQuotingStrategy(new Range<decimal>((decimal)vol_Call_baseStrike - 0.03m, (decimal)vol_Call_baseStrike + 0.03m), OrderDirections.Sell, 4)
{
Volume = 2,
Security = _SECURITY_Call_baseStrike,
Trader = Trader,
Portfolio = Portfolio
};
//котирование на продажу опциона Call со страйком плюс 1 от базового +5000п
var VolatilityQuoting_Call_plus1Strike_Sell = new VolatilityQuotingStrategy(new Range<decimal>((decimal)vol_Call_plus1Strike - 0.03m, (decimal)vol_Call_plus1Strike + 0.03m), OrderDirections.Sell, 4)
{
Volume = 2,
Security = _SECURITY_Call_plus1Strike,
Trader = Trader,
Portfolio = Portfolio
};
//котирование на продажу опциона Call со страйком плюс 2 от базового +10000п
var VolatilityQuoting_Call_plus2Strike_Sell = new VolatilityQuotingStrategy(new Range<decimal>((decimal)vol_Call_plus2Strike - 0.03m, (decimal)vol_Call_plus2Strike + 0.03m), OrderDirections.Sell, 4)
{
Volume = 2,
Security = _SECURITY_Call_plus2Strike,
Trader = Trader,
Portfolio = Portfolio
};*/
//упаковываем алгоритмы котирования по разным страйкам на продажу опционов Call в BasketStrategy
var basket_Quote_Call_Sell = new BasketStrategy(BasketStrategyFinishModes.All)
{
Trader = Trader,
Portfolio = Portfolio,
Volume = 1,
Security = _SECURITY_Call_baseStrike
};
basket_Quote_Call_Sell.ChildStrategies.Add(VolatilityQuoting_Call_minus1Strike_Sell);
// basket_Quote_Call_Sell.ChildStrategies.Add(VolatilityQuoting_Call_baseStrike_Sell);
// basket_Quote_Call_Sell.ChildStrategies.Add(VolatilityQuoting_Call_plus1Strike_Sell);
// basket_Quote_Call_Sell.ChildStrategies.Add(VolatilityQuoting_Call_plus2Strike_Sell);
//запускаем котирование
basket_Quote_Call_Sell.Start();
basket_Quote_Call_Sell.EnableRulesLog = true;
//создаем дельта-хеджирование, передав в него опционные стратегии для отслеживания их позиции
var hedge_Call_Sell = new DeltaHedgeStrategy(basket_Quote_Call_Sell)
{
Security = _SECURITY_Call_baseStrike.GetUnderlyingAsset(), // получаем базовый актив по опциону (т.е. фьюч РТС)
Portfolio = Portfolio,
Trader = Trader
};
hedge_Call_Sell.Start();
}
вот кусок логики там где я ставил EnableRulesLog = true