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

 
Vitalie Postolache:
Срочно на реал!!!!!!!!!!!!!
не так срочно, сначала мне копию в личку)
 
Treder9:
Щас сам хочу на настоящие хоть на 50 бакинских испытаю  правда попробовать все продумано до мелочей

можно и с бакса с таким хорошо подняться

тока никто не может сделать

отвечаю!
 
Taras Slobodyanik:

нужно добавить параметр

request.type_time=ORDER_TIME_DAY;


 

 

Спасибо, вот ещё бы сообразить, как добавить...

 

Не могу въехать, как выразить High[] в пятерке???

double High[]
double High[];
int count;        // сколько копируем
ArraySetAsSeries(High,true);
CopyHigh(_Symbol,_Period,0,count,High);
 
-Aleks-:

Не могу въехать, как выразить High[] в пятерке???

Я выражаю так, может не совсем правильно записано, но работает:

double iOpen(string symb,ENUM_TIMEFRAMES tf,int index) {
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);
}
 
-Aleks-:

Не могу въехать, как выразить High[] в пятерке???

MqlRates rates[];
   int copied=CopyRates(NULL,0,0,100,rates);


потом, где нужно, вызвать: rates[x].high.
 
Vitaly Muzichenko:

Я выражаю так, может не совсем правильно записано, но работает:

 И я так сделал - но зачем же так обламали то в пятерке....

 

Vitalie Postolache:

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 - где логика?

 

 
Vitalie Postolache:

MqlRates rates[];
   int copied=CopyRates(NULL,0,0,100,rates);


потом, где нужно, вызвать: rates[x].high.

Ладно, у вас решение для текущего символа, у меня мультисимвольное получение.

Вопрос: верно ли у меня записано, или есть косяк в коде?

 

-Aleks-:

Впал в ступор от

Следует особо отметить, что в MQL5 численные значения констант периодов графиков (начиная с H1) не совпадают с количеством минут в баре (например, в MQL5 численное значение константы PERIOD_H1=16385, а в MQL4  PERIOD_H1=60). Данное обстоятельство необходимо учитывать при переносе на MQL5, если в программе на MQL4 использовались численные значения для проведения расчетов.

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

 Откуда взялась цифра 16385 - где логика?

Нужно квантовую физику наверное изучать, это видимо оттуда значение
 
-Aleks-:

 И я так сделал - но зачем же так обламали то в пятерке....

 

И, что как правило, народ копирует все значения? В чем приимущество вообще этого копирования? Неужели памяти меньше потребляется, чем в четверке?

Почему все? Полная информация на 100 баров, за один раз (разумеется, можно указать и меньшее, или большее кол-во баров). Удобно, когда не только High нужен.

Но можно и отдельно качать, как Vitaly Muzichenko  показывал. 

Vitaly Muzichenko:

Ладно, у вас решение для текущего символа, у меня мультисимвольное получение.

Вопрос: верно ли у меня записано, или есть косяк в коде? 

 Это решение легко "превратить" в мультисимвольное, просто указав символ вместо NULL. Ну и ТФ, при необходимости, точно так же, как в ваших примерах.

Касаемо правильности кода, так в справке есть примеры (CopyHigh посмотрите), там просто массивы на глобальном уровне.

 
-Aleks-:
 

Впал в ступор ......... 

Есть такое

По первости корёжит. Однако переписать с МТ4 - нет проблем.

Не знаю как у остальных, но 4-рка думает быстрее.

И в маркет, то что сделано на 4-рке залетает лихо, а вот переделанное с МТ4 на МТ5 иногда не пролазит только потому, что маркет не успевает за отведенное ему время протестировать идентичный продукт.

Причина обращения: