Тестовая версия MQL5 Copilot в бете 3647 - страница 5

 
Renat Fatkhullin #:
Обновитесь до 36981 с MetaQuotes-Demo и попробуйте снова.

Благодарю.

// Напиши функцию нового бара следующего программного обеспечения для языка MQL5:

//int NewBar(integer &handle, string symbol, ENUM_TIMEFRAME time_frame, int num_bars)
//{
//   // Код функции
//}
int NewBar(int &handle, string symbol, ENUM_TIMEFRAME time_frame, int num_bars)
{
    // Откройте новый график
    handle = ChartOpen(0, symbol, time_frame, 0, 0, 0);

    // Если график не может быть открыт, верните значение 0
    if(handle == 0)
        return 0;

    // Установите число последних баров серии
    ChartSetInteger(handle, CHART_VISIBLE_BARS, num_bars);

    // Обновление графика
    ChartUpdate(handle, CHART_FILE_UPDATE_ALL);

    // Вернуть 0 в случае успеха
    return 0;
}
 

У меня впечатления - Класс. Понятно, что будет "допиливаться". Но мои недочеты:

1. сейчас писать запрос нужно в одну строку. Если разделить, то подхвтывает запрос только на которой стоит курсор 

2. не видит функции по работе с SQLite. Придумал(а) какую- библиотеку #include <SQLite\SQLite.mqh> которую надо скачать с маркета.

//создать таблицу SQLite название ячеек формируются по следующему алгоритму int Q=3, 
//Общее количество столбцов равно Q*2. Назвния столбцов формируются по правилу IMP_Q,RAT_Q. 
//Пример IMP_1,RAT_1,IMP_2,RAT_2,IMP_3,RAT_3.Число Q может быть использовано в качестве входного параметра



// Для создания таблицы SQLite с заданным количеством столбцов и их названиями в соответствии с заданным алгоритмом в языке MQL5 можно использовать следующий код:
// 

#include <SQLite\SQLite.mqh>

void CreateSQLiteTable(int Q)
{
    int totalColumns = Q * 2;
    string tableName = "Table1";

    // Формируем названия столбцов
    string columnNames[totalColumns];
    for(int i = 0; i < Q; i++)
    {
        int index = i * 2;
        string impName = "IMP_" + IntegerToString(i + 1);
        string ratName = "RAT_" + IntegerToString(i + 1);
        columnNames[index] = impName;
        columnNames[index + 1] = ratName;
    }

    // Создаем объект таблицы
    CTable table(tableName, totalColumns);

    // Добавляем столбцы с заданными именами
    for(int i = 0; i < totalColumns; i++)
    {
        table.AddColumn(columnNames[i]);
    }

    // Инициализируем соединение с БД
    CSQLite conn;
    if(!conn.Open("database.db"))
    {
        Print("Failed to connect to database!");
        return;
    }

    // Создаем таблицу в БД и передаем в нее объект таблицы
    if(!conn.CreateTable(table))
    {
        Print("Failed to create table!");
    }
}

// 
// В данном коде используется библиотека SQLite.mqh, которую можно загрузить с помощью Маркета в MQL5 IDE. Для создания таблицы определяется функция CreateSQLiteTable, которая принимает на вход количество групп столбцов Q. Для определения общего количества столбцов вычисляется их число как Q*2.
// 
// После этого формируются названия столбцов в соответствии с заданным алгоритмом. Для этого используется цикл, который перебирает номера групп и формирует для каждой из них два названия столбцов (IMP и RAT). Названия сохраняются в массив columnNames.
// 
// Затем создается объект таблицы типа CTable и добавляются в него столбцы с заданными именами.
// 
// Далее инициализируется соединение с базой данных и создается таблица в ней, передавая в качестве параметров объект таблицы.
// 
// Обратите внимание, что в коде используется имя файла базы данных "database.db", которое можно заменить на любое другое по вашему усмотрению.
// 
 

text-davinci умеет рассказывать анекдоты:

//расскажи анекдот

// Анекдот о палаче:
// Один палач проводит эксперимент с пятью преступниками. Он объявляет, что даст всем пистолет и тому, кто стрелять последним, даст полфиллона виски. Думая, что это может помочь ему избежать выстрела, последний преступник весь час пытался вынудить других стрелять. По окончании эксперимента палач выдал последнему преступнику полфиллона виски и сказал: «Заметили, что такое заслонка?»

gpt-3.5 отказался, но поставил в отказе смайлик:

//расскажи анекдот

// К сожалению, я - ИИ ассистент - не обладаю способностью шутить. Но я могу помочь с ответами на вопросы по программированию на языке MQL5. :)


класс!))

 
tyup #:

У меня впечатления - Класс. Понятно, что будет "допиливаться". Но мои недочеты:

