Problem:
I have created a workflow. I want to use the same workflow for 20 instruments. I find the process of cloning custom projects and updating the instrument one by one too slow.
Current Process
1. Create a workflow.
2. Clone the workflow.
3. Modifying the symbol at the custom project level.
4. Open the new project. Update the start and end date for each task inside.
5. Furthermore, update the multi-market cross-check to update the symbol back to the original symbol.
For example, the original project is for AUDUSD with a multimarket cross-check for GBPUSD, AUDUSD, and EURUSD. When I cloned it for GBPUSD and change the symbol at the project level, updating the start and end date, the multimarket will have GBPUSD, GBPUSD, and EURUSD which makes GBPUSD redundant so I need the multi-market to change back the GBPUSD to AUDUSD.
Proposed Process:
Add a clone action CLI with the ability to modify the symbol, start date, end date. There is an option to exclude updating the symbol on cross-checks
Command-line
The command line below will clone the AUDUSD_Project and create GBPUSD_Project for GBPUSD with startdate of 1995-01-01 to 2022-01-01. It will exclude updating the symbol on cross-checks
sqcli.exe -project action=clone source=AUDUSD_Project name=GBPUSD_Project start_date=1995-01-01 end_date=2022-01-01 update_symbol_on_cross_check=false
Original Commandline
sqcli.exe -project action=clone source=AUDUSD_Project name=GBPUSD_Project start_date=1995-01-01 end_date=2022-01-01 update_symbol_on_cross_check=false
Alternative Commandline
Instead of specifying the start date and end date. Use full_history=true. If true, CLI will use the full duration of the historical data. if neither full_history nor start date/end_date is specified on the commandline, keep the start date/end date of the source project.
sqcli.exe -project action=clone source=AUDUSD_Project name=GBPUSD_Project full_history=true update_symbol_on_cross_check=false
sqcli.exe -project action=clone source=AUDUSD_Project name=GBPUSD_Project symbol=GBPUSD start_date=1995-01-01 end_date=2022-01-01 update_symbol_on_cross_check=false
Exclusion
Furthermore, we may need to do a recency test that does a retest in the last 5 years only or have a retest task for a different symbol. In this case, the original custom project will have the required configuration. Therefore, we need to add the following parameters
exclude_date_change parameter to prevent updating the start date and end date of a retest task(s). It can have multiple tasks which are separated by a comma. The example below will exclude the OtherMarket1 and OtherMarket2 tasks.
exclude_symbol_change parameter to prevent updating the symbol of retest task(s). It can have multiple tasks which are separated by a comma. The example below will exclude the Recency task.
sqcli.exe -project action=clone source=AUDUSD_Project name=GBPUSD_Project symbol=GBPUSD start_date=1995-01-01 end_date=2022-01-01 exclude_symbol_change=OtherMarket1, OtherMarket2 exclude_date_change=Recency update_symbol_on_cross_check=false