Добрый день!
Чтобы не плодить под каждый инструмент отдельный скрипт добавил в свой след код:
var instrument = "";
if (sec.ToString().Contains("RTS")) instrument = "RTS";
if (sec.ToString().Contains("SI")) instrument = "SI";
switch (instrument)
{
case "RTS":
stopLoss = 1750;
trailEnable = 1500;
trailLoss = 750;
smaRange = 300;
smaPeriod = 100;
comission = 35;
lotsAmount = 1; //Количество лотов.
break;
case "Si":
stopLoss = 500;
trailEnable = 2000;
trailLoss = 1000;
smaRange = 200;
smaPeriod = 100;
comission = 10;
lotsAmount = 4; //Количество лотов.
break;
}
потом вот так входим в позицию
sec.Positions.SellAtPrice(lastIndex + 1, (int)lotsAmount, sec.Bars[lastIndex].Close, "SE");
как видно, робот должен торговать Си и Ри с разными стопами и разным количеством лотов (переменная lotsAmount).
Запустил двух агентов от одного скрипта.
Первый агент на Ри, Второй - на Си.
Си вошел в сделку одним контрактом (как будто он Ри, хотя Си должен торговаться на 4 контракта) и поставил стоп как для Ри. (Ри на текущий момент не в сделке).
Прошу подсказать почему так сработало и есть ли решение данной проблемы или все-таки для каждого инструмента нужно создавать свой отдельный скрипт?
При тестировании на истории все работало как надо )))
Прошу ногами не пинать, я только учусь ))
С уважением!