Возвращает количество доступных (выбранных в MarketWatch или всех) символов.
int SymbolsTotal( boolselected// true – только символы в MarketWatch );
Параметры
selected
[in] Режим запроса. Может принимать значения true или false.
Возвращаемое значение
Если параметр selected равно true, то возвращается количество выбранных в MarketWatch символов. Если значение false, то возвращается общее количество всех символов.
Спасибо Сергей. Но мне нужно не количество, а список всех существующих, для обработки и вычисления силы валюты в рынке.
На демо и реальных счетах одного брокера этот список имеет разное количество валютных пар. Я пишу индикатор, в котором вычисляются данные для выбранного валюты из всех валютных пар, в которых он присутствует. Так как индикатор должен работать на всех счетах, заранее нужно учитывать доступность этих пар.
Здесь используется перебор по всем символам доступным в MarketWatch.
Но просто список ничего не даст. Для того, чтобы получить свойства символа, нужно сначала его выбрать (SymbolSelect).
Вот тут опечатка:int count=SymbolsTotal(false);// false - all symbols in MarketWatch - //Если значение false, то возвращается общее количество всех символов.
Список даст то, что человек просил, то есть информацию о всех символах. А уже дальше выбор и обработка каждого по очереди.
Спасибо всем. Думаю нашел решение. Попробую сначала сравнить мой список со списком MarketWatch. При наличии новых пар добавлю их в свой список, а при отсутствии просто удалю лишние. Только сейчас уже новая проблема - результаты будут не однозначными и будут зависеть от MarketWatch.
Перенесено:
Gevorg Hakobyan, 2016.12.08 15:26
Здравствуйте. Как можно получить список всех существующих в Meta Trader 4 валютных пар? И как быть в курсе любых изменений в списке?SymbolsTotal
Возвращает количество доступных (выбранных в MarketWatch или всех) символов.
int SymbolsTotal(
bool selected // true – только символы в MarketWatch
);
Параметры
selected
[in] Режим запроса. Может принимать значения true или false.
Возвращаемое значение
Если параметр selected равно true, то возвращается количество выбранных в MarketWatch символов. Если значение false, то возвращается общее количество всех символов.
https://docs.mql4.com/ru/marketinformation/symbolstotal
Там функций много, смотрите какие Вам нужны из того раздела
https://docs.mql4.com/ru/marketinformation/symbolname
Сначала получаем список всех символов:
//| AllSymbols.mq5 |
//| Copyright © 2016, Vladimir Karputov |
//| http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
int count=SymbolsTotal(false); // false - all symbols in MarketWatch
for(int i=0;i<count;i++)
Print(i,": ",SymbolName(i,false));
}
//+------------------------------------------------------------------+
Здесь используется перебор по всем символам доступным в MarketWatch.
Но просто список ничего не даст. Для того, чтобы получить свойства символа, нужно сначала его выбрать (SymbolSelect).
Сначала получаем список всех символов:
Здесь используется перебор по всем символам доступным в MarketWatch.
Но просто список ничего не даст. Для того, чтобы получить свойства символа, нужно сначала его выбрать (SymbolSelect).
Всем доброго дня! Подскажите пожалуйста как поставить удаление ордера в советнике.
Ситуация такая:
выставляем 2 отложенных ордера в разных направлениях, как только срабатывает один из них, то другой удаляется и больше не выставляется.
Буду очень благодарен за помощь.
Спасибо.
Всем доброго дня! Подскажите пожалуйста как поставить удаление ордера в советнике.
Ситуация такая:
выставляем 2 отложенных ордера в разных направлениях, как только срабатывает один из них, то другой удаляется и больше не выставляется.
Буду очень благодарен за помощь.
Спасибо.
Cчитать количество отложенных ордеров, если меньше 2 - удалять тот, что остался.
Чтобы обратно не выставлялись, это уже сложнее, нужно анализировать время и условия выставления ордеров.