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.007-dev-new (Chart refactor, OpenCL) #749

Open
wants to merge 161 commits into
base: v3.006-dev-new
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
54f131e
Chart: ChartTf: Adds SecsToTf()
kenorb Oct 28, 2021
b706c3d
Indicator: Removes Chart inheritance (1st part of refactor) [WIP]
kenorb Oct 28, 2021
ad92ef6
Merge remote-tracking branch 'origin/master' into dev-indi-no-chart
kenorb Oct 29, 2021
191c573
Merge tag 'v2.009' into dev-indi-no-chart
kenorb Nov 8, 2021
cac1c7d
Merge branch 'dev-indicator-refactor' into dev-indi-no-chart
kenorb Dec 8, 2021
fd383ca
Merge remote-tracking branch 'origin/dev-v2012' into dev-indi-no-chart
kenorb Jan 28, 2022
931fbfa
Merge remote-tracking branch 'origin/master' into dev-indi-no-chart
kenorb Jan 28, 2022
3dd06ee
Adds .devcontainer
kenorb Aug 2, 2022
6ee2308
Adds additional vscode C++ extensions
kenorb Aug 2, 2022
88ffea4
Converts tabs into spaces in devcontainer.json
kenorb Aug 2, 2022
ea47c03
devcontainer: Adds vscode Vim extension
kenorb Aug 2, 2022
d0b8d22
Moves Indicator and IndicatorBase into Indicator/
kenorb Aug 7, 2022
ff1b4ba
Indicator: Adds initial IndicatorRenko class
kenorb Aug 7, 2022
f0fcb4f
Indicator/README: Adds class diagram
kenorb Aug 7, 2022
b37f79b
Adds .clang-tidy
kenorb Aug 15, 2022
72699d9
Adds clang-format pre-commit hook
kenorb Aug 15, 2022
a8ddd3b
Adds clang-format pre-commit hook
kenorb Aug 15, 2022
ad2401a
Merge branch 'v3.004-dev' of https://github.com/EA31337/EA31337-class…
nseam Aug 16, 2022
facfa03
Almost complete IndicatorRenko. Just need to implement RenkoCondition…
nseam Aug 16, 2022
155a9fe
Almost working Renko. Somehow platform's Tick() is executed more ofte…
nseam Aug 17, 2022
a2bdfe3
Almost working Renko indicator. There is a problem with completed can…
nseam Aug 19, 2022
0ecb54d
Moves Indicator related files into Indicator/
kenorb Aug 7, 2022
8b9072d
Moves Tick.struct.h to Tick/
kenorb Aug 19, 2022
943f662
Moves Serializer files to Serializer/
kenorb Aug 19, 2022
345c088
Merge pull request #659 from EA31337/v3.004-dev-rename
kenorb Aug 22, 2022
baa4942
WIP. Fixes Dict's logic inside InsertInto(). Also changed the way Ove…
nseam Aug 24, 2022
c875e5f
Merge branch 'v3.004-dev' of https://github.com/EA31337/EA31337-class…
nseam Aug 24, 2022
ee7c872
WIP. Added Candle regeneration from historic ticks if candle was wipe…
nseam Aug 25, 2022
ab065cf
WIP. ItemsHistory and ItemsHistoryItemProvider classes to store and (…
nseam Sep 7, 2022
cc084fd
WIP. Making ItemsHistory for Candle and CandleTf indicators. Trying t…
nseam Sep 8, 2022
09b3bb5
WIP. Closer to the end of ItemsHistory class and candle providers for…
nseam Sep 17, 2022
293da01
WIP. Blocked because of too complicated relationship between ItemsHis…
nseam Sep 20, 2022
cc29ec8
WIP. Got rid of parent-child relationship between ItemsHistory and It…
nseam Sep 21, 2022
1b54b0c
WIP. ItemsHistory and IndicatorTf now properly stores candles' histor…
nseam Sep 26, 2022
3bddda8
Should fix problem "'array' - constant variable cannot be passed as r…
nseam Sep 27, 2022
477e69a
WIP. Almost working candle regeneration for IndicatorTf. There are di…
nseam Sep 29, 2022
43e9bf0
WIP. Fixing tests. Added ItemsHistory ItemProvider stub for Renko ind…
nseam Oct 6, 2022
df96a23
WIP. IndicatorTick is now using ItemsHistory for tick storage purpose…
nseam Oct 7, 2022
415997f
WIP. Made indicators to use our #define for built-in indicator calls.…
nseam Oct 11, 2022
0b85195
WIP. What's left is to find why in MT4 there's a problem with getting…
nseam Oct 12, 2022
fdaf6e7
WIP. Fixing indicators that depends on candles that not yet occured.
nseam Oct 13, 2022
7e46225
WIP. Fixing indicator tests.
nseam Oct 14, 2022
13fa803
WIP. Looks like indicators' custom buffer requires refactoring and us…
nseam Oct 25, 2022
0e9563e
WIP. Fixing inconsistencies in shift given into indicators' params an…
nseam Oct 25, 2022
6c4ac8d
WIP. Added explanation of shift parameters in Indicator/IndicatorData…
nseam Oct 28, 2022
ecc90c4
WIP. Shift parameters refactoring for Indicator/IndicatorData/other c…
nseam Oct 31, 2022
545f320
WIP. Indi_Bands now uses OnCalculate() method. Fixing shifts in all t…
nseam Nov 3, 2022
2c77ffe
WIP. Fixing tests.
nseam Nov 4, 2022
5f225c4
WIP. Adding candle invalidation. Still not working. Required for Indi…
nseam Nov 10, 2022
0a6aade
WIP. Fixing C++ errors.
nseam Nov 10, 2022
4cdd0d2
WIP. Fixing C++ include loops.
nseam Nov 11, 2022
fc3de69
WIP. Fixing MQL/C++ errors. Moving serialization methods to separate …
nseam Nov 11, 2022
5d9031f
WIP. Added rates_total validation for all the indicators in `Indicato…
nseam Nov 14, 2022
5287625
WIP. Writing stubs/most important methods' implementations for Emscri…
nseam Nov 17, 2022
d393683
WIP. Added missing C++ methods regarding String printing/manipulation…
nseam Nov 30, 2022
e36c9c9
WIP. Trying to run emscripten-generated code in the browser.
nseam Dec 1, 2022
42409e3
WIP. Trying to make smart pointers to work in JS.
nseam Dec 15, 2022
8b18790
Merge pull request #662 from nseam/dev-indi-renko
kenorb Dec 19, 2022
da13c54
WIP. Making Account and Exchange classes to work via Emscripten. Also…
nseam Dec 21, 2022
ff982e3
WIP. End up with include loop.
nseam Jan 9, 2023
36993ce
WIP. Fixing Emscripten compilation errors.
nseam Jan 12, 2023
efa69da
WIP. Fixing Emscripten compilation errors.
nseam Jan 14, 2023
db0b8a0
WIP. Making code C++/Emscripten-compatible.
nseam Jan 19, 2023
f4c5d18
WIP. Code is now compiling for a FX31337-wasm's tests/js/TestRunner.js
nseam Jan 20, 2023
c09b514
IndicatorsTest now compiles in MT5. Need to check other tests.
nseam Jan 26, 2023
88108ce
WIP. Fixing MT5 tests.
nseam Jan 27, 2023
17cd38a
Fixed C++ and MQL5 errors for tests in /tests folder.
nseam Feb 2, 2023
a30a476
WIP. Trying to make tests to run on MT4.
nseam Feb 7, 2023
720ec62
WIP. Should fix tests in MT4 and MT5.
nseam Feb 8, 2023
032e8e7
WIP. Should fix errors in MT4, MT5 & C++ for TaskRunner.
nseam Feb 9, 2023
11b6ce5
Added missing includes.
nseam Feb 16, 2023
f78b9fd
Addes required flags for emcc and gcc.
nseam Feb 16, 2023
a13a079
Made tests to continue even if one of them fails.
nseam Feb 17, 2023
2a5f72c
Added ToString() override to Indicator class, so IndicatorsTest will …
nseam Feb 17, 2023
a36e135
WIP. Making FX's Indicator.cpp's to compile.
nseam Feb 17, 2023
ba94fa8
Sets job max-parallel to 4 as per API limits
kenorb Feb 21, 2023
ccade19
WIP. Using Indi_TickProvider to provide tick for Candle indicator and…
nseam Feb 23, 2023
ee07184
Merge branch 'dev-fx-emcc' of https://github.com/nseam/EA31337-classe…
nseam Feb 23, 2023
16ebdc4
Fixing MQL4 errors.
nseam Feb 24, 2023
65b8f29
WIP. Fixing MT4 errors.
nseam Feb 25, 2023
478b640
WIP. Testing RSI over IndicatorTfDummy over Indi_TickProvider. Now we…
nseam Mar 1, 2023
30d6f7f
WIP. Testing RSI over IndicatorTfDummy over Indi_TickProvider. RSI re…
nseam Mar 2, 2023
db3442d
Fixes recent syntax errors for C++.
nseam Mar 8, 2023
93a46bb
Little changes for array #defines.
nseam Apr 7, 2023
42de20c
WIP. Making a Tester class and exporting IndicatorTfDummy and RSI ind…
nseam Apr 20, 2023
3bc9a57
src/IndicatorTest.cpp
nseam Apr 28, 2023
7f16aa1
Little changes for array #defines.
nseam Apr 7, 2023
050cee4
Empty commit to run tests.
nseam May 24, 2023
2d7e339
Fixes Indi_RSI #elif error. Also, added PERIOD_TF_IRREGULAR enum valu…
nseam May 24, 2023
930cda4
Fixes tests using Platform::FetchDefaultCandleIndicator() as method n…
nseam May 24, 2023
df4bb44
Tiny internal changes. Part of testing emcc API.
nseam Jun 1, 2023
b3a7f4a
Fixes warning "too many arguments for function-like macro 'RUNTIME_ER…
nseam Jun 5, 2023
69220b5
Should fix problem with MA expecting additional bar, despite it has a…
nseam Jun 8, 2023
03bcdf3
Little changes required by emcc support.
nseam Jun 8, 2023
4faba09
Merge branch 'v3.004-dev' into dev-fx-emcc
nseam Jun 13, 2023
d53d07a
Should fix problems with DrawIndicatorTest as Platform::AddWithDefaul…
nseam Jun 15, 2023
f31618f
Merge branch 'dev-fx-emcc' of https://github.com/nseam/EA31337-classe…
nseam Jun 15, 2023
b246c9d
Fixing CompileTest
nseam Jun 15, 2023
78d8634
Fixes problem with not preserving TF passed to Candle indicators.
nseam Jun 15, 2023
94d2da4
Fixes ZigZag and ZigZagColor value validation.
nseam Jun 16, 2023
e89966d
Merge pull request #665 from nseam/dev-fx-emcc
kenorb Jun 16, 2023
294eeff
ADXW: Renames variables to avoid global conflicts
kenorb Jun 23, 2023
4c26b6c
Indi_ADXW: Fixes logic for SetCustomIndicatorName()
kenorb Jun 23, 2023
db83ebb
ADXW: Renames variables to avoid global conflicts
kenorb Jun 23, 2023
c48da70
Indi_ADXW: Fixes logic for SetCustomIndicatorName()
kenorb Jun 23, 2023
1b5830f
Indicators: Renames some variables to avoid global variable conflict
kenorb Jun 24, 2023
a593ae8
Merge branch 'v3.003-dev' into v3.004-dev
kenorb Jun 24, 2023
2fa7dd0
Merge branch 'v3.004-dev' into v3.005-dev
kenorb Jun 24, 2023
7b292b7
Improves Fibonacci calculation for Pivot
kenorb Sep 10, 2023
bbf8284
ACQUIRE_BUFFERn / RELEASE_BUFFERn functionality required for EA31337/…
nseam Mar 18, 2024
20a08a7
Refs EA31337/EA31337-indicators-stats#2. Closed to finish Indi_Accoun…
nseam Mar 22, 2024
4e763ae
WIP. Refs EA31337/EA31337-indicators-stats#2. Indi_AccountStats close…
nseam Mar 27, 2024
d6a3f57
Refs #738. WIP. OpenCL wrapper class and OpenCL integration for Matri…
nseam Apr 12, 2024
2f2fce7
Refs #738. WIP. OpenCL integration for Matrix class needs rework as p…
nseam Apr 19, 2024
b612dac
Refs #738. WIP. Partially working Matrix multiplication via OpenCL. N…
nseam Apr 24, 2024
0000130
Refs EA31337/EA31337-indicators-stats#2. Closed to finish Indi_Accoun…
nseam Mar 22, 2024
5330e44
WIP. Refs EA31337/EA31337-indicators-stats#2. Indi_AccountStats close…
nseam Mar 27, 2024
640e07c
Merge tag 'v2.012' into v3.004-dev-new
kenorb Apr 26, 2024
dce2921
Refs #738. WIP. Matrix multiplication via OpenCL. Working on OpenCL b…
nseam Apr 26, 2024
af7b695
Merge tag 'v2.012' into v3.004-dev-new
kenorb Apr 27, 2024
d290033
Std: Uses Alert() and DebugBreak() for MQL only
kenorb Apr 27, 2024
ad24e5b
Refs #738. Matrix multiplication via OpenCL. Ready for testing.
nseam May 1, 2024
0b707a1
Merge remote-tracking branch 'origin/dev-indi-no-chart2' into v3.007-…
kenorb Apr 30, 2024
a4fefe2
Merge remote-tracking branch 'origin/dev-indi-no-chart' into v3.007-d…
kenorb May 1, 2024
5e14147
Merge remote-tracking branch 'origin/v3.003-dev-stats' into v3.007-de…
kenorb May 1, 2024
979924a
Merge branch 'v3.007-dev-new' into HEAD
kenorb May 1, 2024
0b9bbfd
Merge remote-tracking branch 'nseam/v3.003-dev-stats' into v3.007-dev…
kenorb May 1, 2024
6f4492c
Refs #738. Matrix multiplication fallback for MT4. CPU version now us…
nseam May 2, 2024
4a8e935
Refs #738. Matrix multiplication fallback for MT4. CPU version now us…
nseam May 2, 2024
3165600
Merge remote-tracking branch 'nseam/v3.007-dev-new' into v3.007-dev-new
kenorb May 3, 2024
82244e2
Fixes Account.test.mq5, AccountForex.test.mq5 and Exchange.test.mq5 t…
kenorb May 3, 2024
fd565d1
Merge remote-tracking branch 'origin/v3.004-dev' into v3.007-dev-new
kenorb May 3, 2024
3b58324
Merge remote-tracking branch 'origin/v3.004-dev-cpp' into v3.008-dev-new
kenorb May 4, 2024
3a3e450
Merge remote-tracking branch 'origin/v3.004-dev-indi-rename' into v3.…
kenorb May 4, 2024
c68bbce
Merge remote-tracking branch 'origin/v3.003-dev-vscode' into v3.008-d…
kenorb May 4, 2024
ffed2e8
Merge remote-tracking branch 'origin/v3.004-dev-tasks' into v3.008-de…
kenorb May 4, 2024
e98b191
Merge remote-tracking branch 'origin/v3.004-dev-cpp2' into v3.008-dev…
kenorb May 4, 2024
9aed662
Merge remote-tracking branch 'origin/v3.004-dev-new-std-fix' into v3.…
kenorb May 4, 2024
9a9d453
Merge remote-tracking branch 'origin/v3.005-dev' into v3.008-dev-new
kenorb May 4, 2024
8095e11
Refs #11. WIP. Making indicators to use Platform::OnCalculate(), Plat…
nseam May 6, 2024
8e90bfc
Merge branch 'v3.007-dev-new' of https://github.com/EA31337/EA31337-c…
nseam May 6, 2024
6859c3a
Fixed problem with casting string to ENUM_LOG_LEVEL via indicator par…
nseam May 6, 2024
36a2b12
Fixed problem with casting string to ENUM_LOG_LEVEL via indicator par…
nseam May 6, 2024
474a694
Merge pull request #751 from nseam/v3.008-dev-new-enum-log-level-casting
kenorb May 7, 2024
42ccf6a
Legacy code for MT4. OnCalculate() automatic ticking, ArraySetAsSerie…
nseam May 17, 2024
7a9c15c
Merge pull request #754 from nseam/v3.007-dev-new-mt5-code-in-mt4-ind…
kenorb May 20, 2024
d8eb065
WIP. Trying to make indicators to work with historic ticks.
nseam May 22, 2024
92ee47a
WIP. Fixes In ItemsHistory and ItemsHistoryTfCandleProvider for Candl…
nseam May 22, 2024
b9173b9
Merge remote-tracking branch 'origin/v3.007-dev-new' into v3.008-dev-new
kenorb Jun 17, 2024
7187581
Fixed problem with casting string to ENUM_LOG_LEVEL via indicator par…
nseam May 6, 2024
28205be
Merge remote-tracking branch 'origin/v3.008-dev-new' into v3.008-dev-new
kenorb Jun 17, 2024
6a38ad3
Committing the ItemsHistory-related code before merging `v3.008-dev-n…
nseam Jun 26, 2024
2911097
Merge branch 'v3.008-dev-new' into v3.007-dev-new-itemshistory-fixes.…
nseam Jun 26, 2024
3228d70
Merge branch 'v3.008-dev-new' of https://github.com/EA31337/EA31337-c…
nseam Jun 26, 2024
63f1ddb
Fixes compilation errors in MT4 and MT5.
nseam Jun 27, 2024
c132e9b
Added missing files.
nseam Jun 27, 2024
2a805d1
Removed unnecessary include. Fixes LinearWeightedMAOnBuffer() call in…
nseam Jun 27, 2024
e7ba4d5
WIP. Dict now uses class instead of struct in order to prevent copyin…
nseam Jul 1, 2024
80672f1
Merge pull request #757 from nseam/v3.008-dev-new--dict-uses-class-ge…
kenorb Jul 7, 2024
eb38f88
Comments out Alert()/DebugBreak() for non-MQL
kenorb Jul 27, 2024
146a127
Fixes typo in devcontainer.json
kenorb Aug 5, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
Language: Cpp
BasedOnStyle: Google
ColumnLimit: 120
IndentPPDirectives: BeforeHash
108 changes: 108 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
Checks: |-
*,
-altera-id-dependent-backward-branch,
-altera-struct-pack-align,
-altera-unroll-loops,
-bugprone-branch-clone,
-bugprone-copy-constructor-init,
-bugprone-easily-swappable-parameters,
-bugprone-integer-division,
-bugprone-macro-parentheses,
-bugprone-narrowing-conversions,
-bugprone-redundant-branch-condition,
-bugprone-reserved-identifier,
-bugprone-string-constructor,
-bugprone-unhandled-self-assignment,
-cert-dcl37-c,
-cert-dcl51-cpp,
-cert-msc30-c,
-cert-msc50-cpp,
-cert-oop54-cpp,
-cert-oop54-cpp,
-clang-diagnostic-error,
-concurrency-mt-unsafe,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-c-copy-assignment-signature,
-cppcoreguidelines-init-variables,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-non-private-member-variables-in-classes,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-prefer-member-initializer,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-type-member-init,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions,
-fuchsia-default-arguments-calls,
-fuchsia-default-arguments-declarations,
-fuchsia-overloaded-operator,
-fuchsia-trailing-return,
-google-explicit-constructor,
-google-global-names-in-headers,
-google-readability-braces-around-statements,
-google-readability-casting,
-google-runtime-int,
-hicpp-avoid-c-arrays,
-hicpp-braces-around-statements,
-hicpp-braces-around-statements,
-hicpp-exception-baseclass,
-hicpp-explicit-conversions,
-hicpp-member-init,
-hicpp-multiway-paths-covered,
-hicpp-named-parameter,
-hicpp-no-array-decay,
-hicpp-signed-bitwise,,
-hicpp-special-member-functions,
-hicpp-uppercase-literal-suffix,
-hicpp-use-auto,
-hicpp-use-equals-default,
-hicpp-use-nullptr,
-hicpp-vararg,
-llvm-else-after-return,
-llvm-header-guard,,
-llvmlibc-callee-namespace,
-llvmlibc-implementation-in-namespace,,
-llvmlibc-restrict-system-libc-headers,
-misc-definitions-in-headers,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-misc-non-private-member-variables-in-classes,
-misc-unconventional-assign-operator,
-misc-unused-parameters,,
-modernize-avoid-c-arrays,
-modernize-raw-string-literal,
-modernize-redundant-void-arg,
-modernize-use-auto,
-modernize-use-default-member-init,
-modernize-use-equals-default,
-modernize-use-nullptr,
-modernize-use-nullptr,
-modernize-use-trailing-return-type,
-modernize-use-using,
-performance-unnecessary-value-param,
-readability-avoid-const-params-in-decls,
-readability-braces-around-statements,
-readability-braces-around-statements,
-readability-const-return-type,
-readability-container-size-empty,
-readability-convert-member-functions-to-static,
-readability-delete-null-pointer,
-readability-else-after-return,
-readability-identifier-length,
-readability-implicit-bool-conversion,
-readability-isolate-declaration,
-readability-magic-numbers,
-readability-make-member-function-const,
-readability-named-parameter,
-readability-redundant-access-specifiers,
-readability-redundant-declaration,
-readability-redundant-string-init,
-readability-simplify-boolean-expr,
-readability-uppercase-literal-suffix,
FormatStyle: file
HeaderFilterRegex: '.*'
WarningsAsErrors: ''
9 changes: 9 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.238.1/containers/ubuntu/.devcontainer/base.Dockerfile

# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="jammy"
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}

# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
25 changes: 23 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{

// "build": {
// "dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
// Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
// "args": { "VARIANT": "ubuntu-22.04" }
// },

// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"nicholishen.mql-over-cpp",
"vscodevim.vim",
"DavidAnson.vscode-markdownlint",
"EA31337.vscode-mql-tools"
"EA31337.vscode-mql-tools",
"xaver.clang-format"
],
}
},
Expand All @@ -23,7 +34,17 @@
// "ghcr.io/maks1ms/devcontainers-features/wine:0": {},
"ghcr.io/devcontainers-contrib/features/node-asdf:0": {}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",

// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:jammy",
"name": "EA31337"
"name": "EA31337",

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
}
14 changes: 7 additions & 7 deletions .github/workflows/compile-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ on:
jobs:

FileList:
if: ${{ false }} # @fixme
outputs:
filelist: ${{ steps.get-files.outputs.filelist }}
runs-on: ubuntu-latest
Expand All @@ -30,7 +29,6 @@ jobs:
run: echo ${{ steps.get-files.outputs.filelist }}

Compile:
if: ${{ false }} # @fixme
runs-on: ubuntu-latest
needs: [FileList]
strategy:
Expand All @@ -45,9 +43,11 @@ jobs:
with:
compiler: gcc-latest
- name: Compile ${{ matrix.file }} via emcc
run: emcc "${{ matrix.file }}"
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++
run: g++ -c "${{ matrix.file }}"
- if: failure()
# Force success.
run: exit 0
if: always()
run: g++ -g -std=c++17 -c "${{ matrix.file }}"
4 changes: 4 additions & 0 deletions .github/workflows/test-indicator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,13 @@ jobs:
strategy:
matrix:
test:
- Indicator.test
- IndicatorBase.test
- IndicatorCandle.test
- IndicatorData.test
- IndicatorTf.test
- IndicatorTick.test
- IndicatorRenko.test
steps:
- uses: actions/download-artifact@v2
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test-indicators.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ jobs:
- Indi_ColorCandlesDaily.test
- Indi_ColorLine.test
- Indi_CustomMovingAverage.test
- Indi_DEMA.test
- Indi_DeMarker.test
- Indi_Demo.test
- Indi_DetrendedPrice.test
Expand Down Expand Up @@ -101,6 +100,8 @@ jobs:
- Indi_WilliamsAD.test
- Indi_ZigZag.test
- Indi_ZigZagColor.test
# Requires refactoring:
# - Indi_DEMA.test
steps:
- uses: actions/download-artifact@v2
with:
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/test-serializer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Test Serializer

# yamllint disable-line rule:truthy
on:
pull_request:
paths:
- 'Serializer/**'
- '.github/workflows/test-serializer.yml'
push:
paths:
- 'Serializer/**'
- '.github/workflows/test-serializer.yml'

jobs:

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

Serializer-Tests-MQL4:
defaults:
run:
shell: bash
working-directory: serializer/tests
if: false
needs: compile
runs-on: ubuntu-latest
strategy:
matrix:
test:
- Serializer.test
steps:
- uses: actions/download-artifact@v2
with:
name: files-ex4
- name: Run ${{ matrix.test }}
uses: fx31337/mql-tester-action@master
with:
BtDays: 4-8
BtMonths: 1
BtYears: 2021
MtVersion: 4.0.0.1359
RunOnError: show_logs 200
TestExpert: ${{ matrix.test }}
timeout-minutes: 10
9 changes: 7 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ jobs:
strategy:
matrix:
test:
- AccountTest
- BufferStructTest
- BufferTest
- ChartTest
- CompileIndicatorsTest
- DatabaseTest
# - DrawIndicatorTest
- EATest
- IndicatorTest
- IndicatorsTest
- MailTest
- MarketTest
Expand All @@ -60,6 +60,7 @@ jobs:
- SummaryReportTest
- TickerTest
- TradeTest
max-parallel: 4
steps:
- uses: actions/download-artifact@v2
with:
Expand All @@ -73,6 +74,7 @@ jobs:
Version: 4
TestExpert: ${{ matrix.test }}
RunOnError: show_logs 200
if: always()
timeout-minutes: 10

Scripts-MQL4:
Expand All @@ -98,10 +100,10 @@ jobs:
- OrderQuery
- ProfilerTest
- RefsTest
- SerializerTest
- TerminalTest
- TimerTest
- ValueStorageTest
max-parallel: 4
steps:
- uses: actions/download-artifact@v2
with:
Expand All @@ -110,6 +112,7 @@ jobs:
uses: fx31337/mql-tester-action@master
with:
Script: ${{ matrix.test }}
if: always()
timeout-minutes: 10

Scripts-MQL4-Ignore:
Expand All @@ -136,6 +139,7 @@ jobs:
with:
Script: ${{ matrix.test }}
RunOnFail: "exit 0"
if: always()
timeout-minutes: 10

Trade-Tests-MQL4:
Expand All @@ -158,6 +162,7 @@ jobs:
uses: fx31337/mql-tester-action@master
with:
Script: ${{ matrix.test }}
if: always()
timeout-minutes: 10

cleanup:
Expand Down
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
---
exclude: '\.md$'
repos:

# - repo: https://github.com/pre-commit/mirrors-clang-format
# rev: v14.0.6
# hooks:
# - id: clang-format

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
Expand Down
6 changes: 3 additions & 3 deletions 3D/Chart3D.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
*/

#include "../Bar.struct.h"
#include "../IndicatorData.mqh"
#include "../Indicator/IndicatorData.h"
#include "../Indicators/Indi_MA.mqh"
#include "../Instances.h"
#include "../Refs.mqh"
#include "../SerializerConverter.mqh"
#include "../SerializerJson.mqh"
#include "../Serializer/SerializerConverter.h"
#include "../Serializer/SerializerJson.h"
#include "Chart3DCandles.h"
#include "Chart3DType.h"
#include "Cube.h"
Expand Down
1 change: 1 addition & 0 deletions 3D/Chart3DCandles.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
* 3D chart candles renderer.
*/

#include "../Chart.define.h"
#include "Chart3DType.h"
#include "Cube.h"
#include "Device.h"
Expand Down
Loading
Loading