Плюсы и минусы запрета компиляции в MetaEditor Mql4/Mql5 кода сгенерированного нейросетями - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вполне нормальные и обычные имена переменных, и по ним определить невозможно.
Форматирование сделала "причёска" , по форматированию также не отличить.
Если-бы Я выложил этот код и в шапке был указан автор, то не было-бы и мыслей об ИИ.
--
Вы сейчас дали оценку с пессимистичной стороны, вашу оценку можно расценить ровно так, как отличить внешне лактозное молоко, от безлактозного. Пока не скажут где какое - не понять, но могут сказать и наоборот - вы в это поверите, потому что их не отличить.
Если по кодобазе смотреть, по той которая до ИИ была, то часто определить можно. Стиль отличается от человеческого. От автора к автору код в разном стиле, нейминг переменных разный, каждый ИИ же всегда в одном стиле генерирует.
Только что скролил кодобазу для интереса с конца, разница видна. ИИ код сильно сжимает. Посмотрите сами по кодобазе, посмотрите разных авторов код.
Если по кодобазе смотреть, по той которая до ИИ была, то часто определить можно. Стиль отличается от человеческого. От автора к автору код в разном стиле, нейминг переменных разный, каждый ИИ же всегда в одном стиле генерирует.
Только что скролил кодобазу для интереса с конца, разница видна. ИИ код сильно сжимает. Посмотрите сами по кодобазе, посмотрите разных авторов код.
Ну вот-же, чем отличаются имена?
Я повторю: "Если-бы Я не сказал что это ИИ, при этом в шапке кода был указан автор - по коду вообще не было-бы понятно, кто его написал".
И опять-же: Я в код не добавил ни единой точки, вообще к нему не касался и он работает на 100% ПРАВИЛЬНО. Ваши доводы - скептицизм.
P.S. Обычный индикатор МАКД, Я попросил разукрасить гистограмму, времени от запроса до рабочего кода в терминале = 2 минуты.
Сколько вам понадобится времени на добавление буферов и создание условий, тоже 2 минуты?
Ещё полгода назад ИИ не умели этого делать, но сегодня это прекрасный инструмент
Раз только одну, с ходу быстро цитирую две связанных строки:
Я бы так никогда не сделал если бы писал код в ручную и любой кто профессионально кодит тоже. reates[] нужно вынести в глобальные, индексацию массива тоже в инит вынести следует. Это жрет ресурсы в теории(каждый вызов функции пересоздание массива и настройка индексации), компилятор конечно оптимизирует что-то - но мы то не знаем как.
Вся структура - очевидно ИИ. Прямо на глаз видно. ИИ видно по форматированию текста и названию переменных и по многому другому.
Время затраченное на поиск этих строк: примерно 10 секунд
Если у модераторов есть гугл аналитика или я.метрика и аналитика - то по поведенческим(запись сеанса - где вино как мышкой водишь) не дадут соврать что это так. 10/15 секунд я потратил до того как начал печатать этот пост и после того как прочитал текст и начал смотреть код. Быстрого взгляда достаточно что бы увидеть ИИ стиль.
P. S. Я не убеждаю в своей точке зрения, просто её высказываю. Не считают что ИИ стиль тяжело идентифицировать. Его заметно как говорится на уровне "Вырви глаз". При этом я тоже активно пользуюсь ИИ.
Да 100% , если бюджет и время позволяют и ТЗ нормальное. Я о том же, что советники которые генерируют ИИ - подходят только для самого начального уровня(ну там для школы/студентов для обучения). Там возможно неопредленное поведение во многих ситуациях. ИИ об этом подумать даже не способен при генерации кода по промпту. ИИ хорош ТЗ составить и всё.Идея и доказательства, имхо, фиговые. ИИ учится на исходниках людей и использует именно те имена переменных, которые встречал в MQL-файлах (как и в данном примере). И фрагменты решения конкретных подзадач - тоже выдернуты из кодов людей. Можно сказать, к сожалению, потому что 100% никто корпус документов обучающих не рефакторил и не проверял перед обучением ИИ, и в результате сетка лепит те же ошибки, что и в человеческих исходниках. Кроме того, форматирование и именование переменных можно у ИИ заказать любое.
По поводу определения массива внутри функции - подход логичный в том плане, что неправильно было бы выносить используемый локально объект на глобальный уровень, как предлагаете Вы. Я бы посоветовал ИИ добавить слово static перед локальным массивом, и всё.
В общем, не вижу смысла запрещать/помечать ИИ в кодах и продуктах.
Вот мне ИИ сгенерил рабочий код (выкладывал на форуме в другой ветке). Единственное, что я добавил - обход пары багов МQL5.
Ну вот-же, чем отличаются имена?
Я повторю: "Если-бы Я не сказал что это ИИ, при этом в шапке кода был указан автор - по коду вообще не было-бы понятно, кто его написал".
И опять-же: Я в код не добавил ни единой точки, вообще к нему не касался и он работает на 100% ПРАВИЛЬНО. Ваши доводы - скептицизм.
P.S. Обычный индикатор МАКД, Я попросил разукрасить гистограмму, времени от запроса до рабочего кода в терминале = 2 минуты.
Сколько вам понадобится времени на добавление буферов и создание условий, тоже 2 минуты?
Ещё полгода назад ИИ не умели этого делать, но сегодня это прекрасный инструмент
Тут относительно временных затрат выяснять думаю нечего, я согласен, что ИИ как хэлпер это удобно и быстро. Человек руками конечно всё дольше будет делать.
Не пропагандирую полный отказ от ИИ в стиле луддитов :) , интересны лишь видения будущего в контексте приближающейся регуляции ИИ.
Идея и доказательства, имхо, фиговые.ИИ учится на исходниках людей и использует именно те имена переменных, которые встречал в MQL-файлах (как и в данном примере). И фрагменты решения конкретных подзадач - тоже выдернуты из кодов людей. Можно сказать, к сожалению, потому что 100% никто корпус документов обучающих не рефакторил и не проверял перед обучением ИИ, и в результате сетка лепит те же ошибки, что и в человеческих исходниках. Кроме того, форматирование и именование переменных можно у ИИ заказать любое.
По поводу определения массива внутри функции - подход логичный в том плане, что неправильно было бы выносить используемый локально объект на глобальный уровень, как предлагаете Вы. Я бы посоветовал ИИ добавить слово static перед локальным массивом, и всё.
В общем, не вижу смысла запрещать/помечать ИИ в кодах и продуктах.
Вот мне ИИ сгенерил рабочий код (выкладывал на форуме в другой ветке). Единственное, что я добавил - обход пары багов МQL5.
Не доказываю что ИИ код это плохо, он просто часто сомнителен, тем более, когда непонятно - кто и в каких целях и как его сгенерировал. Идея же - уже нашла подтверждение в том законопроекте с пометкой ИИ продуктов и с принятием Польшой законов по ИИ. Вообще, основное что важно - это то как применение ИИ из-за приблежающейся законодательной регуляции повлияет на работу с MetaEditor и МТ5 и повлияет ли.
Что касается удобства и ускорения работы - споров нет. Что насчет static - на вкус и цвет как говорится.
Не доказываю что ИИ код это плохо, он просто часто сомнителен, тем более, когда непонятно - кто и в каких целях и как его сгенерировал. Идея же - уже нашла подтверждение в том законопроекте с пометкой ИИ продуктов и с принятием Польшой законов по ИИ. Вообще, основное что важно - это то как применение ИИ из-за приблежающейся законодательной регуляции повлияет на работу с MetaEditor и МТ5 и повлияет ли.
Что касается удобства и ускорения работы - споров нет. Что насчет static - на вкус и цвет как говорится.
Код от людей не менее сомнителен - например, я иногда заглядываю в публикации в кодобазе и там по большей части полный шлак (решает ли он по факту указанные задачи?). Законы часто инициируются и пишутся людьми, далекими от проблем, регулируемыми этими законами, увы, так что я б не рассматривал регуляцию плюсом. ИИ - это лишь инструмент, и качество продукта определяется человеком, использующим его, а не самим фактом использования ИИ. Тем более, что степень использования качественного ИИ - хрен проверишь.
Что касается "на вкус и цвет" - всё не так просто в программировании, где есть писанный свод правил, что хорошо и что плохо. Поэтому принятие решений "на вкус и цвет" подходит только в случае, когда нет уже известных рекомендаций. Вынос локальной переменной на глобальный уровень - это дурной тон (code smell), и предложенная реализация ИИ выглядит обоснованно, имхо, а если Вы знаете другой способ кроме static-а оптимизировать локальную инициализацию, то расскажите.
Что касается "на вкус и цвет" - всё не так просто в программировании, где есть писанный свод правил, что хорошо и что плохо. Поэтому принятие решений "на вкус и цвет" подходит только в случае, когда нет уже известных рекомендаций. Вынос локальной переменной на глобальный уровень - это дурной тон (code smell), и предложенная реализация ИИ выглядит обоснованно, имхо, а если Вы знаете другой способ кроме static-а оптимизировать локальную инициализацию, то расскажите.
Немного не понял о чем вы пишете. Я знаю что такое code smell. Static и вправду отличный вариант, но по стилю мне не нравится. Я же говорю - на вкус и цвет.
reates[] нужно вынести в глобальные, индексацию массива тоже в инит вынести следует. Это жрет ресурсы в теории(каждый вызов функции пересоздание массива и настройка индексации), компилятор конечно оптимизирует что-то - но мы то не знаем как.
Написал же про две строки кода в том ответе который вы обсуждаете, это не случайно. Они взаимосвязанны. Как можно ArraySetAsSeries(rates, true); исполнить в OnInit() если массив не глобальный - никак. Мы же обсуждали стиль ИИ, но в большинстве официальных примеров кода которые я видел - ArraySetAsSeries выносится в OnInit(). И тогда тут нет дурного тона, это вопрос стиля, который упрощает быстрое понимание. При отсутствии static вызов ArraySetAsSeries каждый раз при вызове функции ProcessSymbol потребляет ресурсы.
Тем более думать о дурном тоне в таких элементарных советниках или индикаторах - это нужно быть идеалистом(тем более когда с кодом имеешь дело только ты сам). Для меня себе во вред так код писать как ИИ, я привык выносить как классы, так и структуры и основные переменные отдельно и комментировать это всё(как секции кода). Так что это как вопрос, где пришить карман - справа или слева.
Еще раз вам напомню: я ответ про две строки кода написал. И написал максимально быстро, не думая. Не нужно обсуждать одну строку в отрыве от другой - тогда не понятно о чем вы пишете.
Раз только одну, с ходу быстро цитирую две связанных строки:
Я бы так никогда не сделал если бы писал код в ручную и любой кто профессионально кодит тоже. reates[] нужно вынести в глобальные, индексацию массива тоже в инит вынести следует. Это жрет ресурсы в теории(каждый вызов функции пересоздание массива и настройка индексации), компилятор конечно оптимизирует что-то - но мы то не знаем как.
Вся структура - очевидно ИИ. Прямо на глаз видно. ИИ видно по форматированию текста и названию переменных и по многому другому.
Время затраченное на поиск этих строк: примерно 10 секунд
Если у модераторов есть гугл аналитика или я.метрика и аналитика - то по поведенческим(запись сеанса - где вино как мышкой водишь) не дадут соврать что это так. 10/15 секунд я потратил до того как начал печатать этот пост и после того как прочитал текст и начал смотреть код. Быстрого взгляда достаточно что бы увидеть ИИ стиль.
P. S. Я не убеждаю в своей точке зрения, просто её высказываю. Не считают что ИИ стиль тяжело идентифицировать. Его заметно как говорится на уровне "Вырви глаз". При этом я тоже активно пользуюсь ИИ.
Да 100% , если бюджет и время позволяют и ТЗ нормальное. Я о том же, что советники которые генерируют ИИ - подходят только для самого начального уровня(ну там для школы/студентов для обучения). Там возможно неопредленное поведение во многих ситуациях. ИИ об этом подумать даже не способен при генерации кода по промпту. ИИ хорош ТЗ составить и всё."Разбор полетов" начался вот с этой фразы:
Раз только одну, с ходу быстро цитирую две связанных строки:
Я бы так никогда не сделал если бы писал код в ручную и любой кто профессионально кодит тоже...