From fac977d9d961bd355dd8fcf37f5d38da99f15bbc Mon Sep 17 00:00:00 2001 From: kenorb Date: Mon, 9 Sep 2024 21:39:21 +0100 Subject: [PATCH] CI: Corrects Test workflow --- .github/workflows/test.yml | 154 +++++++++---------------------------- 1 file changed, 35 insertions(+), 119 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a81bbe..a4d5f65 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,142 +1,58 @@ --- -name: Backtest +name: Test # yamllint disable-line rule:truthy on: pull_request: branches: - 'master' - - 'dev*' + - '*dev*' paths-ignore: - '*.md' - - '.git*' push: branches: - 'master' - - 'dev*' + - '*dev*' paths-ignore: - '*.md' - - '.git*' jobs: - Compile-Indicators: - defaults: - run: - shell: powershell - working-directory: indicators-other - runs-on: windows-latest + + compile: + name: Compile + uses: ./.github/workflows/compile.yml + + test: + name: Test + needs: compile + runs-on: ubuntu-latest strategy: matrix: file: - - indicators-other/PriceBands/TMA_True - steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - uses: actions/checkout@v2 - with: - path: Include/EA31337-classes - ref: v3.000.2 - repository: EA31337/EA31337-classes - - name: Compile required indicator for MQL4 - uses: fx31337/mql-compile-action@master - with: - include: . - init-platform: true - mt-version: 5.0.0.2361 - path: ${{ matrix.file }}.mq4 - verbose: true - - name: Compile required indicator for MQL5 - uses: fx31337/mql-compile-action@master - with: - include: . - init-platform: true - mt-version: 5.0.0.2515 - path: ${{ matrix.file }}.mq5 - verbose: true - - name: List compiled files - run: '(Get-ChildItem -Recurse -Path . -Include *.ex[45]).fullname' - - run: Get-Location - - name: Upload indicator artifacts - uses: actions/upload-artifact@v2 - with: - name: Indicators - path: '**/*.ex[45]' - Compile-EA: - defaults: - run: - shell: powershell - runs-on: windows-latest + - Stg_TMA_True + year: [2022, 2024] + version: [5] steps: - - uses: actions/checkout@v2 - with: - submodules: 'recursive' - - uses: actions/checkout@v2 - with: - path: Include/EA31337-classes - ref: v3.000.2 - repository: EA31337/EA31337-classes - - name: Enables input mode - run: echo '#define __input__' > config/define.h - - name: Enables resource mode - run: echo '#define __resource__' >> config/define.h - - name: Compile strategy for MQL4 - uses: fx31337/mql-compile-action@master + - uses: actions/download-artifact@v4 with: - include: . - init-platform: true - mt-version: 5.0.0.2361 - path: Stg_TMA_True.mq4 - verbose: true - - uses: actions/checkout@v2 - with: - path: indicators-other/PriceBands/Include/EA31337-classes - ref: v3.000.2 - repository: EA31337/EA31337-classes - - name: Compile strategy for MQL5 - uses: fx31337/mql-compile-action@master - with: - include: . - mt-version: 5.0.0.2515 - path: Stg_TMA_True.mq5 - verbose: true + merge-multiple: true + pattern: Strategy-ex${{ matrix.version }} + - name: List compiled files - run: '(Get-ChildItem -Recurse -Path . -Include *.ex[45]).fullname' - - run: Get-Location - - name: Upload strategy artifacts - uses: actions/upload-artifact@v2 - with: - name: EA - path: '*.ex[45]' - Test: - needs: [Compile-EA, Compile-Indicators] - runs-on: ubuntu-latest - strategy: - matrix: - month: [1] - year: [2019, 2020] - steps: - - uses: actions/download-artifact@v2 - with: - path: . - - name: Run strategy - uses: ea31337/mql-tester-action@master - with: - RunOnStart: >- - ln -fsv /github/workspace/Indicators - "$TERMINAL_DIR/$MQL_DIR/Indicators" - BtDeposit: 100000 - BtDest: ${{ github.workspace }}/_results - BtMonths: ${{ matrix.month }} - BtYears: ${{ matrix.year }} - OptFormatBrief: true - OptFormatJson: true - OptVerbose: true - TestExpert: Stg_TMA_True + run: find . -name '*.ex?' -type f -print + + - name: Test ${{ matrix.year }} + uses: fx31337/mql-tester-action@master + with: + Login: ${{ secrets.MT5_LOGIN }} + Password: ${{ secrets.MT5_PASSWORD }} + Server: MetaQuotes-Demo + TestDeposit: 2000 + TestExpert: ${{ matrix.file }}.ex5 + TestFromDate: ${{ matrix.year }}.01.01 TestPeriod: M1 - TestReportName: Report-${{ matrix.year }}-${{ matrix.month }} - - name: Upload results - uses: actions/upload-artifact@v2 - with: - name: results - path: ${{ github.workspace }}/_results/*.* + TestSymbol: EURUSD + TestToDate: ${{ matrix.year }}.01.14 + # yamllint disable-line rule:line-length + UrlExpert: file://${{ github.workspace }}/${{ matrix.file }}.ex5 + Version: 5