Loop through the open charts and check the symbol / timeframe as required.
If the chart isn't found, open the chart using ChartOpen() . You can also use ChartApplyTemplate() for your newly opened chart, if required.
An example which will check for the GBPJPY M15 chart, and open one if necessary:
string sym = "GBPJPY"; int tf = PERIOD_M15; bool found = false; long ID = ChartFirst(); while(ID>=0) { if(ChartSymbol(ID)==sym && ChartPeriod(ID)==tf) { found=true; break; } ID=ChartNext(ID);} if(!found) { ChartOpen(sym,tf);}
You can loop through the open charts with ChartFirst(), ChartNext(), ChartID(), ChartSymbol(), ..
It's all in the reference

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
I'm racking my brain about this and can't quite figure it out.
How can I go about checking to see if a chart is open or not? And if it's not open, open it?
Thanks.