Python GUI application for simulating the Martingale betting strategy (doubling the bet after a loss) with real-time visualization.
- Martingale Simulation with customizable parameters
- Initial deposit, maximum bet limit, bet multiplier
- Delay between rounds (for visual mode)
- Win probability (0–100%)
- Withdrawal options (fixed amount or percentage from deposit)
- Simulation Modes
- Step-by-step simulation with visual feedback for each round
- Fast simulation (no delay)
- Batch mode – run multiple simulations in sequence for statistical analysis
- Real-time Visualization
- Dynamic charts for deposit, bet size, and savings using
matplotlib - Interactive plots that update during simulation
- Dynamic charts for deposit, bet size, and savings using
- Data Management
- Export simulation results to CSV
- Load previously saved simulations
- Modern Interface
- Multiple color themes (Light, Dark, Blue, Green, Pink)
- Bilingual support: Russian and English
- Editable presets (Classic, Aggressive, Conservative)
Screenshots can be placed here.
- Python 3.8 or higher
- Required libraries:
matplotlibtkinter(included with Python standard distribution)
# Clone the repository
git clone https://github.com/zedraider/CurholeViev.git
cd CurholeViev
# Install dependencies
pip install matplotlib
# Run the application
python curholeview.py
| Parameter | Description |
|---|---|
| Deposit | Initial bankroll amount |
| Max bet | Upper limit for each bet (0 = unlimited) |
| Multiplier | Factor by which the bet increases after a loss |
| Delay (sec) | Pause between rounds in visual mode |
| Withdraw on win ($) | Fixed amount transferred to savings on a win |
| Withdraw % from deposit | Percentage of current deposit transferred to savings (can be restricted to winning rounds only) |
| Win probability (%) | Chance of winning each round |
| Only on win (percent) | If enabled, percentage withdrawal applies only after a winning round |
- Start – begin simulation
- Stop – stop running simulation
- Reset – clear all data and reset parameters to defaults
- Save CSV – export results to a file
- Load CSV – import previously saved simulation
- Fast simulation – disables delay between rounds for rapid execution
Run a series of simulations (1 to 1000) with current parameters.
Upon completion, a results window displays:
- Average profit
- Average number of rounds
- Number of winning / losing simulations
- Win rate percentage
- Detailed results table (final balance, savings, profit, rounds)
- Themes: Light, Dark, Blue, Green, Pink – select from Settings → Theme
- Language: Russian or English – select from Language menu
From the menu Settings → Preset settings, you can modify the three preset profiles (Classic, Aggressive, Conservative). Changes apply for the current session.
CurholeViev/
├── curholeview.py # main application file
├── requirements.txt # dependencies (matplotlib)
├── requirements-dev.txt # development dependencies
├── tests/ # unit tests
├── .github/ # GitHub Actions configuration
├── dist/ # built releases (not in repository)
└── README.md # this file
Install additional dependencies from requirements-dev.txt, then run:
pytest tests/
Code formatting:
ruff format .
ruff check .
Contributions are welcome! Feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add: AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure tests pass before submitting PRs.
This project is distributed under the MIT License. See the LICENSE file for details.
Alexey Melnikov
zedraider@bk.ru
GitHub: @zedraider
Python GUI приложение для моделирования стратегии Мартингейла (удвоение ставки после проигрыша) с визуализацией в реальном времени.
- Симуляция Мартингейла с настраиваемыми параметрами
- Начальный депозит, максимальная ставка, множитель ставки
- Задержка между раундами (для визуального режима)
- Вероятность выигрыша (0–100%)
- Снятие выигрыша (фиксированная сумма или процент от депозита)
- Режимы работы
- Пошаговая симуляция с отображением каждого раунда
- Быстрая симуляция (без задержки)
- Пакетный режим – запуск нескольких симуляций подряд для статистики
- Визуализация
- Графики депозита, размера ставки и накоплений в реальном времени
- Использование
matplotlibдля интерактивных графиков
- Управление данными
- Сохранение результатов в CSV
- Загрузка ранее сохранённых симуляций
- Интерфейс
- Современный дизайн с темами (светлая, тёмная, синяя, зелёная, розовая)
- Поддержка двух языков: русский и английский
- Редактируемые пресеты (Классика, Агрессивная, Консервативная)
Здесь можно разместить скриншоты приложения.
- Python 3.8 или выше
- Библиотеки:
matplotlibtkinter(входит в стандартную поставку Python)
# Клонируйте репозиторий
git clone https://github.com/zedraider/CurholeViev.git
cd CurholeViev
# Установите зависимости
pip install matplotlib
# Запустите приложение
python curholeview.py
| Параметр | Описание |
|---|---|
| Депозит | Начальная сумма на счёте |
| Макс. ставка | Верхний предел ставки (0 = без ограничений) |
| Множитель | Коэффициент увеличения ставки после проигрыша |
| Задержка (сек) | Пауза между раундами в визуальном режиме |
| Снимать с выигрыша (₽) | Фиксированная сумма, которая переводится в накопления при выигрыше |
| Снимать % с депозита | Процент от текущего депозита, переводимый в накопления (можно ограничить только выигрышными раундами) |
| Вероятность выигрыша (%) | Шанс выигрыша в каждом раунде |
| Только при выигрыше (процент) | Если включено, процент снимается только после выигрышного раунда |
- Старт – начать симуляцию
- Стоп – остановить симуляцию
- Сброс – очистить данные и сбросить параметры к значениям по умолчанию
- Сохранить CSV – экспортировать результаты в файл
- Загрузить CSV – импортировать ранее сохранённую симуляцию
- Быстрая симуляция – отключает задержку между раундами
Позволяет запустить серию симуляций (от 1 до 1000) с текущими параметрами.
После завершения отображается окно со статистикой:
- Средняя прибыль
- Среднее количество раундов
- Количество выигрышных / проигрышных симуляций
- Процент выигрышных симуляций
- Таблица детальных результатов (итоговый баланс, накопления, прибыль, число раундов)
- Темы: светлая, тёмная, синяя, зелёная, розовая – выбираются в меню Настройки → Цветовая тема
- Язык: русский или английский – меню Язык
В меню Настройки → Настройки пресетов можно изменить параметры трёх предустановленных профилей (Классика, Агрессивная, Консервативная). Изменения сохраняются на время сеанса.
CurholeViev/
├── curholeview.py # основной файл приложения
├── requirements.txt # зависимости (matplotlib)
├── requirements-dev.txt # зависимости для разработки
├── tests/ # юнит-тесты
├── .github/ # конфигурация GitHub Actions
├── dist/ # собранные версии (не входят в репозиторий)
└── README.md # этот файл
Для запуска тестов установите дополнительные зависимости (из requirements-dev.txt), затем выполните:
pytest tests/
Форматирование кода:
ruff format .
ruff check .
Приветствуются любые вклады! Смело отправляйте Pull Request.
- Форкните проект
- Создайте ветку (
git checkout -b feature/AmazingFeature) - Зафиксируйте изменения (
git commit -m 'Add: AmazingFeature') - Отправьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
Пожалуйста, убедитесь, что тесты проходят перед отправкой PR.
Проект распространяется под лицензией MIT. Подробности в файле LICENSE.
Алексей Мельников
zedraider@bk.ru
GitHub: @zedraider
Если этот инструмент оказался полезен, поставьте звезду ⭐ на GitHub!