[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 157

 
wolf05632:
Всем привет! Пытался через поиск - не нашел! Как разбить длинную строку кода на несколько более коротких??

Приведите пример.

Если речь о сравнении (if) то можно записать в переменные типа bool - каждое условие в отдельную строку, а в итоговый if подставить только переменные.

 

Уважаемые профессионалы, тестер выдает ошибку:

ERR_INVALID_FUNCTION_PARAMVALUE4051Недопустимое значение параметра функции


Вот лог в журнале:

2011.09.08 20:40:02 2010.12.28 10:00 Робот 2 EURUSD,H1: open #277 buy 0.50 EURUSD at 1.32316 ok

2011.09.08 20:40:02 2010.12.28 09:00 Робот 2 EURUSD,H1: OrderClose error 4051

2011.09.08 20:40:02 2010.12.28 09:00 Робот 2 EURUSD,H1: invalid ticket for OrderClose function

2011.09.08 20:40:02 2010.12.28 09:00 Робот 2 EURUSD,H1: close #276 buy 0.50 EURUSD at 1.32347 at price 1.32114


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

 
TheXpert:
Т.е. МК должны перелопатить весь терминал из-за того, что вам влом нолики посчитать?

Влом? Это баг и как и любой другой должен быть исправлен.

На Авто-ВАЗ-е наверное рассуждают так же как и вы - водителю влом бегать за машиной собирать выпадающие железки, а они там из-за этого должны перелопатить всю машину?!

 
Xaoss1990:

Уважаемые профессионалы, тестер выдает ошибку:

Подскажите, пожалуйста, что значит данная ошибка?
написано же

2011.09.08 20:40:02 2010.12.28 09:00 Робот 2 EURUSD,H1: invalid ticket for OrderClose function
 
sergeev:
написано же



А что это значит? Неправильный номер ордера для функции закрытия ордера? Т.е. он пытается закрыть ордер, которого не существует?
 
Xaoss1990:
А что это значит? Неправильный номер ордера для функции закрытия ордера? Т.е. он пытается закрыть ордер, которого не существует?

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

 
chief2000:

Приведите пример.

Если речь о сравнении (if) то можно записать в переменные типа bool - каждое условие в отдельную строку, а в итоговый if подставить только переменные.




Речь идет "ВААБЩЕ"! Пусть длинное математическое выражение. В VBA, допустим, чтобы разбить длинную строку на две, в любом допустимом месте этой строки нужно поставить _

и оставшееся выражение можно дописывать с новой строки.

 
chief2000:

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



Добавил, вот что получилось:

2011.09.08 21:26:15 2010.01.13 11:00 Робот 2 EURUSD,H1: open #12 buy 0.10 EURUSD at 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: close #12 buy 0.10 EURUSD at 1.45027 at price 1.45083

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: Alert: OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: invalid ticket for OrderClose function

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 Робот 2 EURUSD,H1: open #13 buy 0.10 EURUSD at 1.45243 ok

И так далее....

Я не понял из-за чего ошибка вылезает (((

 
Xaoss1990:

Добавил, вот что получилось:

2011.09.08 21:26:15 2010.01.13 11:00 Робот 2 EURUSD,H1: open #12 buy 0.10 EURUSD at 1.45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: close #12 buy 0.10 EURUSD at 1.45027 at price 1.45083

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: Alert: OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: invalid ticket for OrderClose function

2011.09.08 21:26:15 2010.01.13 17:00 Робот 2 EURUSD,H1: OrderClose error 4051

2011.09.08 21:26:15 2010.01.14 01:00 Робот 2 EURUSD,H1: open #13 buy 0.10 EURUSD at 1.45243 ok

И так далее....

Я не понял из-за чего ошибка вылезает (((

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

Вот пример решения в одном случае: "Invalid ticket for OrderClose function" - https://www.mql5.com/ru/forum/100874

Если не поможет - есть Google.

 
chief2000:

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

Вот пример решения в одном случае: "Invalid ticket for OrderClose function" - https://www.mql5.com/ru/forum/100874

Если не поможет - есть Google.

Я не могу понять что означает эта ошибка №=№4051...

ERR_INVALID_FUNCTION_PARAMVALUE4051Недопустимое значение параметра функции


А что это значит? Неправильный номер ордера для функции закрытия ордера? Т.е. он пытается закрыть ордер, которого не существует?

Вылезает сразу после закрытия ордера стопом. Причем стоп срабатывает...

Помогите, пожалуйста... Уже несколько дней бьюсь....