Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.008-dev-new #762

Open
wants to merge 139 commits into
base: v3.007-dev-new
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
4d8154d
Renames storage related classes to Storage/
kenorb Jun 17, 2023
fb67ffa
GHA: Provides GitHubApiToken
kenorb Jun 17, 2023
9c488ef
GHA: Drops MtVersion so it is run by default version
kenorb Jun 17, 2023
4f73266
Improves Compile C++ workflow by adding initial Makefile files
kenorb Jun 17, 2023
6e63c44
Renames GHA workflow from Compile to Compile MQL
kenorb Jun 17, 2023
2e143f9
Adds initial Makefile files
kenorb Jun 17, 2023
07587cf
Updates badges in README.md
kenorb Jun 17, 2023
022e524
Adds initial .test.cpp compilation tests
kenorb Jun 17, 2023
8af95cd
Adds pragma once to Tick/TickManager.h
kenorb Jun 17, 2023
9c7489d
Adds .o files to Git ignore list
kenorb Jun 17, 2023
319c7da
Renames MA, Price, Bands, Envelopes and SAR indicators to sub directo…
kenorb Jun 17, 2023
fd0c2da
Moves Details docs to README
kenorb Jun 17, 2023
a47998c
GHA: Updates Indicator paths
kenorb Jun 17, 2023
ff94ef0
README clean-up
kenorb Jun 17, 2023
6cbe1ae
Improves syntax for C++ compatibility
kenorb Jun 17, 2023
64bfdef
Moves Indi_Alligator to PriceMulti/
kenorb Jun 17, 2023
7cb8b72
Renames MACD, RSI, Stochastic and WPR to Oscillator/
kenorb Jun 17, 2023
5054318
Adds Indi_Candle test
kenorb Jun 17, 2023
366384e
GHA: Improves Indicator paths for indicator tests
kenorb Jun 17, 2023
6529f07
Adds Indicators' READMEs
kenorb Jun 17, 2023
56e3748
Adds runtime error when calling builtin function for indicators which…
kenorb Jun 17, 2023
1243398
Removes Indi_Stochastic.test from the main indicator test as it is al…
kenorb Jun 17, 2023
9676225
Adds ENUM_STO_PRICE for non-MQL
kenorb Jun 17, 2023
dcc55cb
Adds Indi_OHLC.test.cpp
kenorb Jun 17, 2023
9a43c0e
Adds CPP tests for MACD and RSI
kenorb Jun 17, 2023
d8a9e40
Adds Chart.test.cpp with fixes
kenorb Jun 17, 2023
246b1ec
Renames Flags.h to Flags.struct.h (GH-556)
kenorb Jun 17, 2023
3f374f7
Moves Indi_AppliedPrice to Price/ with code fixes (GH-556)
kenorb Jun 17, 2023
65ab85f
Indicator: Removes unused ENUM_INDI_DS_MODE_KIND
kenorb Jun 17, 2023
218834a
Renames INDI_VS_TYPE to INDI_DATA_VS_TYPE (GH-556)
kenorb Jun 17, 2023
36c88ee
Renames INDICATOR_ENTRY to INDICATOR_DATA_ENTRY (GH-556)
kenorb Jun 17, 2023
5969712
Renames PriceIndiParams struct to IndiPriceParams (GH-556)
kenorb Jun 17, 2023
c97c93b
Renames ENUM_INDICATOR_INDEX enum to ENUM_INDICATOR_DATA_INDEX (GH-556)
kenorb Jun 17, 2023
7314d8d
Renames IndicatorState struct to IndicatorDataState (GH-556)
kenorb Jun 17, 2023
db8eaa8
Renames INDICATOR_STATE enums to INDICATOR_DATA_STATE (GH-556)
kenorb Jun 17, 2023
f2b5321
GHA: Removes Indi_WPR.test from the main test
kenorb Jun 17, 2023
d341334
Moves ObjectsCache to Storage/Cache/
kenorb Jun 17, 2023
1bc9b84
Renames IndicatorData.struct.cache.h to Storage/Cache/IndicatorCalcul…
kenorb Jun 17, 2023
f479d88
Renames IndicatorCalculateCache class to IndiBufferCache (GH-556)
kenorb Jun 17, 2023
7172b62
Renames CompileIndicatorsTest to Indicators/tests/Indicators
kenorb Jun 17, 2023
08923ef
Removes SVG.mqh as redundant
kenorb Jun 17, 2023
f7e6218
Removes RegistryBinary.mqh as redundant
kenorb Jun 17, 2023
cc966c2
Removes Registry.mqh as redundant
kenorb Jun 17, 2023
e40f05c
Removes Session.mqh as redundant
kenorb Jun 17, 2023
0158bda
Removes Msg.mqh as redundant
kenorb Jun 17, 2023
937a53a
Removes MQL4.mqh as redundant
kenorb Jun 17, 2023
2cbae30
Removes Inet.mqh as redundant
kenorb Jun 17, 2023
5e28f8d
Removes BasicTrade.mqh as redundant
kenorb Jun 17, 2023
7ccd5e9
Renames Web.mqh to Web/Web.h
kenorb Jun 17, 2023
e8ce555
Moves platform related classes to Platform/
kenorb Jun 17, 2023
2aa2b39
Moves Storage related info from the main README
kenorb Jun 18, 2023
bc3bbcc
Adds README for Exchange class
kenorb Jun 18, 2023
a53a348
Moves Account related classes under Exchange/
kenorb Jun 18, 2023
d0787f9
Moves Web under Platform/
kenorb Jun 18, 2023
b248177
Moves Chart related classes under Platform/
kenorb Jun 18, 2023
a19d464
Improves GHA workflow for compiling with Emscripten
kenorb Jun 18, 2023
3b8cc47
Removes GHA Lint workflow
kenorb Jun 18, 2023
0b92f77
Moves 3D under Platform/Chart3D
kenorb Jun 18, 2023
ce2541a
Moves struct into ShaderVertexLayout.struct.h
kenorb Jun 18, 2023
d1669be
Moves Math related classes under Math/
kenorb Jun 18, 2023
4d1e6c8
Updates GHA workflows
kenorb Jun 18, 2023
f3219e9
Renames MiniMatrix to MatrixMini
kenorb Jun 18, 2023
a5e75c5
Renames Draw.mqh to Platform/Plot.h
kenorb Jun 18, 2023
2b37cc1
Renames Draw class to Plot (GH-556)
kenorb Jun 18, 2023
98d4184
Improves copy headers and bumps a year
kenorb Jun 18, 2023
8bf5527
Code reformats for .mqh files
kenorb Jun 18, 2023
224c8b1
Indicator/Storage: Code reformats
kenorb Jun 18, 2023
cbb1286
Moves SymbolInfo under Exchange/
kenorb Jun 18, 2023
157ea06
Adds more CPP tests
kenorb Jun 18, 2023
8c94721
Fixing C++ compile errors.
nseam Jun 19, 2023
fb4b227
Continuation of fixing C++ compile errors.
nseam Jun 20, 2023
143e9e6
Moves SymbolInfo under Exchange/
kenorb Jun 18, 2023
e4fdf8c
Moves Indi_Pivot to PriceRange/
kenorb Jun 19, 2023
9231484
Adds info about MACD, RSI, Stochastic and WPR
kenorb Jun 20, 2023
35a6714
Next step in fixing C++ compile errors.
nseam Jun 21, 2023
5e13eeb
Merge branch 'v3.005-renames-dev' into v3.006-dev-fixme
kenorb Jun 21, 2023
dae7a75
Merge remote-tracking branch 'nseam/v3.006-dev-fixme' into v3.006-dev…
kenorb Jun 21, 2023
e5ea52c
Adds Indicators.test.cpp
kenorb Jun 21, 2023
2d458f6
Adds Database enums and externs
kenorb Jun 21, 2023
1d264b4
SerializerBinary: Comments missing logger
kenorb Jun 21, 2023
00e0485
Indicators: Improves #ifdef condition and forward declaration syntax
kenorb Jun 21, 2023
4624e22
Indicators: Code reformats
kenorb Jun 21, 2023
92794b9
Makefile: Fail when make subprocess also fail
kenorb Jun 21, 2023
053b6f5
Database: Code improvements and reformat
kenorb Jun 21, 2023
caffc97
Adds CPP tests for EA, Log, Refs, Strategy and Trade
kenorb Jun 21, 2023
9bcb7ab
Adds more tests for indicators
kenorb Jun 21, 2023
b22c2a4
Makefile: Improves syntax
kenorb Jun 21, 2023
9eab462
Merge remote-tracking branch 'nseam/v3.006-dev-fixme' into v3.006-dev
kenorb Jun 21, 2023
2ca9366
Adds more tests for indicators
kenorb Jun 21, 2023
1fe4be4
Another step in fixing C++ compile errors.
nseam Jun 22, 2023
ba9afe3
A little step forward in fixing C++ compile errors.
nseam Jun 22, 2023
fd5e6db
Moves global functions at the end for C++ compatibility
kenorb Jun 22, 2023
4a1b3d6
Adds PriceRange/tests/Makefile
kenorb Jun 22, 2023
7d33368
Removes SymbolInfoTest from Test GHA workflow
kenorb Jun 25, 2023
fc53da5
Adds description for ASI (Accumulation Swing Index) indicator
kenorb Jun 24, 2023
ab10736
Adds description for AMA, AO, ATR, DEMA and MA indicators
kenorb Jun 24, 2023
ebe4d63
PriceRange: Adds README.md
kenorb Jun 24, 2023
105fd8e
Adds Indi_Universal (GH-683)
kenorb Jun 24, 2023
8608930
Indicators: Corrects comments
kenorb Jun 24, 2023
48f6b52
Removes ColorBars indicator
kenorb Jun 25, 2023
3c42543
Removes Color Candles Daily indicator
kenorb Jun 25, 2023
1ece853
Removes Color Line indicator
kenorb Jun 25, 2023
6e2b81f
Removes CustomMovingAverage indicator in favor of MA
kenorb Jun 25, 2023
8cacb42
WIP. Fixing C++ errors. Stuck on ValueStorage's macros.
nseam Jun 29, 2023
1296e80
WIP. Fixing C++ errors. Closer to the end.
nseam Jun 30, 2023
65a4d63
WIP. Fixing C++ errors. Closer to the end.
nseam Jul 3, 2023
27edd66
WIP. Fixing C++ errors. One step further.
nseam Jul 4, 2023
cf14d78
C++ tests now compiles.
nseam Jul 6, 2023
4dffc63
C++ and MQL fixes. Cleaned up Std.h regarding array/reference macros.…
nseam Jul 14, 2023
5395496
Looks like C++/MT4 errors are fixed. Need some additional fixed for MT5.
nseam Jul 15, 2023
bc351cc
Looks like C++/MT4/MT5 errors are fixed.
nseam Jul 16, 2023
5ccbf96
More of C++/MT4/MT5 error fixes.
nseam Jul 17, 2023
a1a484c
Merge pull request #692 from nseam/v3.006-dev-fixme
kenorb Jul 18, 2023
98c546f
Merge remote-tracking branch 'origin/v3.006-dev-fixme' into v3.006-dev
kenorb Jul 20, 2023
9c7bef1
Fixes typo in devcontainer.json
kenorb Aug 5, 2024
c7edd5e
Added Ansible installation via onCreateCommand.
nseam Aug 6, 2024
af76a93
Merge pull request #759 from nseam/dev-devcontainer-ansible
kenorb Aug 7, 2024
6f83607
C++ compatibility fixes.
nseam Aug 30, 2024
997d430
C++ compatibility fixes. Applied clang-format formatting.
nseam Aug 31, 2024
5ebdfa7
Merge pull request #761 from nseam/v3.008-dev-new--cpp-compatibility
kenorb Aug 31, 2024
751ef0b
Merge remote-tracking branch 'origin/v3.007-dev-new' into v3.008-dev-new
kenorb Aug 31, 2024
d3efd92
Merge remote-tracking branch 'origin/v3.006-dev' into v3.008-dev-new
kenorb Sep 1, 2024
869bd26
GHA: Fixes Test workflow
kenorb Sep 1, 2024
37d96da
GHA: Fixes Exchange CI workflows
kenorb Sep 2, 2024
11c0e68
GHA: Fixes Indicators CI workflows
kenorb Sep 2, 2024
cacd8e2
GHA: Fixes further CI workflows
kenorb Sep 2, 2024
75a64fe
Math: Disables USE_MQL_MATH_STAT by default
kenorb Sep 2, 2024
b5cec19
GHA: Fixes Platform CI workflows
kenorb Sep 2, 2024
8da4122
GHA: Fixes Indicator related CI workflows
kenorb Sep 2, 2024
f17541f
GHA: Fixes Storage CI workflows
kenorb Sep 2, 2024
fd11f69
C++ compatibility fixes.
nseam Sep 4, 2024
999de5f
C++ compatibility fixes.
nseam Sep 5, 2024
4d428e7
C++ compatibility fixes.
nseam Sep 6, 2024
ca541eb
CI: Do not run test if login is not specified [no-ci]
kenorb Sep 8, 2024
5d096e3
Merge remote-tracking branch 'nseam/v3.008-dev-new-ci' into v3.008-de…
kenorb Sep 8, 2024
2b7fba8
CI: Runs tmate only on failure in debug mode
kenorb Sep 8, 2024
1b84393
CI: Removes Tick workflow as redundant
kenorb Sep 8, 2024
fdb8e9b
Merge pull request #763 from EA31337/v3.008-dev-new-ci
kenorb Sep 8, 2024
6580c89
GitHub workflow changes to avoid testing if "MT5_LOGIN" env variable …
nseam Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers-contrib/features/actionlint:1": {},
"ghcr.io/devcontainers-contrib/features/ansible:2": {},
"ghcr.io/guiyomh/features/vim:0": {},
"ghcr.io/jungaretti/features/make:1": {},
"ghcr.io/prulloac/devcontainer-features/pre-commit:1": {},
Expand All @@ -47,4 +46,5 @@

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
"onCreateCommand": "sudo apt update && sudo apt install -y pipx && pipx install --include-deps ansible"
}
12 changes: 8 additions & 4 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Check

# yamllint disable rule:truthy
# yamllint disable-line rule:truthy
on:
pull_request:
push:
Expand All @@ -10,6 +10,10 @@ jobs:
Pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: pre-commit/[email protected]
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: ~/.cache/pre-commit
key: pre-commit|${{ hashFiles('.pre-commit-config.yaml') }}
- uses: actions/setup-python@v3
- uses: pre-commit/[email protected]
55 changes: 18 additions & 37 deletions .github/workflows/compile-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,31 @@ name: Compile C++
# yamllint disable-line rule:truthy
on:
pull_request:
paths-ignore:
- '**.md'
paths:
- '**.h'
- '**.mq?'
push:
paths-ignore:
- '**.md'
paths:
- '**.h'
- '**.mq?'

jobs:

FileList:
outputs:
filelist: ${{ steps.get-files.outputs.filelist }}
Compile-Cpp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set output with list of files
id: get-files
run: |
import glob, json, os
files = glob.glob("**/tests/*.cpp")
print("::set-output name=filelist::{}".format(json.dumps(files)))
shell: python
- name: Display output
run: echo ${{ steps.get-files.outputs.filelist }}

Compile:
runs-on: ubuntu-latest
needs: [FileList]
strategy:
matrix:
file: ${{ fromJson(needs.FileList.outputs.filelist) }}
steps:
- uses: actions/checkout@v2
- name: Install Emscripten toolchain
uses: mymindstorm/setup-emsdk@v11
- uses: actions/checkout@v3
- name: Install CPP compiler
uses: rlalik/[email protected]
with:
compiler: gcc-latest
- name: Compile ${{ matrix.file }} via emcc
if: always()
run: >
emcc -s WASM=1 -s ENVIRONMENT=node -s EXIT_RUNTIME=0 -s NO_EXIT_RUNTIME=1 -s ASSERTIONS=1 -Wall -s
MODULARIZE=1 -s ERROR_ON_UNDEFINED_SYMBOLS=0 --bind -s EXPORTED_FUNCTIONS="[]" -g -std=c++17
"${{ matrix.file }}"
- name: Compile ${{ matrix.file }} via g++
if: always()
run: g++ -g -std=c++17 -c "${{ matrix.file }}"
- name: Compile via make
run: make
Compile-Emscripten:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Emscripten toolchain
uses: mymindstorm/setup-emsdk@v11
- name: Compile via emcc
run: make CC=emcc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Compile
name: Compile MQL

