# MetaTrader 5 and MQL5 gitignore template
# Project homepage: https://www.metatrader5.com/en

# Compiled MQL5 executables (binaries)
# These are generated from .mq5 source files and should not be committed.
*.ex5
# For MQL4 compatibility if you also manage MT4 projects in a similar structure
*.ex4

# Log files
# Terminal logs, strategy tester logs, and custom logs from Print() functions.
*.log
# Strategy Tester logs
*.slog

# Strategy Tester specific files
# History data, optimization results, and temporary files used by the tester.
# FXT files (history data for testing)
*.fxt
# History data files (can be large)
*.hst
# Initialization files (often generated by tester or EAs)
*.ini
# Data files (various purposes, often temporary)
*.dat
# CSV export files (e.g., from tester reports)
*.csv
# Journal files (tester journal)
*.jrn

# Market Watch sets and profiles
# User-specific lists of symbols in Market Watch, and terminal profiles.
# Market Watch symbol sets
# *.set
# Chart templates
# *.tpl
# Chart settings files (can be generated when saving templates or profiles)
# *.chr

# External libraries (DLLs)
# If you use custom DLLs, you might want to ignore them if they are built separately
# and not part of your MQL5 source code repository.
*.dll

# User-specific configuration and credentials
# Files containing sensitive information or local user settings.
# Environment variables (e.g., for Python integration credentials)
.env
# Configuration files (if not meant to be shared)
*.cfg
# Be careful: if you have config JSONs you *do* want to commit, add specific exceptions.
*.json
# Example: !config.json (to include config.json but ignore other *.json)

# Temporary files and backup files generated by MetaEditor
# Temporary files (e.g., ~MyScript.mq5)
*.~*
# Backup files (e.g., MyScript.mq5.bak)
*.bak
*.mqh.bak
*.mq5.bak

# MetaEditor project files
# Project files for MetaEditor workspaces.
.mqproj

# Python specific ignores (if you also keep Python scripts or Jupyter notebooks in this repository)
# These are relevant if your Git repo root is higher up (e.g., the terminal folder itself)
# or if you mix Python code within your MQL5 structure.
# Python compiled bytecode cache
__pycache__/
# Jupyter Notebook checkpoints
.ipynb_checkpoints/
# Python compiled files
*.pyc
# Python dynamic modules
*.pyd

### Git ###

# Created by git for backups. To disable backups in Git:

# $ git config --global mergetool.keepBackup false
*.orig

# Created by git when using merge tools for conflicts
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt

### Windows ###

# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk
