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

30 строк кода перенесут вас в мир количественных инвестиций

Создано: 2016-04-06 10:17:26, Обновлено: 2020-01-13 15:17:11
comments   13
hits   7394

Строго упрощенная линейная стратегия 30 строк создания позитивной системы прибыли

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

Параметры стратегии:

параметр описывать тип По умолчанию
FastPeriod Циклы входа в рынок Цифровой тип ((number)) 3
SlowPeriod Вход в рынок Цифровой тип ((number)) 7
EnterPeriod Наблюдательный период Цифровой тип ((number)) 3
ExitFastPeriod Выезд из города Цифровой тип ((number)) 3
ExitSlowPeriod Долгосрочный цикл Цифровой тип ((number)) 7
ExitPeriod Наблюдательный период Цифровой тип ((number)) 1
PositionRatio Процент позиций Цифровой тип ((number)) 0.8
Interval Период опроса (в секундах) Цифровой тип ((number)) 10

30 строк кода перенесут вас в мир количественных инвестиций

  • Импортирую.交易类库Это поможет вам составить стратегию, а не беспокоиться о том, покупать или продавать.
  • Если вы заметили, что в коде есть неопубликованные переменные, которые могут быть вам не понятны, обратитесь к группе.
function main() {
    var STATE_IDLE  = -1;
    var state = STATE_IDLE;
    var opAmount = 0;
    var initAccount = $.GetAccount();
    Log(initAccount);
    while (true) {
        if (state === STATE_IDLE) {
            var n = $.Cross(FastPeriod, SlowPeriod);
            if (Math.abs(n) >= EnterPeriod) {
                opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
                var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
                if (obj) {
                    opAmount = obj.amount;
                    state = n > 0 ? PD_LONG : PD_SHORT;
                    Log("开仓详情", obj, "交叉周期", n);
                }
            }
        } else {
            var n = $.Cross(ExitFastPeriod, ExitSlowPeriod);
            if (Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0) || (state === PD_SHORT && n > 0))) {
                var obj = state === PD_LONG ? $.Sell(opAmount) : $.Buy(opAmount);
                state = STATE_IDLE;
                var nowAccount = $.GetAccount();
                LogProfit(nowAccount.Balance - initAccount.Balance, '钱:', nowAccount.Balance, '币:', nowAccount.Stocks, '平仓详情:', obj, "交叉周期", n);
            }
        }
        Sleep(Interval*1000);
    }
}
  • Эта стратегия имеет только одну основную функцию main () и не имеет никаких других модулей. В основной функции есть только один цикл.
  • Я опубликовал комментарий к этой стратегии в группе QQ, чтобы ученики, которые изучают ее впервые, могли просмотреть комментарии.
  • Если вы не являетесь членом официальной группы QQ, пожалуйста, присоединяйтесь: 309368835 Изобретатель количественного обмена EA ((original BotVS)).
  • Для тех, кто не владеет языком JavaScript, здесь мы просто расскажем о грамматике, чтобы они не могли понять код.

Заявление переменной

Ключевые словаvar+ Название переменной, например.var name = “小明”

Цикл

while(循环条件){
    // 将会重复执行的代码
}

Код в {} выполняется повторно, если условие цикла истинно. Если условие цикла ложно, то выходит из цикла.

Условное разделение

if (判断条件){
    // 执行代码
} else {
    // 执行代码
}

Это очень просто, если перевести это как если (истинно) (выполнить этот код) (выполнить этот код)

Присвоение

Один.=Номер - это присвоение, например

name = “张三”;

Вместо того, чтобы называть это имя, можно легко перепутать его с сравнением. Для сравнения:==Два равных числа. Пример.“张三”==“李四”Ясно, что Чан Са не Ли Чжи.“张三”==“李四”Это не так.

Соответствующие API

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

  • Функция $.GetAccount: шаблонная экспортная функция, используемая для получения информации об учетных записях биржи
  • Функция Log: API, используемая для вывода информации в журналы, отображения значений и т. д.
  • Функция $.Cross: шаблонная экспортная функция, используемая для обнаружения пересечения среднелинейных показателей
  • Функция $.Buy: функция экспорта шаблона, используемая при покупке
  • Функция $.Sell: функция экспорта шаблона, используемая для операций по продаже
  • Функция LogProfit: API, используемая для вывода прибыли, функция может добавлять другую информацию из второго параметра
  • Функция Sleep: API, позволяющая приостановить программу на некоторое время, параметры - миллисекунды.

Код стратегии также использует библиотечные функции Javascript, методы объектов.

  • Math.abs() функция: возвращает абсолютные значения
  • Функция toFixed () для объекта Number: сохранить число с меньшим числом в четырех или пяти окружностях. Обратите внимание, что функция возвращается как строка
  • parseFloat Глобальная функция: возвращает число плавающих точек.

Подробнее о JavaScript можно узнать на сайте: JavaScript Number Objects http://www.w3school.com.cn/jsref/jsref_obj_number.asp

Процессный график программы, нарисованный вручную, без использования инструментов.

30 строк кода перенесут вас в мир количественных инвестиций

Шаг за шагом мы строим нашу стратегию.

Все входы в стратегические программы должны быть:main()Функция, то есть стратегия, начинается с main функции.

30 строк кода перенесут вас в мир количественных инвестиций

30 строк кода перенесут вас в мир количественных инвестиций

30 строк кода перенесут вас в мир количественных инвестиций

30 строк кода перенесут вас в мир количественных инвестиций

30 строк кода перенесут вас в мир количественных инвестиций

Твердое предложение

Это было сделано с помощью простой 30-строчной стратегии, которая включала в себя развертывание кода на хостинг-роботе, а затем настройку на хостинг-роботе. Стратегия Running! запущена, покупайте операцию ☺☺☺

30 строк кода перенесут вас в мир количественных инвестиций

Благодаря Inventor Quantify, для создания такого упрощенного кода, существует множество открытых стратегий для изучения и улучшения Inventor Quantify, а также для продвижения вместе со многими другими специалистами.

官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。

Вспомогательные видеоуроки

http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html

Справочная информация