Ошибки, баги, вопросы - страница 2642

 
Alexey Viktorov:

Наверное потому, что только человек с первого взгляда на такой код

не задумываясь может понять что произойдёт. На мой взгляд претензии должны быть к С и С++, а не к MQL. Именно mql защищает от таких случайных косяков.

В C/C++ такой ошибки нет.

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

Эта Ваша функция - косяк. Если i==100, то уже следующая проверка на то же i==100 не сработает. И получится бесконечный цикл.

Посмотрите внимательнее. В той функции, что я выложил, ошибки нет.

 
traveller00:

В C/C++ такой ошибки нет.

Посмотрите внимательнее. В той функции, что я выложил, ошибки нет.

К чему спор, вам дали ответ. Пользуйтесь

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

Ошибки, баги, вопросы

Vladimir Karputov, 2020.02.11 05:11

Если функция объявлена не как void, то обязана возвращать значение:

bool Func()
{
  for(int i=1;;++i)
  {
    if(i==1)
      continue;
    if(i==100)
      return false;
  }
  //---
  return(false);
}

 

Нужно убрать из шапки партала кошелек и цифры с балансом - это совсем не нужная и малоиспользуемая информация!

У меня теперь в форум можно попасть только через раскрывающееся меня - ужас!

 
Чем возможно автоматом собрать все файлы, что использует mq5? Мне нужно перенести исходник советника. Там десятки файлов инклудятся из разных папок.
 
fxsaber:
Чем возможно автоматом собрать все файлы, что использует mq5? Мне нужно перенести исходник советника. Там десятки файлов инклудятся из разных папок.

сторонним компилятором

я с помощью GCC так коды собирал и дефайны раскрывал, но в 2 клика не получится его запустить, кажется он может только в локальной папке все инклудники собрать и кажется главный файл должен быть с расширением  .с

в общем попробуйте хотя бы в командной строке 

 g++ -E tst.c -o tst.ii

tst.c - главный файл, а tst.ii - выходной текстовый файл, я так запускаю

 
Igor Makanu:

сторонним компилятором

Так он не может знать, что

#include <..\Experts\FileName.mqh>

нужно брать относительно Include-папки.

 
fxsaber:

Так он не может знать, что

нужно брать относительно Include-папки.

да, скорее всего это он не сможет, ему полные пути нужны в директиве прекомпилятора - но я как и писал, все равно придется в локальную папку копировать проект, и в ней по папкам все раскладывать, кажется длинные пути к файлам он тоже не умеет  C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\E6E3D0917AE641512E4779524EB3B1AA

но GCCточно умеет собрать MQL программы - я проверял с полгода назад, попробуйте или еще подождите может кто подскажет

 
fxsaber:
Чем возможно автоматом собрать все файлы, что использует mq5? Мне нужно перенести исходник советника. Там десятки файлов инклудятся из разных папок.

Sysinternals ProcMon.

 
fxsaber:
Чем возможно автоматом собрать все файлы, что использует mq5? Мне нужно перенести исходник советника. Там десятки файлов инклудятся из разных папок.

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

Синтаксический анализ MQL средствами MQL
Синтаксический анализ MQL средствами MQL
  • www.mql5.com
Суть программирования заключается в формализации и автоматизации неких процессов с помощью языков общего или специального назначения. Торговая платформа MetaTrader позволяет применять программирование для решения самых разных задач трейдера, благодаря встроенному языку MQL. И обычно процесс программирования строится на анализе и обработке...
 

если описать такую структуру:

struct MyStruct
   {
   double d_value;
   int    i_value;
   uchar  arr_u[100];
   };

и записать в файл, то могут ли быть отличия при записи в MQL5, а чтении в MQL4 этого файла? или наоборот...

в общем вопрос - есть ли отличия в языках при хранении сложных типов данных? (в памяти, в файлах)