Блог им. Yarillo

Кто вяжет на С# - Хелл!!

Форумчане, Хелл!
засел проверить одну идейку в велсе, и вот не могу раздуплить как заставить производить перебор последовательно в каждом из 4х Массивов (4 тикета в торговле)foreach  — как я понимаю перебирает только 1 масив.

Может каждый тикет в отдельный цикл
If (Титек = Нефть)
{
foreach  ()
.....
}
кто писал ТС с торговлей в несколько тикетов?
Чего нехватает (ну кроме серого вещества в черепной коробке аФФтора))? 
ЗЫ: зню что на Смарте достаточно много технически подкованных участников, поэтому надеюсь прольете свет. как решить задачку=/
Кто вяжет на С# - Хелл!!

Собственно коДД

for (int bar = 20; bar < Bars.Count; bar++)
{
bool Long = Bars.Close[bar] > HiBars_Period[bar — 1];
if (!IsLastPositionActive)
{
if (Long)
{
foreach (string TickerName in DataSetSymbols)
{
SetContext(«Gold», true);
RiskStopLevel = LowBars_Period[bar — 1];
BuyAtMarket(bar + 1, «kjyu»);
orderStopLoss = LowBars_Period[bar — 1];
RestoreContext();
}
}
else
{ //Шортов_Нет)
}
}
else
{
if (LastActivePosition.PositionType == PositionType.Long) // Для длинной позиции
{
foreach (string TickerName in DataSetSymbols)
{
SetContext(«Gold», true);
if (Bars.Close[bar] < LowBars_Period[bar — 1])
{
SellAtMarket(bar + 1, LastActivePosition, «Sell»);
RestoreContext();
}
}
}
}
}
60
11 комментариев
Press, вопрос именно как норм сплести эту корзину))) по отдельности уже гонял) хочется теперь комплексно на всю картину посмотреть)))

avatar
по идее нужно последовательно запускать 4 цикла foreach, или что то не так понял?(
avatar
Awesome_Trade, 
тогда проще уж так:

var tickersArr = new [] {«RTS», «BR», «SI»}

foreach(var ticker in tickersArr )
{
     foreach(var TickerName ib DataSetSymbols)
     {
           SetContext(ticker, true);
              if (Bars.Close[bar] < LowBars_Period[bar — 1])
              {
                     SellAtMarket(bar + 1, LastActivePosition, «Sell»);
                     RestoreContext();
              }
              //Прочие участки Грааля
      }
}
Бобровский Дмитрий, Спасибо! сейчас попробую)
т.е. 4 массива мы элегантно превращаем в один и делаем перебов в цикле, я правильно понял?

avatar
Awesome_Trade, ну, фактически просто можно в SetContext загонять элементы массива и не заморачиваться. Просто обратите внимание, что в участке кода: 
foreach (string TickerName in DataSetSymbols)
{
SetContext(«Gold», true);
RiskStopLevel = LowBars_Period[bar — 1];
BuyAtMarket(bar + 1, «kjyu»);
orderStopLoss = LowBars_Period[bar — 1];
RestoreContext();
}

Нигде этот самый «TickerName» не используется. Я уже давненько не юзал Велс — использую S# + собственный код.
Просто обратите внимание, что скорее всего у Вас просто тавталогия идёт, т.к. если я правильно понимаю, DataSetSymbols как раз и содержит необходимые «Si», «BR» и т.п.
Вероятно, что простая замена SetContext(«Gold», true); на SetContext(TickerName, true); в исходном коде даст то же самое и без 2-х вложенных циклов.
Вообще, если нужно, чтобы по N активам одновременно считалось — код оставляем как есть (в плане сначала идёт цикл for по свечкам, потом foreach по DataSetSymbols). Если хотим последовательно — меняем местами циклы foreach и for. Наверное, как-то так.
а зачем тебе итератор, если ты не используешь элементы массива?
avatar

Читайте на SMART-LAB:
Фото
Превью отчета МТС Банка по МСФО за 2025 год.
МТС Банк 4-го марта опубликует отчет по МСФО за 2025 год. Ожидаются сильные финансовые результаты и рекордная чистая прибыль. Чистый...
Фото
Brent по $90, Urals по $61, а золото по $6000: к чему может привести конфликт на Ближнем Востоке
Из-за известных военных событий вокруг Ирана в начале недели произошел скачок цен на нефть на 8,5%: стоимость Brent достигла $80/барр. –...
Фото
Какие инвестидеи открывает война в Иране: видеообзор аналитика Т-Инвестиций
Какие инвестидеи открывает война в Иране: видеообзор аналитика Т-Инвестиций Новая война на Ближнем Востоке может пойти по разным...
Фото
Мой Рюкзак #64: Усиление в банковском секторе в ожидании справедливой переоценки
Февраль продолжает радовать стоимостных и смелых инвесторов Прошлый пост тут —  smart-lab.ru/company/mozgovik/blog/1265828.php...

теги блога Awesome_Trade

....все тэги



UPDONW
Новый дизайн