Author Topic: фильтр при установке переменной программно  (Read 1027 times)

Tags:
  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Форумчане и разработчики МФ помогите решить вопрос при установке переменной.
имею таблицу excel которая содержит 7 колонок, 6 из них критерии отбора, а 1 значение которое должно быть присвоено переменной при совпадении всех 6 условий. 
"market_name" является тем самым "массивом" который должен содержать все 6 критериев.
Данные в таблице периодически меняются. частота обновления рандомная. к-во строк тоже за сотню переваливает. набор 6 критериев по одной строке - уникальный. Переменная устанавливается конкретно для каждого рынка.
Как отфильтровать мануально через поле условий и по каждому критерию понимаю, но это крайне трудозатратно, да и в принципе невыполнимо менять постоянно набор фильтров и значений. 

Интересует возможность программного решения подобной задачи.

Простыми словами если "market_name" - содержит все 6 критериев "Скачки" "SWE"...."Trot S" то переменной присвоить значение "ААА" если нет совпадений во всех строчках - 0, или не присваивать совсем ничего.

Как пример.
"market_name"="Скачки / SWE / Aby (SWE) 14th May / 19:20 Aby (SWE) 14th May - R1 2140m Trot S - R1 2140m Trot S"
и пару строк из таблицы 
кр1кр2кр3кр4кр5кр6значение
Скачки  SWE Aby R12140mTrot SААА
Скачки  SWE Aby R22100mTrot SБББ
Скачки  SWE Aby R32000mTrot S555

"market_name" содержит все 6 критериев только в первой строчке => установить значение ААА. Переменная установлена. Дальше другие тригеры вступают...


  • Administrator
  • Posts: 8873
  • Karma: +331/-1
  • Gender: Female
*
Здравствуйте!

В триггерах есть условие "У рынка имя содержит", и далее перечисляете (в кавычках) все строки, которые вам нужны, отдельным условием:

У рынка Имя содержит "Скачки"
и У рынка Имя содержит "SWE"

и т.д.

Действие этого триггера -- установить переменную с областью видимости отдельно для рынка.
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Usuários brasileiros, bem vindos ao nosso WhatsApp chat!

Присоединяйтесь к нашей официальной группе ВКонтакте!

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Здравствуйте!

В триггерах есть условие "У рынка имя содержит", и далее перечисляете (в кавычках) все строки, которые вам нужны, отдельным условием:

У рынка Имя содержит "Скачки"
и У рынка Имя содержит "SWE"

и т.д.

Действие этого триггера -- установить переменную с областью видимости отдельно для рынка.
Спасибо за ответ, но про это я и писал что этот путь знаю и менять сотни условий руками нереально.

  • Administrator
  • Posts: 8873
  • Karma: +331/-1
  • Gender: Female
*
Тогда непонятна постановка задачи.

Крайне трудозатратно задавать критерии? А каким образом тогда их в принципе задавать? Не догадается же триггер сам, какие именно вам рынки нужны? Вы же в Excel файле точно так же их меняете в колонках, разве нет?
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Usuários brasileiros, bem vindos ao nosso WhatsApp chat!

Присоединяйтесь к нашей официальной группе ВКонтакте!

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Тогда непонятна постановка задачи.

Крайне трудозатратно задавать критерии? А каким образом тогда их в принципе задавать? Не догадается же триггер сам, какие именно вам рынки нужны? Вы же в Excel файле точно так же их меняете в колонках, разве нет?
Исходя из создания отдельного тригера для каждой строчки условий (а их более сотни, а может быть и пару сотен, а может и тысяча) и если эта таблица будет обновляться хотя бы раз в неделю, а не каждый день, необходимо заново руками прописать 100+ новых триггеров удалив "вчерашние". 
Может таким образом будет понятнее задача.
Есть массив данных в excel. Периодически изменяемый.(условно каждый раз новый)
нужно подобие выгрузки этих данных в МФ или связи этого массива с использованием "формулы" которая проводит анализ каждой строки и выдает переменную равную ячейке определенного столбца. (6 условий из строки совпало --> переменная устанавливается равной ячейке из этой строки)
Формула типа такой IF("market_name" содержит "ячейка А1"и"А2"и..."А6",  результат = ячейка "А7", иначе 0) и так каждая строка до первого совпадения.

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Как выгрузить в МФ решение нашел.

Осталось дело за малым - формула с функцией "СОДЕРЖИТ"
Если есть функционал в МФ установить условие "У рынка имя содержит" значит должна быть и формула. Ведь так?

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Нашел вот такое решение. Так работает условие "У рынка имя содержит"?
Если всё же есть формула попроще, буду благодарен.

"market_name"="Скачки / SWE / Aby (SWE) 14th May / 19:20 Aby (SWE) 14th May - R1 2140m Trot S - R1 2140m Trot S"

IF(FIND("Скачки", "market_name")>0, bet, dontbet)
ну и если более чем одно условие
IF(FIND("Скачки", "market_name")>0, IF(FIND("SWE", "market_name")>0, bet, dontbet), dontbet)
...

Попутно возникло несколько других вопросов. 
1. В "мои рынки" некоторые рынки пишутся на русском, некоторые на англ. как пример
"Скачки / США / CharlT (США) 15 мая / 02:00 CharlT (США) 15 мая - R1 5f Mdn Claim - R1 5f Mdn Claim"
"Скачки / США / RemP (US) 15th May / 02:00 RemP (US) 15th May - R1 2f Mdn Claim - R1 2f Mdn Claim"
"Скачки / Австралия / Melb (AUS) 16th May / 01:30 Melb (AUS) 16th May - R1 1720m Pace M - R1 1720m Pace M"
"Собачьи бега / Австралия / Ball (ABC) 16 мая / 01:20 Ball (ABC) 16 мая - R1 390m Mdn - R1 390m Mdn"
Как можно в программе указать - выводить только на АНГЛ. или только на РУС. языке? 
Если установить .en версию МФ будут проскакивать русские значения?
Или нужно дополнительно в формулу прописать оба варианта используя функцию OR(

Причём на 99% уверен что два варианта будут иметь разный результат в разных версиях МФ (ру или en) 
IF(FIND("Скачки", "market_name")>0, IF(FIND("SWE", "market_name")>0, bet, dontbet), dontbet)
IF(FIND("Horse", "market_name")>0, IF(FIND("SWE", "market_name")>0, bet, dontbet), dontbet)

2. Как обратиться к части "market_name" подобно "market_parent"
"market_name"="Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"
"market_parent" ="Solvalla (SWE) 15 мая"  ("Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S")
А как отдельно обратиться к 
"Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"
"Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"
"Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male
Oxa, если предыдущий пост содержит сильно много вопросов, ответьте, пожалуйста, хотя бы на последний вопрос.

2. Как обратиться к части "market_name" подобно "market_parent"
"market_name"="Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"
"market_parent" ="Solvalla (SWE) 15 мая"  ("Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S")
А как отдельно обратиться к 
"Скачки / SWE / Solvalla (SWE) 15 мая / 15:10 Solvalla (SWE) 15 мая - R6 2140m Trot S - R6 2140m Trot S"

Заранее спасибо!

  • Administrator
  • Posts: 8873
  • Karma: +331/-1
  • Gender: Female
*
Quote
Как можно в программе указать - выводить только на АНГЛ. или только на РУС. языке

К сожалению, никак. Названия рынков отдает биржа. MarketFeeder Pro "просит" у нее все данные на русском языке, но иногда у них бывают непереведенные фрагменты. Можете пользоваться англоязычной версией программы, тогда все будет гарантированно на английском.

Quote
Так работает условие "У рынка имя содержит"?
Если всё же есть формула попроще, буду благодарен.

"market_name"="Скачки / SWE / Aby (SWE) 14th May / 19:20 Aby (SWE) 14th May - R1 2140m Trot S - R1 2140m Trot S"

IF(FIND("Скачки", "market_name")>0, bet, dontbet)
ну и если более чем одно условие
IF(FIND("Скачки", "market_name")>0, IF(FIND("SWE", "market_name")>0, bet, dontbet), dontbet)

Именно так.
Quote
2. Как обратиться к части "market_name" подобно "market_parent"

Такой возможности не предусмотрено.
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Usuários brasileiros, bem vindos ao nosso WhatsApp chat!

Присоединяйтесь к нашей официальной группе ВКонтакте!

  • All members
  • Posts: 78
  • Karma: +0/-0
  • Gender: Male

Quote
2. Как обратиться к части "market_name" подобно "market_parent"

Такой возможности не предусмотрено.
Странно, ведь при подключении Excel на лист выводится отдельной ячейкой (ячейка I1) инфо по забегу (длина дистанции итп)


  • Administrator
  • Posts: 8873
  • Karma: +331/-1
  • Gender: Female
*
Странно, ведь при подключении Excel на лист выводится отдельной ячейкой (ячейка I1) инфо по забегу (длина дистанции итп)
Это верно, а переменной такой нет: раньше она никому не требовалась. Добавляю в список желаний.
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Usuários brasileiros, bem vindos ao nosso WhatsApp chat!

Присоединяйтесь к нашей официальной группе ВКонтакте!