Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 28

 
Vladimir Karputov:

Перенесено:

Gevorg Hakobyan, 2016.12.08 15:26

Здравствуйте. Как можно получить список всех существующих в Meta Trader 4 валютных пар? И как быть в курсе любых изменений в списке?
https://docs.mql4.com/ru/marketinformation/symbolstotal
SymbolsTotal - Получение рыночной информации - Справочник MQL4
SymbolsTotal - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolsTotal - Получение рыночной информации - Справочник MQL4
 
Sergey Gritsay:

SymbolsTotal

Возвращает количество доступных (выбранных в MarketWatch или всех) символов.

int  SymbolsTotal(
   bool  selected      // true – только символы в MarketWatch
   );

Параметры

selected

[in]  Режим запроса. Может принимать значения true или false.

Возвращаемое значение

Если параметр selected равно true, то возвращается количество выбранных в MarketWatch символов. Если значение false, то возвращается общее количество всех символов.

Спасибо Сергей. Но мне нужно не количество, а список всех существующих, для обработки и вычисления силы валюты в рынке.
 
Спасибо Ренат. Но мне нужно не количество, а список всех существующих, для обработки и вычисления силы валюты в рынке.

 
На демо и реальных счетах одного брокера этот список имеет разное количество валютных пар. Я пишу индикатор, в котором вычисляются данные для выбранного валюты из всех валютных пар, в которых он присутствует. Так как индикатор должен работать на всех счетах, заранее нужно учитывать доступность этих пар.
 
Gevorg Hakobyan:
Спасибо Ренат. Но мне нужно не количество, а список всех существующих, для обработки и вычисления силы валюты в рынке.

Там функций много, смотрите какие Вам нужны из того раздела

https://docs.mql4.com/ru/marketinformation/symbolname

SymbolName - Получение рыночной информации - Справочник MQL4
SymbolName - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolName - Получение рыночной информации - Справочник MQL4
 
Gevorg Hakobyan:
Спасибо Ренат. Но мне нужно не количество, а список всех существующих, для обработки и вычисления силы валюты в рынке.

Сначала получаем список всех символов:

//+------------------------------------------------------------------+
//|                                                   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).

Файлы:
 
Vladimir Karputov:

Сначала получаем список всех символов:

Здесь используется перебор по всем символам доступным в MarketWatch.

Но просто список ничего не даст. Для того, чтобы получить свойства символа, нужно сначала его выбрать (SymbolSelect).

Вот тут опечатка: int count=SymbolsTotal(false); // false - all symbols in MarketWatch  - //Если значение false, то возвращается общее количество всех символов.
 
Список даст то, что человек просил, то есть информацию о всех символах. А уже дальше выбор и обработка каждого по очереди.
 
Спасибо всем. Думаю нашел решение. Попробую сначала сравнить мой список со списком MarketWatch. При наличии новых пар добавлю их в свой список, а при отсутствии просто удалю лишние. Только сейчас уже новая проблема - результаты будут не однозначными и будут зависеть от MarketWatch.
 

Всем доброго дня! Подскажите пожалуйста как поставить удаление ордера в советнике.

Ситуация такая:

выставляем 2 отложенных ордера в разных направлениях, как только срабатывает один из них, то другой удаляется и больше не выставляется.

Буду очень благодарен за помощь.

Спасибо. 

 
yaaarik777:

Всем доброго дня! Подскажите пожалуйста как поставить удаление ордера в советнике.

Ситуация такая:

выставляем 2 отложенных ордера в разных направлениях, как только срабатывает один из них, то другой удаляется и больше не выставляется.

Буду очень благодарен за помощь.

Спасибо. 

Cчитать количество отложенных ордеров, если меньше 2 - удалять тот, что остался.

Чтобы обратно не выставлялись, это уже сложнее, нужно анализировать время и условия выставления ордеров. 

Причина обращения: