Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Аналіз ліквідності EUR/USD по торгових сесіях

Опис проекту

Цей проект реалізує комплексний аналіз ліквідності валютної пари EUR/USD по основних торгових сесіях (Азія, Франкфурт, Лондон, Нью-Йорк) згідно з технічним завданням.

Основні функції

  • Обробка даних: Завантаження M1 даних з CSV/XLSX файлів
  • Розрахунок рівнів: Asia High/Low/Mid, PDH/PDL
  • Аналіз sweep: Frankfurt і London sweep рівнів
  • Визначення напрямків: Основний рух сесій та типи sweep
  • Розрахунок метрик: Розширення, rebalance, retests
  • Статистика: Детальна статистика по всіх параметрах

Структура файлів

artem/
├── liquidity_analyzer.py    # 🔧 Основний скрипт аналізу
├── interactive.py           # 🖥️  Інтерактивний інтерфейс
├── validator.py             # ✅ Валідація даних
├── show_results.py          # 📊 Демонстрація результатів
├── config.py               # ⚙️  Конфігурація
├── run_analysis.sh         # 🚀 Скрипт швидкого запуску
├── requirements.txt        # 📚 Залежності Python
├── README.md              # 📖 Ця інструкція
└── DAT_MT_EURUSD_M1_202505.csv  # 📈 Вхідні дані

Встановлення

  1. Встановіть Python 3.8 або новішу версію
  2. Створіть та активуйте віртуальне середовище:
python -m venv venv
source venv/bin/activate  # На macOS/Linux
# або
venv\Scripts\activate     # На Windows
  1. Встановіть необхідні бібліотеки:
pip install -r requirements.txt

⚠️ ВАЖЛИВО: Завжди активуйте віртуальне середовище перед запуском скриптів!

🎯 ПРОСТИЙ ЗАПУСК (для "простих смертних")

Графічний інтерфейс - БЕЗ ТЕРМИНАЛУ!

macOS/Linux:

# Подвійний клік на файл:
./Запуск анализатора.command

# Або в терміналі:
./run_gui.sh

Windows:

# Подвійний клік на файл:
run_gui.bat

Особливості GUI:

  • 🖱️ Простий графічний інтерфейс ✅ (tkinter встановлено)
  • 📁 Вибір файлів через діалог
  • 📊 Візуальний прогрес обробки
  • 🎯 3 вкладки: один файл / масова обробка / довідка
  • 🔄 Автоматична установка залежностей
  • 📝 Детальні логи процесу
  • 🚀 Підтримка масової обробки

Використання

1. Інтерактивний режим (рекомендується)

source venv/bin/activate
python menu.py

Інтерактивне меню (menu.py) дозволяє:

  • 🔍 Валідувати вхідні дані
  • ⚡ Запускати повний аналіз одного або всіх файлів
  • 📊 Переглядати результати та статистику
  • 🗂️ Перевіряти статус папок і файлів
  • 🆘 Отримувати довідку

2. Автоматичний запуск

./run_analysis.sh

3. Ручний запуск

source venv/bin/activate
python liquidity_analyzer.py

Вхідні дані

Програма очікує CSV файл з наступною структурою:

  • Date — у форматі YYYY.MM.DD
  • Time — у форматі HH:MM
  • Open, High, Low, Close — BID-ціни
  • Volume — ігнорується

Вихідні файли

Результати зберігаються у файлі liquidity_analysis_results.xlsx з двома аркушами:

  • Analysis_Results: Детальні результати по кожному дню
  • Statistics: Загальна статистика

Параметри аналізу

Часові сесії (UTC+3)

  • Азія: 02:00 – 10:00
  • Франкфурт: 09:00 – 10:00
  • Лондон: 10:00 – 15:00
  • Нью-Йорк: 15:00 – 19:00

Константи

  • Розмір пункту: 0.00010
  • Мінімальне пробиття: 1 пункт (0.00010)
  • Допуск для Asia Mid: ±3 пункти (0.00030)

Вихідні колонки

Основні дані

  • Дата, день тижня
  • Asia High/Low/Mid
  • PDH/PDL (попередній день)

Frankfurt Sweep

  • Frankfurt Sweep High/Low
  • Час sweep

London Sweep

  • London Sweep High/Low
  • Sweep Type (Continue/Sweep and Reverse/No Sweep)
  • Основний рух Лондону (Long/Short)
  • Rebalance (Yes/No)

Метрики розширення

  • Розширення в пунктах та %
  • Час до максимуму/мінімуму
  • Reverse після sweep
  • Retests рівнів

New York аналіз

  • NY Direction (Long/Short)
  • NY Status (Support/Reverse)
  • NY розширення в обидві сторони

Алгоритм роботи

  1. Завантаження даних: Читання CSV, перетворення часу в UTC+3
  2. Обробка по днях: Для кожного дня розрахунок всіх метрик
  3. Розрахунок рівнів: Asia High/Low/Mid, PDH/PDL
  4. Аналіз sweep: Перевірка пробиття рівнів у Frankfurt і London
  5. Визначення напрямків: Основний рух після sweep
  6. Розрахунок метрик: Розширення, rebalance, retests
  7. Збереження результатів: Експорт в Excel з статистикою

Приклади використання

Базовий аналіз

from liquidity_analyzer import LiquidityAnalyzer

# Створення аналізатора
analyzer = LiquidityAnalyzer()

# Завантаження даних
df = analyzer.load_data("your_data.csv")

# Аналіз періоду
results = analyzer.analyze_period(df)

# Збереження результатів
analyzer.save_results(results, "results.xlsx")

Аналіз конкретного дня

from datetime import datetime
import pandas as pd

# Аналіз конкретної дати
specific_date = pd.Timestamp('2025-05-15')
day_result = analyzer.analyze_day(df, specific_date)

print(f"Sweep Type: {day_result['sweep_type']}")
print(f"Extension: {day_result['extension_pips']} pips")

Валідація даних

from validator import validate_input_file

# Перевірка якості даних
is_valid = validate_input_file("data.csv")
if is_valid:
    print("✅ Дані готові для аналізу")

Результати аналізу

Після завершення аналізу створюється Excel файл з двома аркушами:

Analysis_Results

Містить детальні результати по кожному дню:

  • Основні дані (дата, день тижня)
  • Asia рівні (High/Low/Mid)
  • Frankfurt і London sweep
  • Типи sweep та напрямки руху
  • Метрики розширення та rebalance
  • New York аналіз

Statistics

Загальна статистика по всіх параметрах:

  • Частота різних типів sweep
  • Розподіл по днях тижня
  • Середні показники розширення
  • Корелаційний аналіз

Технічні особливості

  • Обробка помилок: Захист від ділення на нуль, відсутніх даних
  • Точність: Розрахунки з точністю до 5 знаків після коми
  • Продуктивність: Оптимізована обробка великих обсягів даних
  • Гнучкість: Легко налаштовувані параметри сесій та констант

Автор

GitHub Copilot

Ліцензія

MIT License


🚀 СИСТЕМА МАССОВОЙ ОБРАБОТКИ ФАЙЛОВ (v2.0)

Новые возможности

📁 Структура папок

artem/
├── files/                  # 📥 Входные файлы (CSV/XLSX)
├── results/                # 📤 Результаты анализа
├── menu.py                 # 🎯 Интерактивное меню
├── batch_analyzer.py       # 🔬 Массовая обработка
├── liquidity_analyzer.py   # 🧮 Основной анализатор
└── README.md               # 📖 Документация

🎯 Способы запуска

1. Интерактивное меню (рекомендуется)

python menu.py

Меню предоставляет:

  • 1️⃣ Анализ одного файла (интерактивный режим)
  • 2️⃣ Массовая обработка файлов (папка files/)
  • 3️⃣ Показать статус папок
  • 4️⃣ Помощь и инструкции

2. Массовая обработка

python batch_analyzer.py

3. Одиночный анализ

python liquidity_analyzer.py

🔥 Преимущества новой системы

Автоматическая обработка - просто поместите файлы в папку files/
Множественные форматы - поддержка CSV и XLSX
Автоматическое именование - результаты с временными метками
Сводные отчеты - статистика по всем обработанным файлам
Обработка ошибок - детальные логи проблемных файлов
Большие объемы - оптимизировано для многолетних данных

📊 Пример массовой обработки

Если у вас есть файлы:

files/
├── DAT_MT_EURUSD_M1_2014.csv
├── DAT_MT_EURUSD_M1_2015.csv
├── DAT_MT_EURUSD_M1_2016.csv
└── ...

После запуска python batch_analyzer.py получите:

results/
├── liquidity_analysis_EURUSD_2014_20250611_223045.xlsx
├── liquidity_analysis_EURUSD_2015_20250611_223145.xlsx
├── liquidity_analysis_EURUSD_2016_20250611_223245.xlsx
├── ...
└── batch_analysis_summary_20250611_223345.xlsx

🛠️ Функции batch_analyzer.py

  • Автоматическое определение валютной пары и периода из имени файла
  • Обработка ошибок с детальными логами
  • Прогресс-индикатор для отслеживания процесса
  • Сводный отчет по всем обработанным файлам
  • Временные метки для уникальности результатов

💡 Советы по использованию

  1. Подготовка файлов: Поместите все CSV/XLSX файлы в папку files/
  2. Именование: Используйте понятные имена файлов (например: EURUSD_2024.csv)
  3. Мониторинг: Используйте опцию 3 в меню для проверки статуса
  4. Большие данные: Система оптимизирована для многолетних исторических данных

🔧 Настройка

Для изменения настроек отредактируйте:

  • config.py - основные параметры анализа
  • batch_analyzer.py - параметры массовой обработки

Обновлено: Июнь 2025
Версия: 2.0 с поддержкой массовой обработки

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages