4
Подписаться
1271
Подписчики

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Создано: 2023-04-01 13:07:53, Обновлено: 2024-11-29 18:56:44
comments   5
hits   3079

[TOC]

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Изучите новые возможности редактора стратегий FMZ

Что является самой большой трудностью для новичков в количественной торговле и программной торговле? Вообще говоря, их несколько.

  • Отсутствие базовых знаний: включая основные концепции, правила рынка, знания о торговле, стратегические идеи и т. д.
  • Слабая основа программирования: включая логические выражения, проектирование и написание программ, а также отладку программ и устранение неполадок.
  • Слабое логическое мышление: процесс мышления легко приводит к путанице, и чем больше вы думаете, тем больше запутываетесь.
  • Трудности в самостоятельном обучении: когда возникают проблемы, вы не знаете, с чего начать их решение, и вы можете даже не знать, где искать проблему.

С развитием технологий искусственного интеллекта в определенной степени можно найти решения вышеуказанных проблем. Недавно популярныйChat GPTЕго можно использовать как инструмент для обучения, исследования и создания количественной торговли. С новым обновлением редактора стратегии на платформе FMZ также был подключен Chat GPT, что значительно улучшило количественную производительность. Давайте рассмотрим это вместе.Новые возможности редактора стратегий FMZ

Используйте Chat GPT для помощи в разработке кода

Хотя функции Chat GPT уже очень мощные, а уровень понимания вопросов, поднимаемых людьми, уже очень высок. Но ответ, который он дает, все ещеПолнота описания проблемыТочность описанияТакие факторы, как ввод и вывод пользователя, очень чувствительны. Если описанный сценарий или содержание вопроса неточны, Chat GPT все равно не сможет дать идеальный ответ. Поэтому, используя его для решения каких-то задач, нужно стараться выражать его правильно и полно.

Далее мы воспользуемся функцией Chat GPT редактора стратегии платформы FMZ для решения проблемы проектирования кода. Войдите в платформу FMZ и перейдите на страницу редактирования стратегии.

1. Как вызвать ChatGPT

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Используйте контекстное меню в пустом месте, выберите опцию ChatGPT и щелкните, чтобы вызватьChat GPT,илиИспользуйте ⌘K для вызова ChatGPT

2. О способе задавать вопросы

Если я новичок в количественной торговле, то у меня есть требование: «Использовать минутную K-линию для синтеза данных K-линии любого периода». Как новичок, я не силен в программировании и не могу написать такой алгоритм. Раньше я мог только искать информацию и обращаться за помощью к экспертам. Теперь с помощью Chat GPT я могу напрямую спросить его об ответе. Конечно, как уже упоминалось выше, прямо опишите это требование:«Используйте одноминутную K-линию для синтеза данных K-линии любого периода». Весьма вероятно, что GPT не даст вам на 100% пригодного для использования ответа, и вам необходимо описать проблему как можно подробнее. Взяв это требование в качестве примера, я продолжал корректировать свои вопросы и задавал их много раз, прежде чем получил нужный мне полезный ответ. Давайте опишем это требование немного подробнее:

在FMZ平台上调用exchange.GetRecords(60)函数可以获取一分钟K线数据,数据结构是:
[{
    Time    : 毫秒时间戳,   // 周期的起始时间  
    Open    : 1000,              
    High    : 1500,              
    Low     : 900,               
    Close   : 1200,              
    Volume  : 1000000            
}, ...]
请设计一个算法,使用一分钟K线数据合成任意分钟的K线数据,对于可以整除60分钟的周期,需要从整点的0分开始统计,使用Javascript语言实现,
这个算法单独写成一个函数,测试在function main()函数中测试,使用$.PlotRecords(KLineData, "name")画图。

После вызова ChatGPT вы можете заполнить оптимизированный выше вопрос.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

ChatGPT начинает работать.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Подождите, пока все не закончится.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

иногдаChat GPTОберните код”Символ, который в разметке указывает, что заключенное в нем содержимое является кодом. Поэтому мы просто удаляем первую и последнюю строки. Потому что вопрос, который я задал, это использовать$.PlotRecords(KLineData, “name”)`Рисование, поэтому стратегия должна ссылаться на библиотеку рисования линий для рисования. Рисование должно проверять, являются ли данные K-line, синтезированные кодом, предоставленным Chat GPT, правильными. Что касается того, что такое библиотека шаблонов, я не буду вдаваться в подробности. Вы можете проверить документацию API FMZ.Адрес библиотеки рисования линий

Chat GPTПриведенный код может быть протестирован напрямую. Я установил период K-line по умолчанию для системы бэктестинга на 5 минут, чтобы сравнить график K-line, нарисованный по данным K-line, рассчитанным по алгоритму, заданному Chat GPT.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

3. Протестируйте код, предоставленный Chat GPT.

Чертеж системы бэктестинга Рисунок алгоритма ChatGPT

На первый взгляд алгоритм, предложенный ChatGPT для использования 1-минутной K-линии для синтеза 5-минутной K-линии, верен.

4. Полный код, написанный ChatGPT

/*
合成任意分钟的K线数据
@param {Array} records - 一分钟K线数据
@param {Number} period - 合成的周期,单位为分钟
@return {Array} - 合成后的K线数据
*/
function composeKLineData(records, period) {
  var result = [];
  var index = 0;
  var open = records[0].Open;
  var high = records[0].High;
  var low = records[0].Low;
  var close = records[0].Close;
  var volume = records[0].Volume;
  var time = records[0].Time - records[0].Time % (period * 60 * 1000);
  for (var i = 1; i < records.length; i++) {
    var record = records[i];
    if (record.Time < time + period * 60 * 1000) {
      high = Math.max(high, record.High);
      low = Math.min(low, record.Low);
      close = record.Close;
      volume += record.Volume;
    } else {
      result[index] = {
        Time: time,
        Open: open,
        High: high,
        Low: low,
        Close: close,
        Volume: volume
      };
      index++;
      open = record.Open;
      high = record.High;
      low = record.Low;
      close = record.Close;
      volume = record.Volume;
      time = record.Time - record.Time % (period * 60 * 1000);
    }
  }
  result[index] = {
    Time: time,
    Open: open,
    High: high,
    Low: low,
    Close: close,
    Volume: volume
  };
  return result;
}

function main() {
  var records = exchange.GetRecords(60);
  var kLineData = composeKLineData(records, 5); // 合成5分钟K线数据
  $.PlotRecords(kLineData, "KLineData");
}

Объясните код с помощью Chat GPT

Интеграция ChatGPT в FMZ не только поможет вам писать код, но и поможет вам объяснить его. Выберите код, который ChatGPT только что написал.composeKLineDataФункция, щелкните правой кнопкой мыши, чтобы вызвать всплывающее меню:

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Используйте Chat GPT для предоставления предложений и оптимизации кода

ChatGPT может даже давать предложения по оптимизации и оптимизированный код.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность


Другие новые функции, добавленные в редактор

Это обновление редактора FMZ добавляет функцию ChatGPT. Он дополнительно оптимизирует и улучшает пользовательский опыт написания онлайн-программ и добавляет множество удобных функций.

Просмотреть сочетания клавиш

Щелкните правой кнопкой мыши в пустом месте или при выделении кода, чтобы открыть всплывающее меню.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Отображает комбинации клавиш для различных функций.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность


Изменить имя переменной

Переименовать символ, изменить имя локальной переменной.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Будет изменено только изображение выше.mainИмена переменных в функцияхrecords


Изменить весь идентичный контент

Изменить все вхождения, выбрать имя переменной или слово и одновременно отредактировать все одинаковое содержимое в тексте.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность


Форматирование (украшение кода, автоматическое выравнивание формата)

Выбор формата, форматирует выбранный код.

Форматировать документ, форматировать все коды.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность


Перейти к определению, ссылке

Перейдите в раздел «Определение», перейдите к определению. Перейдите в раздел «Ссылки», перейдите к ссылкам. Перейти к символу…, перейти к имени переменной, имени функции и т. д.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность


Предварительный просмотр определения, предварительный просмотр ссылки

Peek Definition, предварительный просмотр определения. Просмотрите определение выбранного кода, не покидая текущую строку кода. Peek References, предварительный просмотр ссылок, просмотр ссылок на текущую строку кода в других строках кода, не покидая текущую строку кода, и быстрый переход для лучшего понимания логики и структуры кода.

Изучите новые возможности редактора стратегий FMZ: как ChatGPT может значительно повысить вашу количественную производительность