env:
ARTIFACT_PREFIX: ${{ inputs.artifact_prefix || 'mt' }}
Expand All @@ -11,6 +11,7 @@ on:
pull_request:
paths-ignore:
- '**.md'
- '.github/workflows/compile-mql.yml'
push:
paths-ignore:
- '**.md'
Expand Down Expand Up @@ -78,7 +79,7 @@ jobs:
run: '(Get-ChildItem -Recurse -Path . -Include *.ex[45]).fullname'
shell: powershell
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: files-ex${{ matrix.version }}
path: '**/*.ex[45]'
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/lint.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/sync-fork.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: Sync Fork

# yamllint disable rule:truthy
# yamllint disable-line rule:truthy
on:
push:
branches:
Expand All @@ -14,11 +14,11 @@ jobs:
if: github.repository != 'EA31337/EA31337-classes'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
persist-credentials: false
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
path: upstream
Expand Down
52 changes: 0 additions & 52 deletions .github/workflows/test-account.yml

This file was deleted.

52 changes: 0 additions & 52 deletions .github/workflows/test-buffer.yml

This file was deleted.

74 changes: 74 additions & 0 deletions .github/workflows/test-exchange-account.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
name: Test Exchange/Account

env:
TEST_PATH: Exchange/Account/tests
TEST_SKIP: ${{ secrets.MT5_LOGIN == '' }}

# yamllint disable-line rule:truthy
on:
pull_request:
paths:
- .github/workflows/test-exchange-account.yml
- Exchange/Account/**
push:
paths:
- .github/workflows/test-exchange-account.yml
- Exchange/Account/**

jobs:

compile:
name: Compile
uses: ./.github/workflows/compile-mql.yml
with:
artifact_prefix: mt
path: Exchange/Account/tests
skip_cleanup: true

test:
defaults:
run:
shell: bash
working-directory: ${{ env.TEST_PATH }}
name: Test
needs: compile
runs-on: ubuntu-latest
strategy:
matrix:
test:
- Account.test
- AccountForex.test
- AccountMt.test
version: [5]
max-parallel: 4
steps:
- uses: actions/download-artifact@v4
with:
name: files-ex${{ matrix.version }}
- name: List compiled files
run: find . -name '*.ex?' -type f -print
- if: ${{ env.TEST_SKIP != true && env.TEST_SKIP != 'true' }}
name: Run ${{ matrix.test }}
uses: fx31337/mql-tester-action@master
with:
Login: ${{ secrets.MT5_LOGIN }}
Password: ${{ secrets.MT5_PASSWORD }}
Server: MetaQuotes-Demo
TestDeposit: 2000
TestExpert: ${{ matrix.test }}
TestFromDate: ${{ matrix.year }}.01.01
TestPeriod: M1
TestSymbol: EURUSD
TestToDate: ${{ matrix.year }}.01.14
# yamllint disable-line rule:line-length
UrlExpert: file://${{ github.workspace }}/${{ env.TEST_PATH }}/${{ matrix.test }}.ex${{ matrix.version }}
Version: 5
- if: ${{ failure() && runner.debug }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 20

cleanup:
name: Clean-up
needs: [compile]
uses: ./.github/workflows/cleanup.yml
Loading
Loading