Major refactor: Streamline EA structure and fix compilation errors

- Consolidated all trading logic into single SniperEA.mq5 file
- Fixed all compilation errors (0 errors, minimal warnings)
- Removed complex modular structure that was causing issues
- Added comprehensive pattern detection (OB, BOS, FVG, Liquidity Sweeps)
- Implemented multi-timeframe analysis framework
- Added VS Code configuration for MT5 development
- Created implementation plan for completing core trading logic
- Added validation report and build scripts
- Backup original working version as SniperEA_backup.mq5

Status: 45% complete - Pattern detection working, core trading logic pending
This commit is contained in:
rithsila
2025-09-25 20:39:27 +07:00
parent b6166d4246
commit ec06657613
48 changed files with 4785 additions and 29177 deletions
+38
View File
@@ -0,0 +1,38 @@
[
{
"key": "f7",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Compile Current File",
"when": "editorTextFocus && resourceExtname == '.mq5'"
},
{
"key": "ctrl+f7",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Compile with Script",
"when": "editorTextFocus && resourceExtname == '.mq5'"
},
{
"key": "shift+f7",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Check Syntax",
"when": "editorTextFocus && resourceExtname == '.mq5'"
},
{
"key": "f5",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Compile SniperEA",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+f7",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Verify Deployment",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+o",
"command": "workbench.action.tasks.runTask",
"args": "MQL5: Open MT5 Directory",
"when": "editorTextFocus"
}
]
+24
View File
@@ -0,0 +1,24 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "MQL5 Debug",
"type": "cppdbg",
"request": "launch",
"program": "C:\\Program Files\\MetaTrader 5\\terminal64.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
+77
View File
@@ -0,0 +1,77 @@
{
"C_Cpp.default.includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/src/Include",
"C:\\Users\\$\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075\\MQL5\\Include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.errorSquiggles": "disabled",
"C_Cpp.autocompleteAddParentheses": true,
"files.exclude": {
"**/*.ex4": true,
"**/*.ex5": true,
"**/*_@!!@.mq4": true,
"**/*_@!!@.mq5": true,
"**/*_@!!@.mqh": true,
"**/*_@!!@.log": true
},
"files.associations": {
"*.mqh": "cpp",
"*.mq4": "cpp",
"*.mq5": "cpp"
},
"editor.tabSize": 3,
"C_Cpp.default.forcedInclude": [
"c:\\Users\\$\\.vscode\\extensions\\l-i-v.mql-tools-2.2.0\\data\\mql5_en.mqh"
],
// MQL Tools Extension Configuration
"mql_tools.metaeditor_path": "C:\\Program Files\\MetaTrader 5\\MetaEditor64.exe",
"mql_tools.include_path": "${workspaceFolder}\\src\\Include",
"mql_tools.mql5_directory": "C:\\Users\\$\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075\\MQL5",
"mql_tools.enable_compilation": true,
"mql_tools.enable_script_compilation": true,
"mql_tools.auto_update_mt": true,
"mql_tools.copy_to_mql_directory": true,
"mql_tools.enable_optimization": true,
"mql_tools.enable_simd": true,
"mql_tools.strict_compilation": false,
"mql_tools.show_compilation_output": true,
"mql_tools.enable_auto_deployment": true,
// Enhanced MQL5 Development Settings
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.renderWhitespace": "boundary",
"editor.rulers": [
80,
120
],
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 120,
"editor.minimap.enabled": true,
"editor.minimap.showSlider": "always",
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
"editor.suggest.insertMode": "replace",
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},
// File Explorer Settings
"explorer.sortOrder": "type",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
// Terminal Settings
"terminal.integrated.defaultProfile.windows": "PowerShell",
"terminal.integrated.cwd": "${workspaceFolder}",
// Search Settings
"search.exclude": {
"**/*.ex4": true,
"**/*.ex5": true,
"**/Logs/**": true,
"**/Profiles/**": true
}
}
+209
View File
@@ -0,0 +1,209 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "MQL5: Compile Current File",
"type": "shell",
"command": "powershell",
"args": [
"-ExecutionPolicy", "Bypass",
"-File", "${workspaceFolder}/build.ps1",
"-FilePath", "${file}",
"-Deploy"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
},
"problemMatcher": {
"owner": "mql5",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": [
{
"regexp": "^(.*)\\((\\d+),(\\d+)\\)\\s*:\\s*(warning|error)\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
},
{
"regexp": "^✗\\s*(.*)$",
"severity": "error",
"message": 1
},
{
"regexp": "^⚠\\s*(.*)$",
"severity": "warning",
"message": 1
}
]
},
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"label": "MQL5: Compile with Script",
"type": "shell",
"command": "\"C:\\Program Files\\MetaTrader 5\\MetaEditor64.exe\"",
"args": [
"/compile",
"/script",
"${file}"
],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": {
"owner": "mql5",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*)\\((\\d+),(\\d+)\\)\\s*:\\s*(warning|error)\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"label": "MQL5: Compile SniperEA",
"type": "shell",
"command": "powershell",
"args": [
"-ExecutionPolicy", "Bypass",
"-File", "${workspaceFolder}/build.ps1",
"-FilePath", "${workspaceFolder}\\src\\SniperEA.mq5",
"-Deploy",
"-Deploy"
],
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
},
"problemMatcher": {
"owner": "mql5",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": [
{
"regexp": "^(.*)\\((\\d+),(\\d+)\\)\\s*:\\s*(warning|error)\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
},
{
"regexp": "^✗\\s*(.*)$",
"severity": "error",
"message": 1
},
{
"regexp": "^⚠\\s*(.*)$",
"severity": "warning",
"message": 1
}
]
},
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"label": "MQL5: Check Syntax",
"type": "shell",
"command": "\"C:\\Program Files\\MetaTrader 5\\MetaEditor64.exe\"",
"args": [
"/check",
"${file}"
],
"group": "test",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": {
"owner": "mql5",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*)\\((\\d+),(\\d+)\\)\\s*:\\s*(warning|error)\\s*(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"label": "MQL5: Verify Deployment",
"type": "shell",
"command": "powershell",
"args": [
"-ExecutionPolicy", "Bypass",
"-File", "${workspaceFolder}/simple_check.ps1"
],
"group": "test",
"presentation": {
"echo": false,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"options": {
"cwd": "${workspaceFolder}"
}
},
{
"label": "MQL5: Open MT5 Directory",
"type": "shell",
"command": "explorer",
"args": [
"C:\\Users\\$\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075\\MQL5"
],
"group": "test",
"presentation": {
"echo": false,
"reveal": "never",
"focus": false,
"panel": "shared"
},
"options": {
"cwd": "${workspaceFolder}"
}
}
]
}