From 090e1e658280152c14e9f264e6693fbcd3d4c95d Mon Sep 17 00:00:00 2001 From: kenorb Date: Sun, 18 Feb 2024 01:50:30 +0000 Subject: [PATCH] Adds new testing params --- .github/workflows/action.yml | 17 +-- README.md | 157 ++++++++--------------- action.yml | 237 +++++++++++++++++++++-------------- 3 files changed, 200 insertions(+), 211 deletions(-) diff --git a/.github/workflows/action.yml b/.github/workflows/action.yml index 232283d..2bd7d83 100644 --- a/.github/workflows/action.yml +++ b/.github/workflows/action.yml @@ -17,9 +17,7 @@ jobs: - name: Run PrintPaths uses: ./ with: - OptTrace: ${{ runner.debug }} - OptVerbose: true - Script: "PrintPaths" + Script: PrintPaths Experts: runs-on: ubuntu-latest strategy: @@ -30,20 +28,13 @@ jobs: - name: Run TestBands uses: ./ with: - OptTrace: ${{ runner.debug }} - OptVerbose: true - TestExpert: "TestBands.mq4" + TestExpert: TestBands.mq4 - name: Run TestEnvelopes uses: ./ with: - OptTrace: ${{ runner.debug }} - OptVerbose: true - TestExpert: "TestEnvelopes.mq4" + TestExpert: TestEnvelopes.mq4 TestPeriod: M1 - RunOnFail: "exit 0" - name: Run TestTimeframes uses: ./ with: - OptTrace: ${{ runner.debug }} - OptVerbose: true - TestExpert: "TestTimeframes.mq4" + TestExpert: TestTimeframes.mq4 diff --git a/README.md b/README.md index c2062db..fdc377a 100644 --- a/README.md +++ b/README.md @@ -48,86 +48,66 @@ with: ## Inputs -### Main Inputs +### Common -#### `Script` - -The name of the script to run. - -#### `TestExpert` - -The name of the Expert Advisor to test. - -### Backtest Inputs - -#### `BtPair` (string) - -Symbol pair to use. Default: *EURUSD*. +#### `Login` -#### `BtCurrency` (string) +Account number. -Base currency to use. Default: *USD*. +#### `Password` -#### `BtDeposit` (int) +Password to the account. -Deposit amount to use. Default: *10000*. +### `Server` -#### `BtDigits` (int) +Trade server. -Specifies number of digits after decimal point -for the current symbol prices (default: 5). +### Start Up -#### `BtSpread` (int) +#### `Expert` -Specifies spread to use in points (e.g. 10). +The name of the EA file to run. -#### `BtDays` (int/string) +#### `Period` -Specifies range of days in each month to test (default: 1-31). +The default timeframe of the chart. -#### `BtMonths` (int/string) - -Specifies range of months in each year to test (default: 1). - -#### `BtYears` (int/string) - -Specifies year or range of years to test (default: 2019). - -#### `SetFile` (string) +#### `Script` -Specifies SET file to use for the test. +The name of the script file to run. -#### `SetOpts` (string) +### Tester -Specifies comma-separated custom params to set for EA (e.g. SomeOption=1,AnotherOption=0). +#### `Optimization` -#### `TestPeriod` (string) +#### `TestDeposit` -Timeframe to use for the test (default: *M30*). +Initial deposit to use for testing. MT5 only. -### Test Results +#### `TestExpert` -#### `BtDest` (string) +The name of the Expert Advisor file to test. -Specifies directory to copy the results. +#### `TestFromDate` -Default: */github/workspace* (indicated by github.workspace variable). +The date to start testing (yyyy.mm.dd). -#### `TestReportName` (string) +#### `TestExecutionMode` -Specifies the name of the test report file. +Trading execution mode. Default *0* (normal). -Default: *tester/Report*. +#### `TestExpertParameters` -### Optimization Inputs +The name of the SET file with EA parameters. -#### `OptOptimize` (bool) +#### `TestLeverage` -Runs test in optimization mode. +Leverage to use for testing/optimization. -#### `BtTestModel` (int) +#### `TestModel` (int) -Specifies type of backtest data being tested. +Specifies type of modelling to use. +Default *1* (1 minute OHLC). Values: @@ -135,80 +115,47 @@ Values: - 1 - Control points - 2 - Open prices only -#### `TestLimitOpts` (string) - -Specifies EA limit test parameters -in a sequence of comma-separated values (e.g. *genetic=0,maxdrawdown_enable=1,maxdrawdown=20.00*). +#### `TestOptimization` -#### `SetParams` (string) +Specifies testing mode. Default: *0* (backtest). -Specifies parameters to optimize in SET file (`SetFile`) -in a sequence of comma-separated values. +#### `TestOptimizationCriterion` (int) -### Run Inputs +Specifies optimization criterion. MT5 only. -#### `RunOnStart` (string) +#### `TestPeriod` -Runs command on startup (before the test). +Timeframe to use for the test. -Default: *clean_sources* (to remove source code files from the platform directory). +#### `TestReport` -#### `RunOnSet` (string) - -Runs command on SET configuration (e.g. `file_get URL`). - -#### `RunOnSuccess` (string) - -Runs command after successful test. - -#### `RunOnError` (string) - -Runs command on test error (including warnings). - -#### `RunOnExit` (string) - -Runs command on exit (after the test). - -#### `RunOnFail` (string) - -Runs command after test failure. - -#### `RunOnWarning` (string) - -Runs command on test warnings (excluding errors). - -### Result Inputs - -#### `OptFormatBrief` (bool) - -Converts test report file to brief text format. Default: *false*. +Specifies the name of the test report file. -#### `OptFormatJson` (bool) +#### `TestReplaceReport` (bool) -Converts test report file to JSON formatted file. Default: *false*. +Specifies whether to enable overwriting of the report file. -### Advanced Inputs +#### `TestScriptParameters` -#### `GitHubApiToken` (string) +The name of the SET file with script parameters. -Specifies GitHub Personal access token (PAT) to increase API limits. +#### `TestSpread` -#### `MtDest` (string) +Specifies spread to use in points (e.g. 10). MT4 only. -Destination path to install MetaTrader platform. -Default is the working directory (e.g. `/github/workspace`). +#### `TestSymbol` -#### `MtVersion` (string) +Symbol pair for the test to use. Default: *EURUSD*. -Version of the MetaTrader platform to install. Default: 4. +#### `TestToDate` -#### `OptTrace` (bool) +The date to finish testing (yyyy.mm.dd). -Enables trace mode. It provides extensive debugging messages. Default: *false*. +### Platform -#### `OptVerbose` (bool) +#### `Version` -Enables verbose mode. It provides more detailed messages. Default: *false*. +Version of platform to use. Default: *5*.