Перейти к содержимому

Как создавать сценарии в программе для лото

Метки:

В предыдущей статье были кратко рассмотрены основные функции программы. Работа с архивом тиражей, расчетом статистики, и списком ставок обычно не создает проблем у большинства пользователей – ведь там в большинства случаев все интуитивно понятно и без справочных материалов. Но когда дело доходит до создания своего сценария – очень часто начинаются проблемы. А ведь сценарии, по сути – основная “фишка” наших программ, которая позволяет максимально облегчить ручной труд при выборе и отладке своего способа игры в лотереи.

 

В этой статье я постараюсь продемонстрировать принципы создания своих сценариев на примере, сопровождая процесс соответствующими картинками, объяснениями и советами. Для примера возьмем программу для игры «Гослото «5 из 36». В качестве примера рассмотрим комбинацию фильтров “Суммы + Повторы + Числа”. Этот сценарий есть в online-библиотеке сценариев, поэтому Вы всегда сможете скачать его для изучения.

Вкладка “сценарий”

Оглавление

  1. Немного теории…
  2. Создание нового сценария
  3. Выбор опций
  4. Первый фильтр – сумма всех номеров тиража
  5. Второй фильтр – количество “значений + 1”
  6. Третий фильтр – фильтр “по числам”

 


Немного теории…

Сценарий – это текстовый файл, состоящий из одной или нескольких строк сценария. Каждая строка сценария, в свою очередь, представляет собой набор из от одного до семи фильтров, которые работают на основе расчета статистики сами разными способами. При выполнении каждой строки сценария список комбинаций генерируется заново, а по результатам применения всех фильтров создаются ставки (впрочем, из этого правила есть исключения, и их мы также рассмотрим позже). Таким образом, строка сценария – это “самостоятельная боевая единица”.

Некоторые пользователи считают отдельным “сценарием” каждую отдельную строку. В принципе, это не сильно критично, но может привести к путанице, так справочная система, да и сама программа разработаны в расчете на порядок “фильтры -> строка сценария -> сценарий (файл)”. В нашем сценарии будет всего одна строка, и в данном конкретном случае эти понятия получаются тождественны. Но у меня есть масса сценариев (особенно “отладочных”), включающих по несколько десятков строк.

Программа позволяет работать с множеством различных сценариев, сохраняя их в файлах. Таким образом Вы можете составлять свою библиотеку сценариев, с течением времени совершенствуя их или изобретая новые. При этом Вы можете сохранять их в online-библиотеке, чтобы иметь возможность работать с одним и тем же сценарием на нескольких разных компьютерах. Сохраняя сценарии в online-библиотеке совсем не обязательно публиковать их, делая их доступными остальным пользователям программы – Вы можете использовать в online-библиотеку лишь как свое личное “облачное хранилище”, предназначенное исключительно для сценариев.


Некоторые хитрости для продвинутых пользователей

Этот абзац предназначен для тех пользователей, кто знает, что такое файл, расширение файла, и как открыть текстовый файл с “левым” расширением в текстовом редакторе (например “Блокнот”). Остальным рекомендуется его пропустить и перейти к следующей части.

Как я уже написал, сценарий представляет собой обычный текстовый файл в кодировке ANSI с кодовой страницей WIN-1251. Эти файлы расположены в каталоге с программой и имеют расширение .lss. Активный (то есть загруженный в данный момент в редактор программы) сценарий имеет то же самое имя, что и исполняемый файл программы (выделен красным):

Содержимое каталога с установленной программой

Содержимое внутри файла закодировано примерно таким образом:

Файл можно открыть обычным “блокнотом”

Одна строка в файле – одна строка сценария. Каждая строка разделена с помощью символа | на несколько “секций”. Первая “секция” – параметры строки. Вторая и последующие, кроме последней – описатели фильтров. Последняя “секция” – комментарии к строке. Когда нужно быстро “размножить” одну из строк сценария в несколько похожих друг на друга, очень удобно открыть этот файл текстовым редактором, и сделать это “вручную”. А потом загрузить обратно в программу. Только необходимо помнить, что сама программа в момент такого редактирования должна быть закрыта.

Впрочем, Вам нет особой необходимости заглядывать в эти файлы – все необходимые инструменты для работы с ними есть в самой программе. А неумелыми правками Вы можете только его испортить. Поэтому если не понимаете что делаете – лучше не трогайте, и пользуйтесь инструментарием программы.


Создание нового сценария

