Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1379
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Объясните, пожалуйста..
В библии написано: В переменной _Period хранится значение таймфрейма текущего графика.
Фактические значения _Period для ТФ:
М1 = 1
М5 = 5
М15 = 15
М30 = 30
H1 = 16385
H4 = 16388
H6 = 16390
Объясните, пожалуйста, числа 60, 120 и т.д. что.. уже не в моде?
Если знаете, хотя бы намекните в чём тут фишка?
И теперь я боюсь спросить.. а в каких местах нашего загадочного MQL ещё есть подобные фишки? :(
вот тут есть периоды https://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
вместо цифр - пропишите периоды
Объясните, пожалуйста..
В библии написано: В переменной _Period хранится значение таймфрейма текущего графика.
Фактические значения _Period для ТФ:
М1 = 1
М5 = 5
М15 = 15
М30 = 30
H1 = 16385
H4 = 16388
H6 = 16390
Объясните, пожалуйста, числа 60, 120 и т.д. что.. уже не в моде?
Если знаете, хотя бы намекните в чём тут фишка?
И теперь я боюсь спросить.. а в каких местах нашего загадочного MQL ещё есть подобные фишки? :(
Справку нужно читать полностью:
Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES. Ключевое здесь - "... перечисления ENUM_TIMEFRAMES."
И Вам НУЖНО использовать ЭЛЕМЕНТЫ перечисления. Например PERIOD_H1, PERIOD_M15 ... А то, какое внутренне значение имеет элемент перечисления Вам вообще не нужно знать.
Объясните, пожалуйста..
В библии написано: В переменной _Period хранится значение таймфрейма текущего графика.
Фактические значения _Period для ТФ:
М1 = 1
М5 = 5
М15 = 15
М30 = 30
H1 = 16385
H4 = 16388
H6 = 16390
Объясните, пожалуйста, числа 60, 120 и т.д. что.. уже не в моде?
Если знаете, хотя бы намекните в чём тут фишка?
И теперь я боюсь спросить.. а в каких местах нашего загадочного MQL ещё есть подобные фишки? :(
Вы как их получили?
вот тут есть периоды https://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
вместо цифр - пропишите периоды
Спасибо за совет.
Если особенность известна, то учитывать её не сложно. Я использую PeriodSeconds();
Беда в том, что заранее не известно откуда ждать эти.. особенности.
Справку нужно читать полностью:
Содержимое переменной _Period, в которой хранится значение таймфрейма текущего графика. Значение может быть одним из значений перечисления ENUM_TIMEFRAMES. Ключевое здесь - "... перечисления ENUM_TIMEFRAMES."
И Вам НУЖНО использовать ЭЛЕМЕНТЫ перечисления. Например PERIOD_H1, PERIOD_M15 ... А то, какое внутренне значение имеет элемент перечисления Вам вообще не нужно знать.
Спасибо за Ваше участие.
Но тут беда такая: я читать-то не умею:(
И вообще, я не жду, что мне укажут что я должен делать. Я надеялся получить ответ на свой дурацкий вопрос.
Вы как их получили?
Ну вот. Вы получаете значение перечисления.
...
Если особенность известна, то учитывать её не сложно. Я использую PeriodSeconds();
...
Если бы использовали - то и вопрос бы не возник.
Объясните, пожалуйста..
В библии написано: В переменной _Period хранится значение таймфрейма текущего графика.
Фактические значения _Period для ТФ:
М1 = 1
М5 = 5
М15 = 15
М30 = 30
H1 = 16385
H4 = 16388
H6 = 16390
Объясните, пожалуйста, числа 60, 120 и т.д. что.. уже не в моде?
Если знаете, хотя бы намекните в чём тут фишка?
И теперь я боюсь спросить.. а в каких местах нашего загадочного MQL ещё есть подобные фишки? :(
Источник:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Скрытый смысл таймфреймов в MQL5
Serhii Shevchuk, 2017.02.27 01:53
Да, но это медленно работает. Для сравнения набросал небольшой скрипт:input long InpCycles=1000000000;
ENUM_TIMEFRAMES TF_list[32]={
PERIOD_MN1, PERIOD_W1, PERIOD_D1, PERIOD_H12,
PERIOD_H8, PERIOD_H6, PERIOD_H4, PERIOD_H3,
PERIOD_H2, PERIOD_H1, PERIOD_M30, PERIOD_M20,
PERIOD_M15, PERIOD_M12, PERIOD_M10, PERIOD_M6,
PERIOD_M5, PERIOD_M4, PERIOD_M3, PERIOD_M2,
PERIOD_M1, PERIOD_MN1, PERIOD_W1, PERIOD_D1,
PERIOD_M5, PERIOD_M4, PERIOD_M3, PERIOD_M2,
PERIOD_H2, PERIOD_H1, PERIOD_M30, PERIOD_M20
};
int PeriodMinutes(ENUM_TIMEFRAMES tf)
{
uint t = uint(tf);
uint f = 0xc000&t;
uint min = 0x00FF&t;
if(f==0x4000) min*= 60;
else if(f==0x8000) min*= 10080;
else if(f==0xc000) min*= 43200;
return(int(min));
}
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
ulong tmp = 0;
//
uint idx = 0;
ulong t0 = GetMicrosecondCount();
for(long i=0;i<InpCycles;i++)
tmp+= PeriodMinutes(TF_list[0x1f&(idx++)]);
ulong t1 = GetMicrosecondCount();
Print("1) tmp = ",tmp,"... dT = ",t1-t0);
//---
tmp = 0;
idx = 0;
t0 = GetMicrosecondCount();
for(long i=0;i<InpCycles;i++)
tmp+= PeriodSeconds(TF_list[0x1f&(idx++)])/60;
t1 = GetMicrosecondCount();
Print("2) tmp = ",tmp,"... dT = ",t1-t0);
//---
}
//+------------------------------------------------------------------+
и
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Скрытый смысл таймфреймов в MQL5
Renat Fatkhullin, 2017.02.26 23:37
Это сделано для внутренней оптимизации.Ну вот. Вы получаете значение перечисления.
Если бы использовали - то и вопрос бы не возник.
Я не согласен.
Полагаю, это не оправдание и не объяснение даже.
Общая логика предопределённых переменных состоит в том, что к ним можно обратиться напрямую, и они отдают свои значения.
Так можно обращаться, например, к _Point, _Digits и т.п. И это - нормально.
Интуитивно ожидается, что и все другие предопределённые переменные обладают подобными свойствами.
Но в случае с _Period это не так.
--
Ещё раз всем спасибо. Будем считать, что вопрос снят.
Всем хороших выходных!)
для чего шифратор встроен в mql? не могу найти ему разумное применение
от самого себя нет смысла шифровать, а для второго пользователя видится только глобальные переменные терминалы
Сохранять на диск своё состояние, обмениваться данными через инет.