Ответить
01.08.2016, 15:58
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
Благодарю Вас. Однако моя проблема сложнее. У меня MetaTrader 4.0 Build 988 и при нём MetaEditor 5.0 Build 1351, но это не mql5. Бывает ли такое, чтобы при MetaTrader 4.0 был MetaEditor для mql5?
У метаквототв всё бывает.

Софт находится в процессе разработки и поэтапного внедрения, поэтому
столько глюков.
Они уже выпустили версию МТ5 с локированием, поэтому скоро наступит время когда они откажутся от поддержки МТ4 и MQL4.
Возможно ещё некоторое время потянут "кота за хвост".
Но итог известен.

Смысл компилировать в 509 версии не вижу, по вышеперечисленным причинам.

А предложение по отладчику остается в силе.
01.08.2016, 16:20
Аватар для ValPra
ValPra ValPra вне форума Новичок форума
Регистрация: 12.11.2012 / Сообщений: 9
Поблагодарили 4 раз(а) / Репутация: 5
У меня сова. Благодарю Вас автор ansol! Ваш ответ самый конкретный. Даже MetaQuotes отмахнулись просто ссылкой:
_https://docs.mql4.com/ru/basis/function/events
Дело в том, что я уже пробовал OnTick, но, это была моя ошибка, с одновременным использованием OnInit и OnDeinit. Однако OnTick нужно использовать вместе с init и deinit. Несмотря на то, что компилятор выругался предупреждением: "no OnStart function defined in the script". Всё заработало. Этот случай я ранее тоже хотел использовать, но тогда меня остановило это предупреждение.
01.08.2016, 16:30
Аватар для ValPra
ValPra ValPra вне форума Новичок форума
Регистрация: 12.11.2012 / Сообщений: 9
Поблагодарили 4 раз(а) / Репутация: 5
У метаквототв всё бывает.

Софт находится в процессе разработки и поэтапного внедрения, поэтому
столько глюков.
Они уже выпустили версию МТ5 с локированием, поэтому скоро наступит время когда они откажутся от поддержки МТ4 и MQL4.
Возможно ещё некоторое время потянут "кота за хвост".
Но итог известен.

Смысл компилировать в 509 версии не вижу, по вышеперечисленным причинам.

А предложение по отладчику остается в силе.
Я могу перейти на mql5, но тестер TickDataSuite всё же лучше, чем то, что есть на MetaTrader 5. Или ситуация изменилась?
01.08.2016, 16:32
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
У меня сова. Благодарю Вас автор ansol! Ваш ответ самый конкретный. Даже MetaQuotes отмахнулись просто ссылкой:
_https://docs.mql4.com/ru/basis/function/events
Дело в том, что я уже пробовал OnTick, но, это была моя ошибка, с одновременным использованием OnInit и OnDeinit. Однако OnTick нужно использовать вместе с init и deinit. Несмотря на то, что компилятор выругался предупреждением: "no OnStart function defined in the script". Всё заработало. Этот случай я ранее тоже хотел использовать, но тогда меня остановило это предупреждение.
Может все-таки вывести какой-нибудь Alert() сразу после start(), чтобы точно поянть, с какого момента не работает?
У меня все скрипты работают имеенно со start(), init() и deinit()
а на глазок я не вижу в вашем коде ошибку.
01.08.2016, 16:32
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
У меня сова. Благодарю Вас автор ansol! Ваш ответ самый конкретный. Даже MetaQuotes отмахнулись просто ссылкой:
_https://docs.mql4.com/ru/basis/function/events
Дело в том, что я уже пробовал OnTick, но, это была моя ошибка, с одновременным использованием OnInit и OnDeinit. Однако OnTick нужно использовать вместе с init и deinit. Несмотря на то, что компилятор выругался предупреждением: "no OnStart function defined in the script". Всё заработало. Этот случай я ранее тоже хотел использовать, но тогда меня остановило это предупреждение.
Смотрю, тут каша полная!

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

Объясню фунционал, init()(OnInit() - по новой) Выполняется один раз, перд запуском советника и в ней размещается код необходимый для подготовки данных, для основного кода советника или скрипта. **Примечание, в начальном шаблоне скрипта инит и деинит отсутствуют, но также как советниках могут быть использованы.
Дэинит или ОнДэинит(), также выполняется один раз, только при штатном закрытии, в случаях сбоев процедуры завершения работы кода, работают другие механизмы, идентифицирующие результаты сбоя.

По аффтору (ansol), что мешает ему внести изменения в код?
Всё, что выше написано, это его (ansol) код?

Последний раз редактировалось _SERG_; 01.08.2016 в 16:35.
01.08.2016, 16:36
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
Цитата:
Всё, что выше написано, это его (ansol) код?
Не, это не мой код.
А так-то, да раз сова, то надо все три функции заменять - OnTick, OnInit, OnDeinit
Это несложно, надо только внимательным быть. Я в совах давно поменял, теперь не боюсь неприятностей(пока, во всяком случае)
01.08.2016, 16:46
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
Не, это не мой код.
А так-то, да раз сова, то надо все три функции заменять - OnTick, OnInit, OnDeinit
Это несложно, надо только внимательным быть. Я в совах давно поменял, теперь не боюсь неприятностей(пока, во всяком случае)
Та я без претензий, просто чел стрелки перевёл на аффтора .
01.08.2016, 16:48
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
Есть еще глупый вариант:
Автоторговля разрешена в МТ4, но не включена галка на закладке самого советника.
Ну, а вдруг?
01.08.2016, 16:59
Аватар для ValPra
ValPra ValPra вне форума Новичок форума
Регистрация: 12.11.2012 / Сообщений: 9
Поблагодарили 4 раз(а) / Репутация: 5
Всё включено и разрешено. Короче, OnDeinit не работает, а компилятор предупреждает: "OnDeinit function declared with wrong type or/and parameters SB-experiments.mq4". Оба варианта работают: init и OnInit. Работает OnTick, но компилятор ругается: "no OnStart function defined in the script". Вот такая кривизна MetaQuotes.
01.08.2016, 17:04
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
От деинит работает так:
PHP код:
void OnDeinit(const int reason)
  {
//---

  

Ему этот констант-ризон нужен обязательно.
Ну, я там еще созданные совой объекты удаляю (объектделит).
Ни каких проблем не должно быть.
А в скрипте не надо OnTick() там надо старт() - вы свой текст-то проверьте, сами объявляете скрипт в начале проги, а нам пишете, что это сова.
01.08.2016, 17:05
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
Всё включено и разрешено. Короче, OnDeinit не работает, а компилятор предупреждает: "OnDeinit function declared with wrong type or/and parameters SB-experiments.mq4". Оба варианта работают: init и OnInit. Работает OnTick, но компилятор ругается: "no OnStart function defined in the script". Вот такая кривизна MetaQuotes.
Ну так исправь тип дэинита(const int reason) на void.

Ичтобы не ругалсяя компилятор, перенеси код в папку "/MQL/Experts" из папки "Scripts", если считаешь, что это советник.

Последний раз редактировалось _SERG_; 01.08.2016 в 17:11.
01.08.2016, 17:07
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
#property show_inputs - это директива скрипта, не совы. Сова всегда входные параметры показывает.
01.08.2016, 17:25
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
#property show_inputs - это директива скрипта, не совы. Сова всегда входные параметры показывает.
Всегда?!! Ну-ну.
Вставь директиву в советник, и перед запуском она тебе параметры обязательно буднт выводить, те что по Ф7, а не вставишь, таки не будет.

Последний раз редактировалось _SERG_; 01.08.2016 в 17:27.
01.08.2016, 17:28
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
Вставь директиву в советник, и перед запуском она тебе параметры обязательно буднт выводить, те что по Ф7.
Дык она без этой директивы показывает всегда.
Меня смущает, что ругань идет на скрипт. Я и хочу понять, это скрипт или сова?
01.08.2016, 17:33
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
Вставил в сову только что вот это:
PHP код:
#property show_inputs 
Получил:
'GAPnews.mq4' GAPnews.mq4 1 1
'stdlib.mqh' stdlib.mqh 1 1
no OnStart function defined in the script 0 0
0 error(s), 1 warning(s), compile time: 3448 msec 1 2
Что и требовалось доказать. Эта директива в сове не допустима, а?
Без нее всё без ошибок идет
01.08.2016, 17:34
Аватар для ValPra
ValPra ValPra вне форума Новичок форума
Регистрация: 12.11.2012 / Сообщений: 9
Поблагодарили 4 раз(а) / Репутация: 5
Дык она без этой директивы показывает всегда.
Меня смущает, что ругань идет на скрипт. Я и хочу понять, это скрипт или сова?
Сова. Даже филин. Точно не скрипт. Теперь всё работает даже в таком кривом виде с кривым компилятором. Эксперименты помогли.
01.08.2016, 17:35
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
Дык она без этой директивы показывает всегда.
Меня смущает, что ругань идет на скрипт. Я и хочу понять, это скрипт или сова?
Возьми исходняк компильни и всё увидишь.
01.08.2016, 17:37
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
Возьми исходняк компильни и всё увидишь.
Уже, см. выше.
01.08.2016, 18:05
Аватар для _SERG_
_SERG_ _SERG_ на форуме Активный участник
Регистрация: 21.07.2009 / Сообщений: 280
Поблагодарили 93 раз(а) / Репутация: 93
Уже, см. выше.
Слегка подправил.
Разместить в экспертах.
Компилнулось без ошибок.
Функционал не проверял.

В принте подправь преобразование из дабла в стринг с разрядами.

Последний раз редактировалось _SERG_; 01.08.2016 в 18:11.
01.08.2016, 18:51
Аватар для ansol
ansol ansol вне форума Местный знаток
За призовое место в конкурсе 

Регистрация: 22.04.2010 / Сообщений: 2,062
Поблагодарили 892 раз(а) / Репутация: 878
А так нет:

'SB-experiments.mq4' SB-experiments.mq4 1 1
'stdlib.mqh' stdlib.mqh 1 1
'stderror.mqh' stderror.mqh 1 1
no OnStart function defined in the script 0 0
0 error(s), 1 warning(s), compile time: 436 msec 1 2

OnTick() правильно, а start() - это просто для обратной соместимости оставлено.
Ответить

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 22:52. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO