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

 
DKarpoff:

Мне нужно перебрать свечи в цикле индикатора но не с 0й а с первой свечи на прошлой неделе.

 for(int i=0; i<rates_total; i++) - это все бары

а нужно что-то типа:

X=(ИндексПервойСвечиТекущейТорговойНедели(EURUSD,H1))+120;

for(int i=(rates_total-X); i<rates_total; i++)

Вы хотите в индикаторе узнать индекс первой свечи какого-то дня НА ТЕКУЩЕМ ТАЙМФРЕЙМЕ? (текущий таймфрейм - таймфрейм на котором запущен индикатор)

 

Я уже пятью способами одно и то же сказал, Вы издеваетесь?

Для моего брокера по EURUSD H1 сейчас индекс первой часовой свечи за эту торговую неделю - 100029.

Есть в MQL5 вункция способная при передаче ей, таймфрейма H1 и названия пары EURUSD вертуть мне это число? И сегодня, и завтра и в пятницу вечером?
 
DKarpoff:

Я уже пятью способами одно и то же сказал, Вы издеваетесь?

Для моего брокера по EURUSD H1 сейчас индекс первой часовой свечи за эту торговую неделю - 100029.

Советую не горячиться и помнить, что здесь технический форум. Вам может все показаться странным, но я задаю такие уточнящие вопросы, так как в зависимости от ситуации решение может быть ОЧЕНЬ и ОЧЕНЬ разным.

Итак повторю вопрос:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Vladimir Karputov, 2020.11.02 10:52

Вы хотите в индикаторе узнать индекс первой свечи какого-то дня НА ТЕКУЩЕМ ТАЙМФРЕЙМЕ? (текущий таймфрейм - таймфрейм на котором запущен индикатор)


 
Vladimir Karputov:

Советую не горячиться и помнить, что здесь технический форум. Вам может все показаться странным, но я задаю такие уточнящие вопросы, так как в зависимости от ситуации решение может быть ОЧЕНЬ и ОЧЕНЬ разным.

Итак повторю вопрос:


нет, нужна функция возвращающая день недели, или функция возвращающая индекс первой свечи в понедельник. на текущем, на каком укажу...
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как правило...
 

Вот все что нашел в справке про дни недели:

Для указания дня недели предназначены значения перечисления ENUM_DAY_OF_WEEK.


Есть перечисление, но где оно используется непонятно... ткните носом если есть.

 

Добрый день.

Вопрос такого плана...

В MQL4 в хелпе было четко сказано, что если из разных мест кода вызывать с помощью iCustom один и тот же индикатор с одним и тем же набором входных параметров, то при первом вызове копия индикатора создается в памяти, индикатор просчитывается (можно получать от него данные), при последующих вызовах того же индикатора с тем же набором входных параметров новая копия индикатора в памяти не создается, просто забираются данные из уже созданного и рассчитанного индикатора.

Вопрос: как с этим обстоит дело в MQL5?
Вопрос возник вот из чего:

Есть советник, котоорый через iCustom вызывает расчет двух индикаторов (назовем их "Индикатор А" и "Индикатор Б"). При этом сам "Индикатор Б" в своем коде так же вызывает расчет "Индикатора А" с тем же набором входных параметров. При этом на закладке "Журнал" МТ5 выдается 3 сообщения: одно о загрузке "Индикатора Б" и 2 о загрузке "Индикатора А". Значит ли это, что "Индикатор А" просчитывается дважды?

Пытался распечатать хендлы индикаторов, которые получаются при вызовах iCustom - толку никакого - судя по всему для каждого отдельного кода нумерация хендлов своя (локальная), поэтому сравнение хендлов ничего не дает.

 
satorifx:

Добрый день.

Вопрос такого плана...

В MQL4 в хелпе было четко сказано, что если из разных мест кода вызывать с помощью iCustom один и тот же индикатор с одним и тем же набором входных параметров, то при первом вызове копия индикатора создается в памяти, индикатор просчитывается (можно получать от него данные), при последующих вызовах того же индикатора с тем же набором входных параметров новая копия индикатора в памяти не создается, просто забираются данные из уже созданного и рассчитанного индикатора.

Вопрос: как с этим обстоит дело в MQL5?
Вопрос возник вот из чего:

Есть советник, котоорый через iCustom вызывает расчет двух индикаторов (назовем их "Индикатор А" и "Индикатор Б"). При этом сам "Индикатор Б" в своем коде так же вызывает расчет "Индикатора А" с тем же набором входных параметров. При этом на закладке "Журнал" МТ5 выдается 3 сообщения: одно о загрузке "Индикатора Б" и 2 о загрузке "Индикатора А". Значит ли это, что "Индикатор А" просчитывается дважды?

Пытался распечатать хендлы индикаторов, которые получаются при вызовах iCustom - толку никакого - судя по всему для каждого отдельного кода нумерация хендлов своя (локальная), поэтому сравнение хендлов ничего не дает.

В MQL5 любой индикатор нужно создавать один раз путем получения хендла индикатора. И делать это нужно в OnInit().

 
DKarpoff:

Вот все что нашел в справке про дни недели:

Для указания дня недели предназначены значения перечисления ENUM_DAY_OF_WEEK.


Есть перечисление, но где оно используется непонятно... ткните носом если есть.

TimeToStruct() Вам поможет )))

 
Vladimir Karputov:

В MQL5 любой индикатор нужно создавать один раз путем получения хендла индикатора. И делать это нужно в OnInit().

То, что вы ответили, мне прекрасно известно, и именно так и сделано: как в эксперте, так и во всех индикаторах. А спрашивал я совсем не об этом.

 
Сергей Таболин:

TimeToStruct() Вам поможет )))

Спасибо тебе добрый человек =) То что надо!