Yeah, ok, I see. I wasn't clear enough.
So when I run the system, Amibroker launches, runs an exploration, then creates a csv, one columns of which I have created is "Signal" (Via AddTextColumn())
Buy = <SOME CONDITION>
Sell = <SOME CONDITION>
TextList = "No signal\nBuy\nSell\nBuy and Sell";
TextSelector = 1 * Buy + 2 * Sell;
AddMultiTextColumn( TextSelector, TextList, "Signal" );
I then use a python script which is executed via "Execute and Wait", which parses the signals and does the position size calculation and capital allocation rules etc in python, externally to Amibroker.
At the exchange end, to save on trading fees, I am placing limit orders and making a, API call to get the order book each time, and then checking afterward to see if the positions have been filled, so a file can be parsed my end keeping record of the trades I have open in that system. This means that the thread can take a minute or more on the hour.
So in the scenario where I am running, say 4 hourly systems at once, it would be quite sub-optimal to do system 1 -> system 2 -> system 3 ->system 4, as by the time system 4 is going, I'll be 6 minutes into the hour.
The next consideration is, that I must ensure that the data import is complete before I launch my systems, so I did not want to simply launch several .abb vi the Amibroker scheduler on the hour, as it would be scanning 1 bar behind data, so I would run "HourlySystems.bat"...
start "path/to/system1.bat"
start "path/to/system2.bat"
start "path/to/system3.bat"
start "path/to/system4.bat"
from the .bat file I use to launch my data import.
So, based on my understanding, is that I am not modifying data, that I am creating csv files only, I am assuming I will be safe to run these.