Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1034

 
The_Sheikh:

Уже ближе к истине. Но в таком случае как быть, если рисоваться должны второй и шестой? Никак?

Не знаю.

 
The_Sheikh:

Уже ближе к истине. Но в таком случае как быть, если рисоваться должны второй и шестой? Никак?

1) "Второй и шестой" - вы сами решаете как распределить номера ;)

2) INDICATOR_CALCULATIONS и DRAW_NONE против INDICATOR_DATA и неDRAW_NONE (любой другой) работают для любого порядкового номера.

 
The_Sheikh:

Уже ближе к истине. Но в таком случае как быть, если рисоваться должны второй и шестой? Никак?

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


INDICATOR_DATA

Данные для отрисовки

INDICATOR_COLOR_INDEX

Цвета отрисовки

INDICATOR_CALCULATIONS

Вспомогательные буферы для промежуточных вычислений

 
The_Sheikh:

Кстати, а в MQL5 есть альтернатива этой функции?

В mql5 нет необходимости в такой функции. Я-же привёл пример написания. Отличие с mql4 только в последовательности и орфографии.

 
Спасибо всем ответившим!
 

Пусть в настойках терминала задано максимальное число баров на графике 10000. Тогда в скрипте и индикаторе функция Bars() возвращает заданное в настройках число + количество новых появившихся свечей.

То есть число свечей, отображаемое на графике, не будет ограничиваться 10000?

Как в MQL узнать именно количество заданное в настройках терминала?

Если количество баров достигнет максимального значения типа int, то что будет происходить дальше с числом свечей и с позициями элементов массивов-таймсерий?

 
The_Sheikh:

Как в MQL узнать именно количество заданное в настройках терминала?

TerminalInfoInteger(TERMINAL_MAXBARS))
The_Sheikh:

Если количество баров достигнет максимального значения типа int, то что будет происходить дальше с числом свечей

кол-во баров будет увеличиваться, т.е. будет больше значения  TERMINAL_MAXBARS

, потом по неизвестным алгоритмам, терминал "сбросит лишние бары" - когда, неизвестно, в индикаторе актуальное кол-во баров на чарте будет в const int rates_total, оно же будет и в iBars() https://www.mql5.com/ru/docs/series/ibars

т.е. исходя из сказанного - TERMINAL_MAXBARS это данные из окошка терминала, а iBars() - это реальное значение баров на чарте


The_Sheikh:

 и с позициями элементов массивов-таймсерий?

если речь идет о индикаторных буферах, то терминал сам распределяет для них память и размер массива связанного с индикаторным буфером всегда равен rates_total элементов

индикатор для проверки:

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   static datetime t=0;
   if(t!=time[rates_total-1])
     {
      Print("rates_total = ",rates_total, ", TERMINAL_MAXBARS = ",TerminalInfoInteger(TERMINAL_MAXBARS));
      t=time[rates_total-1];
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }

лог индикатора:

2019.04.30 19:10:12.247 rates (EURUSD,M1) rates_total = 50000, TERMINAL_MAXBARS = 50000

2019.04.30 19:10:29.699 rates (EURUSD,M1) rates_total = 50001, TERMINAL_MAXBARS = 50000

2019.04.30 19:11:29.392 rates (EURUSD,M1) rates_total = 50002, TERMINAL_MAXBARS = 50000

2019.04.30 19:12:30.125 rates (EURUSD,M1) rates_total = 50003, TERMINAL_MAXBARS = 50000


Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
Документация по MQL5: Доступ к таймсериям и индикаторам / iBars
  • www.mql5.com
Количество баров в истории по соответствующему символу и периоду, но не более чем задано в настройках платформы параметром "Макс. баров в окне" ("Max bars in chart")
 

Хочу познакомится с разработкой интерфейсов в MQL5 на EasyAndFastGUI

Есть 10 частей (или чего?) статей "Графические интерфейсы", начиная с 2015 года

У меня вопрос, они все последовательны, или старые смысла читать нет?

 
Roman Sharanov:

Хочу познакомится с разработкой интерфейсов в MQL5 на EasyAndFastGUI

Есть 10 частей (или чего?) статей "Графические интерфейсы", начиная с 2015 года

У меня вопрос, они все последовательны, или старые смысла читать нет?

Хотите разобраться - читайте с начала. Хотите методом тыка - загрузите последнюю версию и изучайте примеры.
 

Всем привет! Впрос по MQL5.
Как правильно закрыть ордер, не нашел нормального примера. Просто закрывать умею, классом CTrade пользуюсь, но есть ли нормальное готовое решение?
Цель не просто отправить команду на закрытие, а иметь фукцию которая возвращает true только после того как получит от брокера ответ "ДА, ПОЗИЦИЯ ТОЧНО ЗАКРЫТА, расслабься))".
Про trade.ResultRetcode() знаю и про TRADE_RETCODE_DONE тоже, но не хочется изобретать велосипед, есть у кого готовое решение?