Блог им. 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();
}
}
}
}
}
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
87
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:
Фото
💬 На связи с инвесторами
За цифрами отчётности и корпоративными новостями всегда есть детали, о которых хочется узнать больше. Как работает отдельное направление,...
Фото
«Ренессанс страхование» возместила 131 млн рублей клиентам на восстановление после пожаров
В этом году Группа Ренессанс страхование урегулировала восемь крупных страховых случаев по загородной недвижимости — общая сумма компенсаций...
Фото
Как бизнесу открыть брокерский счет и хеджировать валютные риски: пошаговый гайд
  Содержание статьи Шаг 1. Открытие брокерского счета для ООО Шаг 2. Пополнение счета Шаг 3. Терминал и начало работы Мониторинг...
Фото
Нефтяной срез: выпуск №11. Удалось хорошо заработать пока все паниковали, но будущее туманно. Аккуратный переход в нефтебазовую оборону, ОСТАЛОСЬ ТОЛЬКО ДВЕ ИДЕИ.
Продолжаю выпускать рубрику — Нефтяной срез. Цель: отслеживать важные бенчмарки в нефтяной отрасли, чтобы понимать куда дует ветер. Прошлый пост...

теги блога Awesome_Trade

....все тэги



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