No, not reliable. You should check last error, not returned value
double bid=MarketInfo(SY,MODE_BID); if(GetLastError()==4106) // unknown symbol return(false) else return(true)
You can use other modes: MODE_LOW,MODE_HIGH,MODE_TIME,MODE_ASK,MODE_POINT,MODE_DIGITS, MODE_SPREAD,MODE_MARGINREQUIRED. Then You check nonselected symbols.
If You use MODE_TICKVALUE or other unlisted above modes You can get information about nonselected in the MarketWatch window symbols (however symbol can exist). In this case if last error is 4106 then symbol is nonselected and nonexisted.
That is exactly what I need.
The perfectly described answer.
Thank you very much.
Petr Qaxi
My question, which remains unanswered, is how to "discover" symbols.
Yes, we can run through a list of all possible currencies, but that does not address additional securities or indexes that may be available at a Dealer.
My question, which remains unanswered, is how to "discover" symbols.
Yes, we can run through a list of all possible currencies, but that does not address additional securities or indexes that may be available at a Dealer.
Unfortunately, this information cannot be obtained programmatically
stringo:
Unfortunately, this information cannot be obtained programmatically
1. Right click on Market Watch, then select Show All. That will display all existing symbols
2. Right click on Market Watch again. Select Sets, Save As.... Call it Universe.set. This set file is saved into symbolsets folder.
3. Make a link to your symbolsets folder by entering the command in your dos prompt.
mklink /d "C:\Program Files (x86)\MetaTrader\experts\files\symbolsets" "C:\Program Files (x86)\MetaTrader\symbolsets"
The command above creates a subfolder under your experts\files folder. Everything inthis folder including subfolders are accessible with FILEOPEN.
4. Once the symbolic link is established, you may now FILEOPEN("symbolsets\universe.set",FILE_CSV|FILE_READ);
5. You may read through your file universe.set just like any other text file.
Unfortunately, this information cannot be obtained programmatically
My question, which remains unanswered, is how to "discover" symbols.
Yes, we can run through a list of all possible currencies, but that does not address additional securities or indexes that may be available at a Dealer.
1. Right click on Market Watch, then select Show All. That will display all existing symbols
2. Right click on Market Watch again. Select Sets, Save As.... Call it Universe.set. This set file is saved into symbolsets folder.
3. Make a link to your symbolsets folder by entering the command in your dos prompt.
mklink /d "C:\Program Files (x86)\MetaTrader\experts\files\symbolsets" "C:\Program Files (x86)\MetaTrader\symbolsets"
The command above creates a subfolder under your experts\files folder. Everything inthis folder including subfolders are accessible with FILEOPEN.
4. Once the symbolic link is established, you may now FILEOPEN("symbolsets\universe.set",FILE_CSV|FILE_READ);
5. You may read through your file universe.set just like any other text file.
1. Right click on Market Watch, then select Show All. That will display all existing symbols
2. Right click on Market Watch again. Select Sets, Save As.... Call it Universe.set. This set file is saved into symbolsets folder.
3. Make a link to your symbolsets folder by entering the command in your dos prompt.
mklink /d "C:\Program Files (x86)\MetaTrader\experts\files\symbolsets" "C:\Program Files (x86)\MetaTrader\symbolsets"
The command above creates a subfolder under your experts\files folder. Everything inthis folder including subfolders are accessible with FILEOPEN.
4. Once the symbolic link is established, you may now FILEOPEN("symbolsets\universe.set",FILE_CSV|FILE_READ);
5. You may read through your file universe.set just like any other text file.
It took you 5 years to answer this post ?
Why not just do it the same way that allmarketdata does it ? https://www.mql5.com/en/forum/141214
My question, which remains unanswered, is how to "discover" symbols.
Yes, we can run through a list of all possible currencies, but that does not address additional securities or indexes that may be available at a Dealer.
for( i=0; i<SymbolsTotal(false); i++) Print( SymbolName( i, false));
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Curently I use this:
Is It OK?
What you use?
Petr "Qaxi" Klima
http://sourceforge.net/projects/mql4-qaxi-libs/