Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 700
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
нужно добавить параметр
Спасибо, вот ещё бы сообразить, как добавить...
Не могу въехать, как выразить High[] в пятерке???
double High[]Не могу въехать, как выразить High[] в пятерке???
Я выражаю так, может не совсем правильно записано, но работает:
if(symb=="0") { symb=Symbol();}
double _Open[];
double open=0;
ArraySetAsSeries(_Open,true);
int copied=CopyOpen(symb,tf,0,Bars(symb,tf),_Open);
if(copied>0 && index<copied) open=_Open[index];
return(open);
}
double iClose(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
double _Close[];
double close=0;
ArraySetAsSeries(_Close,true);
int copied=CopyClose(symb,tf,0,Bars(symb,tf),_Close);
if(copied>0 && index<copied) close=_Close[index];
return(close);
}
double iHigh(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
double _High[];
double high=0;
ArraySetAsSeries(_High,true);
int copied=CopyHigh(symb,tf,0,Bars(symb,tf),_High);
if(copied>0 && index<copied) high=_High[index];
return(high);
}
double iLow(string symb,ENUM_TIMEFRAMES tf,int index) {
if(symb=="0") { symb=Symbol();}
double _Low[];
double low=0;
ArraySetAsSeries(_Low,true);
int copied=CopyLow(symb,tf,0,Bars(symb,tf),_Low);
if(copied>0 && index<copied) low=_Low[index];
return(low);
}
Не могу въехать, как выразить High[] в пятерке???
MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);
потом, где нужно, вызвать: rates[x].high.
Я выражаю так, может не совсем правильно записано, но работает:
И я так сделал - но зачем же так обламали то в пятерке....
MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);
потом, где нужно, вызвать: rates[x].high.
И, что как правило, народ копирует все значения? В чем приимущество вообще этого копирования? Неужели памяти меньше потребляется, чем в четверке?
Впал в ступор от
Следует особо отметить, что в MQL5 численные значения констант периодов графиков (начиная с H1) не совпадают с количеством минут в баре (например, в MQL5 численное значение константы PERIOD_H1=16385, а в MQL4 PERIOD_H1=60). Данное обстоятельство необходимо учитывать при переносе на MQL5, если в программе на MQL4 использовались численные значения для проведения расчетов.
Для того, чтобы узнать количество минут заданного периода графика, нужно значение функции PeriodSeconds разделить на 60.
Откуда взялась цифра 16385 - где логика?
MqlRates rates[];
int copied=CopyRates(NULL,0,0,100,rates);
потом, где нужно, вызвать: rates[x].high.
Ладно, у вас решение для текущего символа, у меня мультисимвольное получение.
Вопрос: верно ли у меня записано, или есть косяк в коде?
Впал в ступор от
Следует особо отметить, что в MQL5 численные значения констант периодов графиков (начиная с H1) не совпадают с количеством минут в баре (например, в MQL5 численное значение константы PERIOD_H1=16385, а в MQL4 PERIOD_H1=60). Данное обстоятельство необходимо учитывать при переносе на MQL5, если в программе на MQL4 использовались численные значения для проведения расчетов.
Для того, чтобы узнать количество минут заданного периода графика, нужно значение функции PeriodSeconds разделить на 60.
Откуда взялась цифра 16385 - где логика?
И я так сделал - но зачем же так обламали то в пятерке....
И, что как правило, народ копирует все значения? В чем приимущество вообще этого копирования? Неужели памяти меньше потребляется, чем в четверке?
Почему все? Полная информация на 100 баров, за один раз (разумеется, можно указать и меньшее, или большее кол-во баров). Удобно, когда не только High нужен.
Но можно и отдельно качать, как Vitaly Muzichenko показывал.
Ладно, у вас решение для текущего символа, у меня мультисимвольное получение.
Вопрос: верно ли у меня записано, или есть косяк в коде?
Это решение легко "превратить" в мультисимвольное, просто указав символ вместо NULL. Ну и ТФ, при необходимости, точно так же, как в ваших примерах.
Касаемо правильности кода, так в справке есть примеры (CopyHigh посмотрите), там просто массивы на глобальном уровне.
Впал в ступор .........
Есть такое
По первости корёжит. Однако переписать с МТ4 - нет проблем.
Не знаю как у остальных, но 4-рка думает быстрее.
И в маркет, то что сделано на 4-рке залетает лихо, а вот переделанное с МТ4 на МТ5 иногда не пролазит только потому, что маркет не успевает за отведенное ему время протестировать идентичный продукт.
Почему все? Полная информация на 100 баров, за один раз (разумеется, можно указать и меньшее, или большее кол-во баров). Удобно, когда не только High нужен.
Ну, а если это индикатор... , а если советник, то на каждом тике обновлять массив (или перезаписывать при новом баре) - в чем идея, просто не ясно...
Ладно, у вас решение для текущего символа, у меня мультисимвольное получение.
Я пытаюсь переделать индикатор, там мультитаймфреймность имеется - но запутался конкретно с исчислением времени....
Есть такое
По первости корёжит. Однако переписать с МТ4 - нет проблем.
Мне просто противно, что приходиться убивать время на то, что уже было сделано... да и не так то просто некоторые вещи понять с ходу.
Вот как понять - индикатор рисует на одном инструменте, но не хочет на другом... и ошибок в логе нет...
Мне просто противно, что приходиться убивать время на то, что уже было сделано... да и не так то просто некоторые вещи понять с ходу.
Вот как понять - индикатор рисует на одном инструменте, но не хочет на другом... и ошибок в логе нет...