1. сейчас писать запрос нужно в одну строку. Если разделить, то подхвтывает запрос только на которой стоит курсор 

2. не видит функции по работе с SQLite. Придумал(а) какую- библиотеку #include <SQLite\SQLite.mqh> которую надо скачать с маркета.

Не смог повторить. Вообще ничего не происходит. 3683 бета. На пальцах, что за чем (и где!) писать-нажимать для начинающих. Если можно.

Ключ рандомный.

 

Не знал что уже все работает в редакторе, зашел ветку почитать, увидел. Очень интересно. 

Если перестал на какой-то строке печатать, указатель переносим в конец строки, где есть текст, снова жмем ctrl+alt+\ клавиша под Backspace и он продолжит мысль. 

 

Классная идея в работе! Я сам в последнее время применяю Chat GPT для решения задач, когда начинаю затупливать. В основном, дело касается реализации функций для сложных расчетов чего-либо или "переворачивания" функций, когда по прямой функции результат известен и надо рассчитать какую-то переменную из этой функции. Сам код Chat GPT пишет плохо, редкий случай, когда пишет что-то правильно, при этом, что на mql, что на pine, лучше всего на Python.

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

А нет, не ошибся. Вот и статейка. Так что, можем только полагаться только на то, что скормят нейронке разрабы из открытых источников.

OpenAI не будет обучать нейросети GPT на пользовательских данных, пообещал глава компании Сэм Альтман 

05.05.2023 [22:45]

Компания OpenAI уже некоторые время не использует и в дальнейшем не будет использовать данные пользователей для обучения своих языковых моделей GPT. 
Об этом в разговоре с изданием CNBC сообщил глава OpenAI Сэм Альтман (Sam Altman).

«Наши клиенты определённо не хотят, чтобы мы обучали свои модели на их данных, поэтому мы изменили наш подход и не будем этого делать», — заявил Альтман. 
Изменения в политике компании были внесены и отражены в новой редакции пользовательского соглашения ещё 1 марта, о чём свидетельствуют данные Internet Archive.

«Мы не используем для обучения [языковых моделей] данные с нашего API. Не делаем это уже некоторое время», — добавил Альтман в разговоре с журналистами CNBC. 
API или программные интерфейсы приложений представляют собой фреймворки, которые позволяют пользователям напрямую подключаться к программному обеспечению OpenAI. 
Бизнес-клиенты компании OpenAI, в число которых входят Microsoft, Salesforce и Snapchat, с большой вероятностью пользуются преимуществами, представленного несколько месяцев назад API OpenAI 
в своих сервисах. Новая политика безопасности пользовательских данных OpenAI распространяется только на клиентов, которые пользуются её API.

Компания пообещала, что не будет использовать передаваемые ей данные для обучения моделей без согласия клиентов. Это должно развеять опасения последних в том, 
что бот начнёт оперировать в своей работе подлежащей защите информацией. По этой причине та же компания Amazon предупредила своих сотрудников о недопустимости вносить 
конфиденциальную информацию в запросы ИИ-чат-бота ChatGPT, поскольку она может тем или иным образом отразиться в запросах других пользователей чат-бота.

Изменения в политике использования умных чат-ботов происходят на фоне растущего возмущения общественности, считающей, что продвинутые языковые модели 
в конечном итоге заменят работу людей. Например, Гильдия сценаристов США во вторник начала забастовку из-за того, что не смогла договориться с кинокомпаниями 
по вопросам ограничений использования того же чат-бота ChatGPT в создании или редактировании сценариев.


Так что ждем альтернативу OpenAI, которая будет уметь обучаться на пользовательских данных. заточенную под программистов.

 
Vitaliy Kuznetsov #:

     

P.S. С появлением новых функций, можно сразу проводить рефакторинг для ускорения работы продукта

По поводу сокращения количества строк - по мне так пусть будет много строк, но код будет читаемым и логичным. По поводу производительности, не думаю, что тут нейронка сможет помочь. Профилировщик + голова незаменимы.
 
С MQL5 вы не можете использовать обычный ChatGpt, но вам придется создать свой собственный CatGpt, который обучен только на MQL5.
 

Copilot стал выдавать такую ошибку:

2024.03.25 10:27:32.744 Copilot request failed, try again later (403) in 110 ms
 
tyup #:

Copilot стал выдавать такую ошибку:

Блог-пост об ошибке 403 (в общем случае):
https://www.mql5.com/en/blogs/post/753357
Summary: Installation Failed - Error 403 and more
Summary: Installation Failed - Error 403 and more
  • www.mql5.com
Many traders are using MQL5 VPS , and this VPS is having a lot of advantadges, for example - the traders do not lose activations when they  migrate/synhronize their MT4/MT5 environment to MQL5