Для начала необходимо удалить из редактора сценария предыдущий сценарий, если он там был. Сделать это удобнее всего командой “Удалить все” – она полностью очистит рабочую зону редактора. Впрочем, можно воспользоваться и командой “Удалить“, которая удаляет только одну выделенную строку, если строка в сценарии только одна (как у меня на рисунке).

Примечание: практически любую команду в программе можно выполнить через главное меню (верхнее меню в программе); либо через меню, вызываемое по правой кнопке мыши на каком-либо списке или таблице (а некоторые команды еще и продублированы кнопками на панели инструментов).

Очищаем сценарий

Очистив сценарий, можно добавлять свои строки. В программе предусмотрены два типа строк в сценарии: строки с “фильтрами” и “разделители”. Строки с фильтрами – это и есть рабочие элементы любого сценария; а разделители служат всего лишь для визуального разделения строк на некие “блоки”, то есть для удобства восприятия.

Соответственно, поскольку нам необходимо добавить новую “рабочую” строку, выбираем команду “Добавить фильтры” (можно нажать Ctrl+Ins на клавиатуре). Откроется окно редактора строки сценария, которое в изначальном, “пустом” виде выглядит так:

Добавление новой строки

В самом верху окна расположено поле для ввода комментария (примечания) к данной строке сценария. Эти самые комментарии не влияют на работу программы, и служат только для Вашего удобства, чтобы не запутаться, если Ваш сценарий содержит множество строк. Это поле можно оставить пустым, а можно ввести что-то вроде этого:

Добавление комментария

 


Выбор опций

С комментариями разобрались, теперь необходимо определится с опциями. Опции – это указания программе, что делать перед применением фильтров; а также как именно делать ставки после того, как все фильтры будут применены.

Для начала нужно выбрать, какой список комбинаций мы будем использовать в данной строке. Существуют три варианта:

  • Исходный список (рекомендуется для тестов).

Выбор списка комбинаций

Этот вариант подразумевает, что перед выполнением данной строки сценария программа заново создаст полный список комбинаций, которые возможны в выбранной Вами лотерее (то есть точно такой же список, какой создается при запуске программы или при выполнении команды “Генерировать“.). Поле “количество тиражей” при этом не используется и ни на что не влияет. Данный вариант рекомендуется использовать, если Вы намерены тестировать сценарий по уже прошедшим тиражам (чуть ниже я объясню почему более подробно).

  • Удалить N последних тиражей (для прогнозов)

Удаление N последних тиражей

При выборе данного варианта, как и в предыдущем случае, программа создаст полный список комбинаций, но затем удалит из него указанное “количество тиражей“; то есть те комбинации, которые выпадали в N последних тиражах (по архиву тиражей). Здесь мы исходим из того, что вероятность полного повторения (то есть всех чисел (шаров)) какой либо комбинации относительно невелика для N идущих подряд тиражей, поэтому их можно сразу же удалить. А вот число N (то есть количество тиражей) Вы должны определить сами, исходя из опыта игры. Скажем для лотерей, где числа в тиражах часто повторяются (например “Рапидо”) это число разумно выбирать поменьше, для других (например “5 из 36”) – побольше.

Этот вариант я не рекомендую использовать для тестирования сценариев. Почему? Да просто потому, что удалив из списка комбинаций уже выпавшие, программа никогда не сможет сделать на них ставки при тестировании. Предположим, что Вы создали идеальный сценарий, который определят вероятную комбинацию со 100% точностью (то есть всегда точно угадывает следующие числа). Тогда, при тестировании такого сценария по архиву тиражей программа просто не сможет сделать ставок, потому что предсказываемые строкой сценария комбинации уже удалены из списка этой опцией.

А вот для создания ставок на следующий тираж (то есть для прогнозов) эта опция будет очень полезна.

  • Текущий список (для последовательного выполнения).

Этот вариант предусмотрен для случая, когда не достаточно применения семи фильтров (которые предусмотрены в одной строке сценария) и нужно объединить несколько отдельных строк сценария в одну. В этом случае список комбинаций не пересоздается, а остается точно в том виде, каким он остался после выполнения предыдущей строки.

В нашем случае, поскольку мы собираемся только тестировать сценарий, мы должны выбрать опцию “Исходный список (рекомендуется для тестов)“.

Далее мы должны решить, как будут создаваться ставки после того, как заданные нами фильтры (об этом ниже) будут применены. В идеале, после применения выбранных нами фильтров, в списке комбинаций должна остаться ровно одна комбинация. На нее программа и сделает ставку. Но это в идеале, на практике такое достигнуть довольно сложно. Поэтому мы можем указать программе, как поступать в таком случае:

Выбор режима, когда чисел осталось больше чем нужно

  • Сделать расширенную ставку. Если в выбранной лотерее предусмотрены расширенные ставки, то будет сделана такая ставка. При этом, если количество уникальных чисел в списке комбинаций (то есть всех не повторяющихся чисел (шаров)) меньше расширенной ставки, то ставка будет на все оставшиеся числа; если больше их количество все же допустимого – то “лишние” будут удалены случайным образом. Примечание: размер расширенной ставки, если таковая предусмотрена правилами лотереи, можно “регулировать” в некоторых пределах с помощью параметров программы. Об этом подробнее изложено в справочной системе.
  • Выбрать одну случайную комбинацию / Выбрать первую комбинацию в списке / Выбрать последнюю комбинацию в списке. Эти варианты в общем-то очень похожи друг на друга – будет выбрана только одна комбинация из всего списка. Разница только в способе ее выбора – либо случайно, либо первая, либо последняя соответственно. В любом случае этот способ хоть и выглядит самым простым и оптимальным – таковым не является, потому что при многократном тестировании может давать разные результаты. То есть при повторном выполнении одного и того же сценария на одном и том же тираже результаты могут быть совершенно разными. Поэтому этот способ очень хорош при начальном создании и тестировании сценария, но для “рабочих” сценариев я бы советовал его избегать.
  • Выбрать все комбинации. Все просто – сколько комбинаций осталось, на все и делаем ставки. Иногда очень полезно при составлении сценариев, но вряд ли годиться для прогнозов. Только учтите, что если за каждую строку сценария будет создаваться по несколько тысяч ставок – файл ставок может очень быстро переполнится и программа начнет заметно “тормозить”.
  • Системная игра. В этом случае программа посчитает количество уникальных чисел в списке комбинаций (то есть всех не повторяющихся чисел (шаров)), выберет соответствующую заранее загруженную неполную систему и сделает ставки по ней. Отличие способов [вся система] и [система * комбинации] состоит в том, что в первом случае ставки будут на все комбинации системы, а во втором – только на те, которые есть и в списке системы, и в нашем списке комбинаций. Примечание: системная игра не доступна в демонстрационном режиме.
  • Остановить выполнение сценария. Этот режим предусмотрен для “финальной” отладки сценария, когда необходимо добиться, чтобы наш сценарий оставил только одну строку. Если это условие не выполняется, его выполнение будет тут же остановлено. После этого Вы можете доводить до совершенства строку, на которой он будет остановлен.
  • Пропустить (игнорировать) эту ставку. Допустим мы сделали строку с множеством вариантов выполнения (как это делается мы подробнее рассмотрим позже); некоторые из них получились оптимальными и дают только одну комбинацию, а некоторые – нет. Тогда, выбрав данную опцию, мы даем указание программе не делать ставок по не однозначным вариантам. Таким образом, ставки по ним не попадут в рейтинг и не будут учитываться, а Вы сможете выбрать из рейтинга только самый оптимальный и однозначный вариант. Его же можно использовать и в случае последовательного выполнения нескольких строк сценария “как одной”.
  • Не делать ставок. Этот режим предназначен для случая, когда Вам мало семи фильтров в одной строке сценария и Вы хотите продолжить обработку в следующей строке. Данный режим отличается от предыдущего только тем, что при нем не делаются ставки никогда, даже если в списке комбинаций осталась только одна строка.

Ну и последняя опция:

Дополнительная опция

Она необходима для тестирования сценариев, в которых каждой строкой создается много тысяч ставок. В этом случае файл ставок очень быстро начнет переполняться, и программа начнет работать все медленнее и медленнее. В этом случае можно установить этот “флажок” и файл ставок будет автоматически очищаться перед каждой строкой сценария, однако рейтинг будет накапливаться как обычно. А по рейтингу можно будет оценить и эффективность ставок (в данном случае собственно сами ставки будут не важны, так как их очень много).

Перед тем, как добавлять в нашу строку сценария любые фильтры, я рекомендую просчитать выбранные методы “вручную” (то есть на вкладке “Статистика“) и проанализировать результаты. И только потом добавлять выбранные фильтры в сценарий. Поэтому нажмем кнопку “ОК”, сохранив выбранные нами опции строки; и временно перейдем во вкладку “Статистика“.

 


Первый фильтр – сумма всех номеров тиража

В качестве первого фильтра выберем статистику по сумме тиража. Давайте посмотрим на график сумм для всех возможных комбинаций (сделать это можно через меню “Статистика” – “Распределение сумм тиражей и всех возможных комбинаций“):

График распределения сумм для всех возможных комбинаций

На графике темно-красной линией обозначены суммы всех возможных комбинаций, ярко-красными точками и линией – суммы всех тиражей, которые есть в архиве программы. По графику видно, что суммы на краях графика выпадают значительно реже тех, что расположены на графике ближе к центру. Соответственно – их можно удалить, сократив таким образом количество комбинаций.

Примечание: строго говоря, это не совсем правильно. Точнее – совсем не правильно. Такие суммы выпадают реже потому, что их просто меньше, а относительная вероятность выпадения от их общего количества (темно-красная линия) может быть даже выше наиболее “популярных” сумм. Но… этим фильтром пользуются очень часто, нет, очень-очень часто, поэтому рассмотрим именно его.

Допустим, мы хотим убрать комбинации с суммами ниже середины графика (например: для 5*36 это суммы до 72 и более 113) Убрать комбинации с маловероятными суммами можно несколькими способами. Для того, чтобы было более понятно, что и как работает, рассмотрим несколько различных способов.

Способ 1. Очевидный

Самый очевидный способ – использовать статистику “Сумма всех чисел в тираже“. При использование этой статистики нужно иметь в виду, что чем больше глубина выборки – тем точнее будут результаты. Поэтому выберем 5000 тиражей (можно и больше – но чем больше, тем считает медленнее).

Статистика по суммам

По графику под статистикой видно, что на уровень в 50% приходится около 55 выпадений за 5000 последних тиражей, или 1,1% и ниже. Или по значениям (собственно суммам) это будет не более 71 и не менее 112. Вот на эти числа и будем ориентироваться.

Удалять вручную (и в сценарии) можно также двумя методами.

Что называется “в лоб” (ну или как еще в народе говорят – “что в лоб, что по лбу”, кому как больше нравится). Можно отсортировать полученную статистику по столбцу “Значение“, выделить все суммы от минимальной до 71 включительно (удерживая клавишу Shift), затем нажать кнопку “Удалить выделенные“. Затем тоже самое проделать с суммами от 112 и более.

Удаление комбинаций в начале списка статистики

Чем плох данный способ? Во-первых, нужно выполнить две отдельных операции для двух диапазонов сумм (до 71 и после 112 включительно). Во-вторых – рассчитанные суммы часто “скачут”, особенно на небольших выборках (у нас 5000 тиражей, но и при такой большой выборке часто бывают флуктуации). Поэтому такое решение “в лоб” – не наш метод (хотя я немного позже все равно покажу, как реализовать его в сценарии, для информации).

Более продвинутый способ – использовать значения столбцов “Количество” или “Количество в %“. Для этого отсортируем нашу таблицу по столбцу “Количество“:

Удаление комбинаций в конце списка статистики

Затем нужно выделить значения с “количеством” 55 или менее, либо, ориентируясь по “количеству в %” – с значениями 1,1% и меньше. И нажать “Удалить выделенные“.

Что получилось? Во-первых удаление можно выполнить за одну команду (одно нажатие кнопки). Во-вторых – мы уже не так сильно зависим от самих значений – они могут от тиража к тиражу “прыгать” вверх – вниз, но мы удалим только те, которые действительно выпадают реже (за выбранный диапазон тиражей, разумеется).

Теперь попробуем реализовать тоже самое в фильтрах сценария. Вернемся на вкладку “Сценарий“, и вновь откроем нашу строку в встроенном редакторе. Для этого нужно выбрать команду “Изменить” или щелкнуть на выбранной строке дважды. В списке фильтров необходимо нажать на кнопку справа от первого фильтра:

Открываем редактор фильтров

Откроется еще один визуальный редактор – редактор фильтра. По умолчанию в него подставляется те же самые метод расчета и глубина выборки, что и на вкладке “Статистика”, поэтому ничего дополнительно подставлять не нужно:

Редактор фильтров

Здесь следует обратить особое внимание, что при работе сценария статистика всегда отсортирована только по столбцу “Количество”. Здесь можно только выбирать, в каком направлении двигаться по списку – “сверху-вниз”, то есть от начала списка к концу (по убыванию “количества” / “популярности”); либо “снизу-вверх”, то есть от конца списка к началу (по возрастанию “количества” / “популярности”).

 

Итак, вначале попробуем реализовать вариант, который выше назван “в лоб”, то есть просто удалив все значения до 71 и после 112 включительно. Для этого мы должны “указать” программе, какие именно значения мы хотим удалить. Делается это с помощью селектора “Режим выделения значений в списке статистики“. Сами значения мы будем указывать в поле “Значения“. Список значений можно задавать через запятую (15,16,17 и т.д.), но это долго и утомительно; или диапазоном – (10-71;1 , то есть от 10 до 71 с шагом 1, нижний предел берем сразу “с запасом”), но нельзя задать сразу два диапазона. Поэтому, как и в ручном варианте придется разбить наш фильтр на два похожих фильтра, но с разными диапазонами:

Диапазон 1

Диапазон 2

Эти записи для программы при выполнении сценария означают буквально следующее:

  • Считаем статистику “Сумма всех чисел в тираже” для выборки в 5000 последних тиражей.
  • Проходим полученный список “сверху-вниз” (в данном случае нам это совсем не важно, так как мы будем обрабатывать весь список).
  • Выделяем строки, значения которых попадают в заданный диапазон.
  • Обрабатываем все строки статистики (то есть пока не дойдем до последней, если движемся “сверху-вниз“). Значение ( 1 ) в данном случае – бесполезно.
  • Удаляем выделенные” значения. То есть удаляем из списка комбинаций те, суммы которых соответствуют выделенным значениям.
  • Флаг “Использовать режим одновременного выделения нескольких значений в списке” при удалении не имеет особого значения – можно удалять “построчно”, а можно и скопом (как описано в “ручном” примере чуть выше). А вот для режима “оставить выделенные” иногда разница может быть принципиальной (это подробнее описано в справочной системе и немного в предыдущей статье).

В результате вместо одного фильтра получим два:

Редактор строки сценария (фрагмент)

Думаю, многие согласятся, что это не очень эффективно – мало того, что “тратим” сразу два фильтра из семи возможных вместо одного. Так еще и статистика будет считаться два раза, то есть сценарий будет работать медленнее.

Теперь рассмотрим второй случай – удалим только строки с “количеством” 55 или менее. В этом случае фильтр будет выглядеть так:

Удаляем суммы, которых мало в статистике

Эта запись означает следующее:

  • Считаем статистику “Сумма всех чисел в тираже” для выборки в 5000 последних тиражей.
  • Проходим полученный список “снизу-вверх” (не забываем, что сортировка в сценариях только по столбцу “количество“). Поскольку мы не ограничиваем работу данного фильтра режимом остановки и “обрабатываем все записи“, то это не имеет никакого значения, но выглядит несколько логичнее.
  • Выбираем режим выделения по “Количество – не более заданного значения” и указываем максимальное значение – 55. То есть все что “55 и меньше” – будет выделено, что больше – нет. (примечание: в принципе, можно выбрать и режим выделения “Количество – не менее заданного значения“, но тогда нужно будет выбирать режим фильтра “Оставить выделенные” + “Использовать режим одновременного выделения нескольких значений в списке“)
  • Обрабатываем все строки статистики (то есть пока не дойдем до первой, если движемся “снизу-вверх“).
  • Удаляем выделенные” значения.
  • Флаг “Использовать режим одновременного выделения нескольких значений в списке” при удалении не имеет особого значения – можно удалять “построчно”, а можно и скопом (как описано в “ручном” примере чуть выше). А вот для режима “оставить выделенные” иногда разница может быть принципиальной (это подробнее описано в справочной системе и немного в предыдущей статье).

Получаем такую строку первого фильтра:

Более оптимальный вариант

Уже гораздо лучше… Сохраняем созданную “заготовку” сценария, нажав кнопку “ОК”.

Примечание: здесь я пока намеренно не использую столбцы “Норма”, “Отклонение”, “Глубина”, “Вес” – их назначение и использование рассмотрим позже.

 


Проверка правильности работы фильтра

Добавив первый фильтр в наш сценарий, я рекомендую его сразу же проверить на корректность. Особенно в начале освоения программы, когда еще не очень понятно, “что и как”. Как это сделать?

Для того, чтобы проконтролировать выполнение любого сценария, предусмотрен “Журнал выполнения сценария”. Если включить эту опцию, то при выполнении сценария в текстовый файл будут подробно записываться все действия, выполняемые программой. Включить эту опцию можно с помощью меню “Сценарий” – “Журнал выполнения сценария“:

Включаем журнал выполнения сценария

И запускаем наш сценарий (пока еще только с одним фильтром) на выполнение, нажав кнопку “Тест” (количество тестов можно выбрать любое – от 1 и более):

Запускаем сценарий на тестовый прогон

После того, как сценарий отработает указанное количество тестов, на экран будет выведено окно с результатами его (сценария) работы. Выглядит это примерно так:

Проверяем журнал выполнения сценария

В этот файл подробно выводятся все действия – какой фильтр применяется, рассчитанные данные статистики, какие строки удаляются / оставляются и т.д.. Прокрутив журнал, мы увидим следующие строки:

Проверяем журнал выполнения сценария

Как видно из текста, программа сделала 110 шагов (то есть удалила 110 значений сумм из списка комбинаций) и остановилась, как мы ей и “приказывали” на сумме, которая за последние 5000 тиражей встретилась ровно 55 раз, или 1,1%. Все правильно!


Совет: автоматическое создание журналов выполнения сценариев – это, конечно, очень удобно для отладки. Но, как и все в этом мире, это удобство оборачивается и своими недостатками: во-первых, эти файлы со временем начинают занимать кучу места на дисках; а во-вторых – заметно замедляют выполнение сценариев. Поэтому после того, как Вы создали и отладили свой сценарий – отключите эту опцию. Файлы журналов сохраняются в той же папке, куда Вы установили программу:

Удаление журналов сценария вручную

Они всегда начинаются с строки “ScriptsLog_”, далее проставлена дата и время создания файла. В любой момент Вы можете удалить их, чтобы не занимали лишнего места на диске с помощью команды “Удалить журналы выполнения сценария” или вручную.


Способ 2. С помощью диапазонов сумм

В принципе, мы добились желаемого (в первом фильтре). Можно остановиться и на этом варианте и перейти ко второй части марлезонского балета. Но для отбора комбинаций по сумме номеров в программе предусмотрены и более эффективные фильтры: это три “диапазонных” фильтра “Сумма тиража: диапазон 1 (2, 3)“. Давайте посмотрим, как они работает, и чем они “выгоднее”. Для этого вернемся на вкладку “Статистика“. Поскольку мы решили (условно, конечно) оставить только суммы выше средней линии графика по вертикали, мы построим статистику “по уровню 1/2”:

Фильтры по диапазонам сумм

Эта статистика всегда “дает” только две строки – выше заданного “уровня”, и все остальные суммы. Например, на рисунке выше видно, что за последние 100 тиражей комбинации с суммами от 66 до 119 включительно (это и есть максимально “точный” уровень 1/2, а не как мы в прошлый раз определили “на глазок” 56-112) встречались 83 раза, остальные – 17 раз. Для того, чтобы удалить “лишние” комбинации, нам достаточно “удалить последнюю строку” или “оставить первую строку”. Быстро и эффективно! Но и это еще не все! Поскольку в фильтрации будет участвовать только одна строка, а границы диапазона заранее заданы в каждой программе – нам фактически не нужна точность расчетов и мы можем использовать любую небольшую выборку (лишь бы получилось так, что “остальные” присутствуют в списке), например в 100 или даже 50 тиражей. А такая небольшая выборка рассчитывается гораздо быстрее, чем в 5000 тиражей. Получаем тройной профит – размеры выборки не влияют на точность, скорость расчетов за счет небольшой выборки, скорость фильтрации за счет всего одной строки при обработке.

Реализуем это в фильтре сценария:

Вариант 1

То есть считаем статистику, берем только 1 запись “снизу” (то есть делаем один шаг по списку статистики) и удаляем комбинации с такими значениями сумм. И все.

Можно реализовать этот же самый фильтр несколько по другому, но результат будет абсолютно тот же самый:

Вариант 2

Я не буду подробно описывать отличия – внимательные читатели легко обнаружат их сами… А также и смогут проверить работу с помощью “Журнала выполнения сценария“.

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

 


Второй фильтр – количество “значений + 1”

Для второго фильтра выберем статистику “Количество совпадений “значений + 1”. Почему для я выбрал именно эту статистику? Да потому, что это “динамический” фильтр, результаты которого напрямую зависят от данных текущего тиража (то есть тиража, который предшествует тому, на который мы собираемся делать ставки). Он ничем не хуже и не лучше остальных, но позволяет продемонстрировать работу “динамических” фильтров. Здесь я не буду подробно описывать работу динамических фильтров, более подробно об этом Вы можете прочитать в справке в разделе “Архив тиражей” – “Текущий тираж”.

Второй фильтр – количество “значений + 1”

Посчитаем статистику в “ручном” режиме. Из полученных данных видно, что можно, например, оставить первые три значения, удалив все остальные (можно использовать и другие варианты, но мы остановимся на этом).

Хорошо, я фильтром мы определились. Но какой взять размер выборки??? Результаты расчета будут различаться в зависимости от того, сколько последних тиражей мы используем для расчета. И заранее определить, какой размер будет наиболее эффективен, зачастую невозможно. Что делать?

Да очень просто – можно задать сразу много размеров выборки, а программа при выполнении нашего сценария сделает расчет для каждого из заданных нами вариантов отдельно. После этого мы легко (с помощью рейтинга) можем выделить наиболее эффективные размеры выборки. Делается это например так:

Несколько диапазонов выборки для подбора оптимального варианта

Таким образом программа посчитает статистику для всех вариантов отдельно. И по каждому варианту будут сделаны соответствующие ставки. И они попадут в отдельные строки рейтинга. Ну а затем Вы сможете выбрать самый “удачный” размер выборки и оставить только его.

Далее, переходим к остальным параметрам нашего фильтра. Мы решили для примера оставить три верхние строки в списке посчитанных значений. Делается, как Вы наверняка уже догадались, это так:

Настройки фильтра

Расшифрую эти значения:

  • Проходим полученный список “сверху-вниз“.
  • Обрабатываем все строки статистики (на самом деле где остановится мы определим “количеством шагов“).
  • Оставляем выделенные” значения.
  • Флаг “Использовать режим одновременного выделения нескольких значений в списке” здесь уже должен быть установлен обязательно, так как при его отсутствии будет оставлено только одно, самое “верхнее” значение.
  • В параметре “Остановка по” указываем, что нужно сделать три шага по списку и остановить работу фильтра.

Все. Можно сохранить фильтр и проверить его работу с помощью журнала выполнения сценария. Как это сделать, описано выше, повторяться не буду.

 


Третий фильтр – фильтр “по числам”.

“Погоняв” в режиме теста первые два фильтра, можно увидеть, что в результате их работы в списке комбинаций остается порядка ~288 тысяч комбинаций (для Гослото 5 из 36). То есть из всех возможных ~377 тысяч мы удалили чуть меньше ста тысяч. Осталось еще очень много. Что ж, будем исправлять это недоразумение.

В качестве последнего фильтра в любом сценарии лично я чаще в сего использую самый простой фильтр – “Все числа в тираже”. Почему? Да просто потому, что его применение позволяет легко довести количество комбинаций до максимально возможного минимума. Впрочем, это лично мой выбор, в своих сценариях Вы можете использовать другие способы.

Как и прежде, вначале посчитаем статистику “вручную”:

Статистка “по числам”

Судя по скриншоту, за последние 50 тиражей самое “горячее” число – это 3, оно повторялось 11 раз; затем идут 23, 32, ну и так далее. Самое холодное – 34, оно выпало всего 2 раза за 50 последних тиражей.

Многие пользователи пишут, что “горячие / холодные” числа в таком виде – не информативные. Да, я частично согласен. Но в “информативном виде” они будут абсолютно непригодны для использования в сценариях; а в текущем виде с ними можно делать что и как угодно. А сценарии – это главное их предназначение.

Обратите внимание на столбец “Вес“. В этом фильтре мы будем ориентироваться по нему. “Вес” – это интегрированный коэффициент, который вычисляется по формуле: ВЕС = a * “Количество” + b * “Отклонение” + c * “Глубина”. Коэффициенты a, b и c задаются в настройках программы. Для чего это нужно? Ну например, если какое-либо число давно не выпадало (“глубина” большое), шанс его появления в следующем тираже растет. Или если оно выпадало намного ниже среднего, то есть значение “отклонение” отрицательное. Сложив эти коэффициенты, можно с большей долей вероятности прогнозировать вероятность его появления в следующем тираже. Ну и количество можно использовать, а можно и не использовать, указав коэффициент a=0. Коэффициенты можно задавать не только положительные, но и отрицательные, тем самым инвертируя значения по своему вкусу.

Важно отметить, что результаты работы сценария с использованием данных столбца “Вес” сильно зависят от использованных Вами коэффициентов. Поэтому результаты выполнения сценария у Вас и у меня могут сильно различаться – это необходимо иметь в виду. В данном случае этот столбец использован только для того, чтобы максимально полно продемонстрировать возможности программы.

Конечно, Вы можете использовать столбцы “Отклонение” и “Глубина” по отдельности.

Примечание: для использования “Отклонения” (в любом виде, в том числе и в столбце “Вес”) необходимо, чтобы был включен режим сравнения с полным набором комбинаций.

Итак, составим фильтр. У меня он получился такой:

