Ошибка изменения размера массива в бета-версии сборки 530 - страница 4

 
SDC:

Вы уже кодируете на MQL5 angevoyageur?

Да. Почему?
 
angevoyageur: Да, вы правы, это будет трудный переход. Однако, я думаю, что он будет трудным не для новичков, а для опытных mql4 кодеров, которые еще не знают mql5. В общем, новички не читают документацию.

На этот раз я с вами согласен . Большинство людей, потративших время на изучение mql4, будут с ужасом изучать новый синтаксис.

В mql4 теперь больше уровней, чем в mql5 (только представьте себе).

  • Есть синтаксис mql4_non_oop.
  • Есть синтаксис mql5_non_oop.
  • есть синтаксис mql5_object_oriented.

Хорошая новость в том, что вам не нужно использовать то, чего вы не знаете. Я думаю, мне нравится, как metaQuotes облегчает mql4_программистам переход на mql5 и ООП.

Для поклонников metaTrader этот язык, вероятно, является языком будущего; так что чем скорее мы перейдем на него, тем лучше ..... просто мое мнение .

 
SDC: Я думаю, что когда выйдет новая версия, это вызовет много путаницы на форуме для новичков, потому что новая документация mql4 основана на кодировке mql5. Это означает, что многое из того, что описано на этом форуме и в кодовой базе, будет противоречить документации mql4. Настройка индикаторного буфера из новой документации mql4: (На самом деле в ней есть ошибки, и она не будет компилироваться)
Я думаю, что это будет похоже на mql5.com. Некоторые новички не получат помощь в кодировании на форуме в зависимости от стиля, который они используют. Пример: если они используют стиль mql5_oop, то большинство ответов направят их на mql5_docs. Однако, если они опубликуют свои mql4_коды, то будет гораздо больше людей, способных прочитать фактические коды.
 
ubzen:

На этот раз я с вами согласен. Большинство людей, которые потратили время на изучение mql4, будут с ужасом изучать новый синтаксис.

В mql4 теперь больше уровней, чем в mql5 (только представьте себе).

  • Есть синтаксис mql4_non_oop.
  • Есть синтаксис mql5_non_oop.
  • есть синтаксис mql5_object_oriented.

Хорошая новость в том, что вам не нужно использовать то, чего вы не знаете. Я думаю, мне нравится, почему metaQuotes облегчает mql4_программистам переход на mql5 и ООП.

Для поклонников metaTrader этот язык, вероятно, является языком будущего; так что чем скорее мы перейдем на него, тем лучше ..... просто мое мнение.

Вы правы, но я бы скорее сказал: не нужно использовать то, что вам не нужно.
 
ubzen:

Хорошая новость в том, что вам не нужно использовать то, чего вы не знаете. Я думаю, мне нравится, как metaQuotes облегчает mql4_программистам переход на mql5 и ООП.

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

Я согласен, и это то, с чем я откладывал знакомство... но не слишком долго, если кто-нибудь найдет хорошее введение в принципы ООП, пожалуйста, напишите мне.


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

 
angevoyageur:
Да. Почему?

Потому что я хочу спросить вас, считаете ли вы, что изучение mql5 стоило затраченных усилий? Достигли ли вы в mql5 того, чего, по вашему мнению, не смогли бы сделать в старом mql4? Также вы опытный oop программист?

Вы правы, это будет трудный переход, я не знаю, что у меня вообще будет время на изучение всего этого нового.

Также мне интересно, почему этот пример кодирования не компилируется, ведь ENUM'ы - это предопределенные константы?

Первая ошибка - 'ENUM_APPLIED_PRICE' - объявление без типа TestCopyBuffer1.mq4 23 7...

 
RaptorUK:

Я согласен, и это то, с чем я откладывал знакомство... но не слишком долго, если кто-нибудь найдет хорошее введение в принципы, лежащие в основе ООП, пожалуйста, напишите мне.


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

Думаю, я тоже согласен, я не уверен, в какой степени oop действительно будет необходим. Согласятся ли другие, что oop действительно больше относится к структуре программы, чем к ее функциям или возможностям? Или нам действительно придется думать об oop, чтобы использовать все возможности mql5?

 

У меня есть совет для тех, кто хочет поэкспериментировать с новой бета-версией, но хочет также сохранить 509 для целей трейдинга. Другие говорили, что если вы обновите один терминал до бета-версии, обновление в реальном времени обновит и все остальные. Со мной такого не произошло, я понял, что UAC защищает мой основной торговый терминал от вмешательства автоматического обновления в реальном времени.

Поэтому вы можете установить 509 в программные файлы и включить UAC. Это будет ваш основной торговый терминал.

Установите другой 509 в отдельную папку, он может быть в Program Files, это не имеет значения. Я использовал ProgramFiles/MetaTraderBeta/ Подключите этот терминал к тестовому серверу MT4 и позвольте ему обновиться до бета-версии 530.

Теперь, когда вы закроете бета-версию и откроете торговый терминал 509, UAC сообщит, что программе требуется ваше разрешение для продолжения работы. Это и есть liveupdate. Не давайте разрешения, и терминал загрузится нормально и останется версией 509. Это будет происходить каждый раз, когда вы перезапускаете 509.

 
SDC:

Потому что я хочу спросить вас, считаете ли вы, что изучение mql5 стоило затраченных усилий? Достигли ли вы в mql5 того, чего, по вашему мнению, не смогли бы сделать в старом mql4? Также вы опытный oop программист?

Вы правы, это будет трудный переход, я не знаю, что у меня вообще будет время на изучение всего этого нового.

Также мне интересно, почему этот пример кодирования не компилируется, ведь ENUM'ы - это предопределенные константы?

Первая ошибка - 'ENUM_APPLIED_PRICE' - объявление без типа TestCopyBuffer1.mq4 23 7...

Возможно, я не очень хороший пример, так как я профессиональный программист. Поэтому для меня это не составляет большого труда, и я люблю изучать новые языки программирования. У меня также есть некоторый опыт работы с oop.

Я думаю, что многие программисты mql4 не являются профессиональными программистами, и они изучили mql4, чтобы иметь возможность автоматизировать торговлю в надежде заработать немного денег. Даже не говоря об oop, mql5 сложнее для изучения, чем mql4. mql5 более структурирован, менее свободен. Я беру только один пример, использование iCustom. В mql4 вы должны использовать 1 вызов iCustom с необходимыми параметрами, чтобы получить значение буфера для данной свечи. В mql5 нужно работать в 2 этапа, во-первых, использовать iCustom для получения хэндла к индикатору, во-вторых, использовать функцию CopyBuffer для получения данных (1 значение или 10000 значений за 1 вызов). Поэтому кодеру-любителю в mql4 легче понять, кто использует iCustom для получения 1 значения, в mql5 нужно понять концепцию хэндла, затем освоить функцию CopyBuffer. Сложнее. Но эффективнее, если вам нужно получить 3, 4, 10 или даже 1000 значений из буфера индикатора.
.

Также есть много улучшений, например, почти все, что требует использования windows dll (postMessage...) в mql4, может быть сделано непосредственно в mql5. Вам не нужно использовать oop, все функции доступны процедурным способом.

Как вывод, не волнуйтесь по поводу ооп. На мой взгляд, лучше всего действовать шаг за шагом. То, что вы использовали до сих пор, все еще доступно с небольшими изменениями. Когда вам понадобится решение для новой проблемы, посмотрите, может быть, новые возможности могут предложить решение.


 
SDC:<br/ translate="no">

У меня есть совет для тех, кто хочет поэкспериментировать с новой бета-версией, но хочет также сохранить 509 для целей трейдинга. Другие говорили, что если вы обновите один терминал до бета-версии, обновление в реальном времени обновит и все остальные. Со мной такого не произошло, я понял, что UAC защищает мой основной торговый терминал от вмешательства автоматического обновления в реальном времени.

Поэтому вы можете установить 509 в программные файлы и включить UAC. Это будет ваш основной торговый терминал.

Установите другой 509 в отдельную папку, он может быть в Program Files, это не имеет значения. Я использовал ProgramFiles/MetaTraderBeta/ Подключите этот терминал к тестовому серверу MT4 и позвольте ему обновиться до бета-версии 530.

Теперь, когда вы закроете бета-версию и откроете торговый терминал 509, UAC сообщит, что программе требуется ваше разрешение для продолжения работы. Это и есть liveupdate. Не давайте разрешения, и терминал загрузится нормально и останется версией 509.

Будьте терпеливы насчет бета-версии. Metaquotes удалил свою тему об этом, потому что текущая версия еще не готова к массовому тестированию.

Если вы хотите протестировать и избежать обновления другого терминала, вам нужно удалить следующую папку :

  • Windows 7 : C: \ ProgramData \ MetaQuotes \ WebInstal после успешного обновления, тестовый терминал на других терминалах не обновляется.
  • Windows XP : C: \ Documents and Settings \ All Users \ Application Data \ MetaQuotes \ Webinstall \
Причина обращения: