Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 835

 
Maxim Kuznetsov:

вам даже компилятор в первом случае подсветит "результат OrderSelect должен проверяться" ;-)

если для первого изменить if (!OrderSelect(...)) continue; то варианты идентичны. 

в первом код визуально получается линеен, во втором любимой тут лесенкой. Я предпочитаю первый вариант, его читать проще и вообще возникновение глубоких логических вкладок {{{{ }}}} намекают что пора что-то менять :-)

Спасибо. А влияет ли запись лесенкой на скорость исполнения кода? Мне всё же проще разбираться в записи именно лесенкой. 

 
novichok2018:

Спасибо. А влияет ли запись лесенкой на скорость исполнения кода? Мне всё же проще разбираться в записи именно лесенкой. 

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

не о том думаете.

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

Ну нету у вас проблем со скоростью, которые надо обходить трюками и особенностями кодирования. Просто гарантированно нет.

Когда(что вряд-ли) возникнут, тогда и будете оптимизировать выполнение.

 
Maxim Kuznetsov:

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

не о том думаете.

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

Ну нету у вас проблем со скоростью, которые надо обходить трюками и особенностями кодирования. Просто гарантированно нет.

Когда(что вряд-ли) возникнут, тогда и будете оптимизировать выполнение.

Большое спасибо! Очень доходчиво.

 
Есть ли возможность в старых папках программ мт4 работать торговлей еще на XP виндос там и установленных, если да то как.
 
Помогите, пожалуйста, с вопросом : https://www.mql5.com/ru/forum/160683/page833#comment_11585085
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.06
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Alexander Layzerevich:
Помогите, пожалуйста, с вопросом : https://www.mql5.com/ru/forum/160683/page833#comment_11585085

сомневаюсь, что Вам поможет, но примерно так:

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

- Вы не правильно объявили заголовок функции

- в МТ4 отсутствует встроенная функция CopyBuffer()

в общем, так не будет работать, ищите еще варианты прикрутить части кода - синтаксис у MQL4 и у MQL5 похож процентов на 95%, но нельзя бездумно копировать участки кода между платформами 

 
Igor Makanu:

сомневаюсь, что Вам поможет, но примерно так:

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

- Вы не правильно объявили заголовок функции

- в МТ4 отсутствует встроенная функция CopyBuffer()

в общем, так не будет работать, ищите еще варианты прикрутить части кода - синтаксис у MQL4 и у MQL5 похож процентов на 95%, но нельзя бездумно копировать участки кода между платформами 

Простите, забыл указать, код для МТ5

Просто не проходит вызов функции Deviation(int kanal).

Хотел спросить как это сделать корректно ?

 
Igor Makanu:

выполните один в один пример из статьи https://www.mql5.com/ru/articles/18

как вариант, у Вас компиляция проекта под 64 битную dll, терминал МТ4 32-х разрядный, нужно настроить и скомпилировать проект под 32-х разрядную .dll

Я там тоже вопросы задаю, предложенные примеры там я испробовал, собственно я и выложил картинки с экспериментами. Ну да что-то такое там есть с этими версиями, по нормальному всё это должно быть в справке, как подключить какие нюансы. Мне дали какие-то ссылки с кодами, я открыл погортал эти классы и закрыл мне это не по зубам, в общем издевательство информации нет что хочешь то и делай. Ладно извините через 20 лет будет опыт с программированием вернусь к этой теме. Как понять что компиляция под 64, как это выяснить?

 
Seric29:

 Как понять что компиляция под 64, как это выяснить?

свойства проекта в Visual Studio смотрите, там должна быть настройка под какую платформу компилировать dll - в МТ4 нужно 32-х разрядный код

PS: гуглом найдите настройку VS

 
Igor Makanu:

сомневаюсь, что Вам поможет, но примерно так:

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

- Вы не правильно объявили заголовок функции

- в МТ4 отсутствует встроенная функция CopyBuffer()

в общем, так не будет работать, ищите еще варианты прикрутить части кода - синтаксис у MQL4 и у MQL5 похож процентов на 95%, но нельзя бездумно копировать участки кода между платформами 

А ничего что указано

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

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам

Alexander Layzerevich, 2019.05.06 17:21

Пробую в МТ5 получить данные Индикатора с помощью функции:

//************************************************************************************************/
double Envelopes(string symb, ENUM_TIMEFRAMES TF_1, int period, int method, int shift, int price,double Deviation(ENUM_TIMEFRAMES TF_2, int kanal), int buff, int index)
{
  double buf[1];
  int handle=iEnvelopes(Symbol(), TF_1, period, method, shift, price, Deviation(TF_2, kanal), buff);
   if(handle<0)
   {
    Print("Failed to create handle ATR, Error: ",GetLastError());
    return(WRONG_VALUE);
   } else
   {
    if(CopyBuffer(handle,0,index,1,buf)<0)
    {
     Print("Failed to copy data from the indicator ATR, Error: ",GetLastError());
     return(WRONG_VALUE);
    }
   }
   return(buf[0]);
}
//************************************************************************************************/

Выдаёт ошибку :


Подскажите как исправить код для МТ5

Выделенное ничем не отличается от объявления функции. Получается во входных параметрах функции объявлена функция.
Причина обращения: