Скачать MetaTrader 5

Ошибка: function call missing, open parenthesis expected

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ведешь свой блог? Размести в нем ссылку на MQL5.community и заработай!
Mike Kharkov
846
Mike Kharkov 2014.07.16 22:04 
Всем привет.
С mql4 можно сказать вообще не знаком.
(Сейчас прохожу ведио уроки  по данной тематике.)
Сам занимаюсь разработкой сайтов (версткой если быть точным.)
Поскольку раньше был трейдером(пару лет работал на найсе.) - у меня появилось желание написать советника.
(в свободное время планирую именно этим и заняться.)

С программированием знаком очень поверхностно(Только с Javascript и JQuery на базовом уровне.)

Сейчас пытаюсь копировать всё то что есть в уроках и разбирать что к чему.
На данный момент у меня в отладчике всплыли вот такие ошибки + предупреждения:
Мой Отладчик

В самих уроках автора таких ошибок нет:
Отлачкий автора урока.

Возможно дело в версии платформы(или языка.)

Вопрос:
Не подскажите как, можно решить эти ошибки + предупреждения?
P.S. Пытался гуглить но решения не нашел.
Vitalie Postolache
12145
Vitalie Postolache 2014.07.16 23:48  

если в коде вызывается функция, то имя должно завершаться скобками - "имяфункции()", в данном случае - CountBuyLimit(), CountSellLimit().

Далее, все торговые приказы должно проверять на успешное выполнение, примерно так:

               bool TicketClosed = OrderClose(OrderTicket(),OrderLots(),price,slippage*k,Yellow); //приказ на закрытие позиции
                
               if(!TicketClosed) //проверочка на успешное выполнение приказа.
                {
                        error = GetLastError(); 
                        Print("Error :",error," Closing position: ",OrderTicket());
                        Sleep(5000); 
                }


что касается второй картинки, эти предупреждения можно игнорировать, но если цель - чистый лист ошибок, то надо неиспользуемую функцию в коде закомментировать - /*function{}*/

Mike Kharkov
846
Mike Kharkov 2014.07.17 13:31  
evillive:

если в коде вызывается функция, то имя должно завершаться скобками - "имяфункции()", в данном случае - CountBuyLimit(), CountSellLimit().

Далее, все торговые приказы должно проверять на успешное выполнение, примерно так:


что касается второй картинки, эти предупреждения можно игнорировать, но если цель - чистый лист ошибок, то надо неиспользуемую функцию в коде закомментировать - /*function{}*/


А что касается предупреждения:
return value of 'OrderSend' should be checked
(Cтрока 60 на 1-м скрине)
Его можно как то устранить?
Sergey Gridnev
4974
Sergey Gridnev 2014.07.17 13:47  
Mike_Kharkov:

А что касается предупреждения:
return value of 'OrderSend' should be checked
(Cтрока 60 на 1-м скрине)
Его можно как то устранить?


Да, можно.

Вы игнорируете возвращаемый функцией OrdeSend() результат, на это и указывает компилятор. 

Mike Kharkov
846
Mike Kharkov 2014.07.17 14:36  
Contender:


Да, можно.

Вы игнорируете возвращаемый функцией OrdeSend() результат, на это и указывает компилятор. 


А что конкретно прописать требуется(в данном случае), что бы результат не игнорировать?
P.S. У меня к стати при тестировании на истории наверное по этому выдает ошибку:
OrderSend error 130

(у автора в уроках таких проблем не наблюдается.)
Хотя по докам эта ошибка связана может быть со стопами только, на сколько я понимаю?
Vitalie Postolache
12145
Vitalie Postolache 2014.07.17 19:07  
Mike_Kharkov:

А что касается предупреждения:
return value of 'OrderSend' should be checked
(Cтрока 60 на 1-м скрине)
Его можно как то устранить?


Mike_Kharkov:

А что конкретно прописать требуется(в данном случае), что бы результат не игнорировать?
P.S. У меня к стати при тестировании на истории наверное по этому выдает ошибку:
OrderSend error 130

(у автора в уроках таких проблем не наблюдается.)
Хотя по докам эта ошибка связана может быть со стопами только, на сколько я понимаю?



ещё раз мой ответ прочитайте, часть насчёт проверки торговых приказов, там конкретно пример, что писать.

130 - стопы рассчитывайте и проверяйте на правильность. некоторые ДЦ не позволяют задавать стопы при открытии по рынку, тогда надо вторым заходом такие позиции модифицировать. Примеры в кодобазе есть, много.

Mike Kharkov
846
Mike Kharkov 2014.07.17 20:33  
evillive:



ещё раз мой ответ прочитайте, часть насчёт проверки торговых приказов, там конкретно пример, что писать.

130 - стопы рассчитывайте и проверяйте на правильность. некоторые ДЦ не позволяют задавать стопы при открытии по рынку, тогда надо вторым заходом такие позиции модифицировать. Примеры в кодобазе есть, много.


  >> ещё раз мой ответ прочитайте, часть насчёт проверки торговых приказов, там конкретно пример, что писать.
  Я так не пойму.

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

  P.S. Cейчас перепробовал разные варианты - но ничего не выходит пока что..
 (имею ввиду что предупреждения не исчезают + при тестировании на истории появляются другие ошибки..)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий