Вопросы от "чайника" - страница 101

 
Desead:
Подскажите, как получить цену бид и аск другой валютной пары, не текущей на данный момент, в мт4 была команда маркетинфо, в мт5 её нету.

Статья Вам в помощь - Переход с MQL4 на MQL5

Конкретно по вашему вопросу:

SymbolInfoDouble() и параметры SYMBOL_BID/SYMBOL_ASK

//Аналог маркетинфо
double  EurAsk = SymbolInfoDouble("EURUSD",SYMBOL_ASK);
double  EurBid = SymbolInfoDouble("EURUSD",SYMBOL_BID);

double  GbpAsk = SymbolInfoDouble("GBPUSD",SYMBOL_ASK);
double  GbpBid = SymbolInfoDouble("GBPUSD",SYMBOL_BID);
 
скажите пожалуйста, в mt5 в инструментах есть календарь новостей, может ли советник как-то анализировать их? Хотябы получить время выхода и валюту на которую повлияет новость.
 
Lazarev:
скажите пожалуйста, в mt5 в инструментах есть календарь новостей, может ли советник как-то анализировать их? Хотябы получить время выхода и валюту на которую повлияет новость.

Если новости отмечены на графике (управляется опционально) то как я понимаю советник может их обнаружить. На счет всего остального нужно самостоятельно решение искать.

А я ведь уже второй год разработчиков прошу новости подвязать на MQL и архив обеспечить (а не как сейчас за неделю).

 
Interesting:

Если новости отмечены на графике (управляется опционально) то как я понимаю советник может их обнаружить. На счет всего остального нужно самостоятельно решение искать.

А я ведь уже второй год разработчиков прошу новости подвязать на MQL и архив обеспечить (а не как сейчас за неделю). 

вы в другой теме написали что эти новости можно обнаружить через обьекты граффика, не подскажите как? я хочу написать советника торгующего на новостях, пусть даже не будет оптимизироваться в тестере, сам как нибудь на демо счете подкорректирую работу
 
Lazarev:
вы в другой теме написали что эти новости можно обнаружить через обьекты граффика, не подскажите как? я хочу написать советника торгующего на новостях, пусть даже не будет оптимизироваться в тестере, сам как нибудь на демо счете подкорректирую работу

Новости отображенные на чарте это граф. объекты типа OBJ_EVENT, по этому типу можно получить информацию, но она весьма скудная, можно получить лишь имя новости и время выхода, ни значимость ни другую информацию из таблицы календаря получить не выйдет.

Вот скриптик, который к новостным эвентам добавляет вертикальные линии, думаю в качестве старта для вашей темы пойдёт.

Файлы:
 
никак не могу понять что именно в индикаторе рисует . Т.е. какая функция отдаёт приказ нарисовать. Можно привести кто-либо пример тела функции OnCalculate которая рисует прямую линию со значением 17. 
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Desead:
никак не могу понять что именно в индикаторе рисует . Т.е. какая функция отдаёт приказ нарисовать. Можно привести кто-либо пример тела функции OnCalculate которая рисует прямую линию со значением 17. 

Вам индикаторными буферами, или граф. объектами ?

ЗЫ в индикаторе рисуются индикаторные буфера, те массивы объявленыне таковыми, стили рисования задаются в свойствах предпроцессора #property indicator_...

То есть, всё что находится в индикаторных буферах будет автоматически отрисовано.

Файлы:
Test.mq5  3 kb
 
Urain:

Вам индикаторными буферами, или граф. объектами ?

ЗЫ в индикаторе рисуются индикаторные буфера, те массивы объявленыне таковыми, стили рисования задаются в свойствах предпроцессора #property indicator_...

То есть, всё что находится в индикаторных буферах будет автоматически отрисовано.

спасибо, сейчас посмотрю.

Вообще задача крайне простая, построить в отдельном окне график разницы котировок eurusd и gbpusd. Цены текущих котировок я получил. Разницу соответственно тоже. То есть на каждый тик у меня есть какое-то значение по которому нужно нарисовать точку, впоследствии которые образуют линию, ну или провести линию через по данным координатам.

Про граф.объекты пока даже не столкнулся, понял что нужно использовать буфера, массивы с разнонаправленной индикацией, не могу правда понять зачем, учитывая что мне не надо проводить сглаживание по периоду. Поищу про рисование графическими объектами, может там что мне нужно есть.

 
Desead:

спасибо, сейчас посмотрю.

Вообще задача крайне простая, построить в отдельном окне график разницы котировок eurusd и gbpusd. Цены текущих котировок я получил. Разницу соответственно тоже. То есть на каждый тик у меня есть какое-то значение по которому нужно нарисовать точку, впоследствии которые образуют линию, ну или провести линию через по данным координатам.

Про граф.объекты пока даже не столкнулся, понял что нужно использовать буфера, массивы с разнонаправленной индикацией, не могу правда понять зачем, учитывая что мне не надо проводить сглаживание по периоду. Поищу про рисование графическими объектами, может там что мне нужно есть.

Обратите внимание, будут проблемы с синхронизацией. С начало нужно создать синхронизированную базу данных а затем делать вычеты.

string Symbolbuf[6]={"EURUSD","GBPUSD","AUDUSD","USDJPY","USDCHF","USDCAD"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmin(datetime value1,datetime value2)
  {
   return(value1<value2?value1:value2);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmax(datetime value1,datetime value2)
  {
   return(value1>value2?value1:value2);
  }  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   datetime timestart;
   timestart=(datetime)SeriesInfoInteger(Symbolbuf[0],PERIOD_M1,SERIES_FIRSTDATE);
   for(int i=1;i<6;i++)
     {
      timestart=fmax(timestart,(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));
      Print(Symbolbuf[i]," = ",(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));      
     }
   Print("-----------------   ",timestart);  
   for(int i=0;i<6;i++)
     {
      Print(Symbolbuf[i]," = ",Bars(Symbolbuf[i],PERIOD_M1,timestart,TimeCurrent()));
     }
  }
 

Здравствуйте. Я хочу запустить свой эксперт для работы на паре AUD/USD. Как мне это сделать, у меня получается только на евро/доллар. Я менял пару в меню Сервис/Настройки/Отладка. Но получил сообщение  "Выбранный символ не найден"

Спасибо. 

Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5