Пример фильтра “по числам”

Что это означает:

  • Количество тиражей” (размер выборки), как и в предыдущим фильтре, зададим в виде списка, чтобы “попробовать” несколько вариантов.
  • Двигаться по полученному списку будем “внизу-вверх“, а не наоборот. Впрочем можно составить фильтр и в обычном порядке, только некоторые другие параметры нужно будет соответственно переключить.
  • По мере нашего движения будем “удалять выделенные” значения. То есть будут удаляться самые непопулярные числа (мы же движемся снизу вверх).
  • Флаг “Использовать режим одновременного выделения нескольких значений в списке” лучше убрать, чтобы каждая строчка обрабатывалась отдельно.
  • Удалять непопулярные числа мы будем не все, а только те, “вес” которых не превышает заданного значения. Стоп! А какого значения? А давайте его зададим тоже в виде списка, только в несколько ином виде – начиная с “+0” до “+50” с шагом 5 : 0, 5, 10, 15, …, 45, 50.
  • Остановка по: “Пока список не будет пуст и откатить на шаг“. Когда следует остановить работу? Когда будет достигнуто минимальное количество комбинаций. Заранее мы не можем знать сколько их останется, может 1, а может 10. Поэтому поступим так – будем “работать” до тех пор, пока в списке не останется вообще ничего, а потом откатим последний фильтр. Это и будет минимальное количество комбинаций.

Сохраняем.

Набор из трех фильтров

Можно запускать и проверять… Запускаем:

Вариантов получилось довольно много

У нас вместо одной строки сценария получилось 275 различных отдельных вариантов. Это произошло потому, что во втором фильтре мы использовали 5 размеров выборки, в третьем тоже 5 размеров выборки, а также 11 вариантов “веса”. Посчитаем: 5 * 5 * 11 = 275 вариантов. Что и следовало ожидать.

Ставки тоже получаются все “пронумерованы” по созданным вариантам (в поле “Комментарий”):

Сделанные автоматические ставки

Можно заметить, что скрипт не всегда “достигает” одной оставшейся комбинации – это видно по столбцу “Выборка”, оно показывает сколько комбинаций оставалось в списке на момент создания ставки. Это не есть хорошо, и “плохие” значения, при которых создавались такие ставки, можно удалить из списков фильтров.

На вкладке “Рейтинг” можно посмотреть эффективность созданных нашим сценарием ставок:

Рейтинг автоматических ставок

В заключение хотелось бы отметить, что для того, чтобы правильно оценить эффективность создаваемого сценария следует тестировать его на большом количестве тиражей. Сценарий, которые показывает отличные результаты на 10 последних тиражах, на 1000 тиражей может дать отрицательный результат. Поэтому, прежде чем делать реальные ставки на реальные деньги, советую прогнать Ваш сценарий на большом количестве тиражей. Да, это может занять много времени. Впрочем, что важнее – время или проигранные впустую деньги – решать конечно же Вам 🙂


Вот в принципе и все. Спасибо за внимание.


Пожалуйста, оцените статью:
[ 0 из 5, всего 0 оценок ]

2 комментария для “Как создавать сценарии в программе для лото”

  1. Соколов Михаил Олегович

    Привет Александр!
    Пожалуйста, проконсультируйте. Анализ статистики лотерей. Системы и сценарий. Для подстановку в систему 36 5 83 требуется результаты фильтра “Числа тиража” отсортировать по “Глубине” начиная с 1 и т.д. Должна получиться последовательность из 36 номеров от самого свежего тиража в глубину по убыванию. В ручную это просто сделать. Как в сценарии отсортировать?

  2. Соколов Михаил Олегович

    Почему системы не совпадают загруженная и ставки в ручном режиме по полной системе. Полагаю подстановки быть не должно.
    в описании системы первые ставки
    01 02 03 11 27
    01 02 04 11 36
    01 02 08 13 20
    01 02 12 26 28
    01 03 04 26 27
    01 03 08 13 27
    01 03 12 27 36
    01 03 20 27 28
    01 04 08 12 13
    01 04 20 28 36
    01 08 11 13 28
    01 08 13 26 36
    01 11 12 20 26
    02 03 04 13 28
    в итоге ставок
    1 2 3 10 11
    1 2 4 5 7
    1 2 4 6 9
    1 2 5 6 8
    1 3 4 8 10
    1 3 5 9 10
    1 3 6 7 10
    1 4 5 6 11 1 7 8 9 11
    2 3 4 5 6

Обсуждение закрыто.