Стратегия Mylanguage для достижения в режиме реального времени продвижения изменений позиции на мобильное приложение и WeChat

Автор:Нинабадасс., Создано: 2022-04-12 16:30:25, Обновлено:

1. абстрактный

С непрерывным совершенствованием количественных торговых стратегий пользователи имеют все более высокие требования к изменению позиций в режиме реального времени. Например: Веб онлайн-логи, мобильные приложения и WeChat и т. д. Все нуждаются в изменениях позиций счетов в режиме реального времени, что требует автоматического продвижения изменений, отправленных в браузеры и мобильные телефоны и т. д. По этой причине эта статья нацелена на FMZ Quant (FMZ.COM) Стратегия Mylanguage для достижения в режиме реального времени продвижения позиций на мобильные приложения и WeChat.

Чтобы увидеть полный исходный код статьи, пожалуйста, нажмите на ссылку:https://www.fmz.com/strategy/305785, и я предлагаю вам написать код на практике, потому что только обучение от чтения кода недостаточно.

2. Дисплей торговой стратегии

Чтобы продемонстрировать, эта статья будет ссылаться на предыдущую стратегию торговли Williams %R. Адрес ссылки на стратегию:https://www.fmz.com/strategy/283024. Логика стратегии состоит из значения Уильямса и скользящей средней. Для полной стратегии и конфигурации бэкстеста вы можете нажать на эту ссылку, чтобы получить ее. Код этой стратегии показан следующим образом:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

3. Улучшение языка

The Mylanguage на FMZ Quant (FMZ.COMMylanguage имеет простой синтаксис, который может работать с логикой некоторых простых стратегий; при работе с некоторыми сложными стратегиями язык будет показывать некоторые проблемы. Поэтому FMZ Quant продвинул функцию улучшения языка на основе Mylanguage.

%%
// here we can call any API of FMZ Quant  
scope.TEST = function(obj) {
    return obj.val * 100;
}
%% 
close price:C;
Zoom 100 times of close price:TEST(C);
Zoom 100 times of last close price:TEST(REF(C, 1)); // move the mouse to the backtested K-line, and the variable value will prompt 

Как показано в приведенном выше коде, функция улучшения языка позволяет смешивать программирование Mylanguage и JavaScript.https://www.fmz.com/doc/2569#语�%A8%80%E5%A2%9E%E5%BC%BA

В том числе:

1.объект охватаscope object; можно добавлять свойства в него, и присваивать анонимные функции к свойствам.

2.scope.get_locals ((name)Функция может получить переменные Mylanguage, чтобы реализовать взаимодействие между Mylanguage и JavaScript.

4. Подталкивать к смене позиции

В стратегии Mylanguage функция BKVOL может получить сигнал покупки лота, то есть текущую длинную позицию. Функция SKVOL может получить сигнал продажи лота, то есть текущую короткую позицию. Затем мы можем вычислить текущий статус изменения позиции, вычитая SKVOL из BKVOL. Как показано ниже в коде:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

%%
// adding the following code in any Mylanguage strategy can realize the push of position changes to mobile phone App and WeChat
if (typeof(scope._tmp) !== 'number') {
    scope._tmp = 0;
}
var pos = scope.get_locals('BKVOL') - scope.get_locals('SKVOL');
if (pos != scope._tmp) {
   scope._tmp = pos;
   Log('Push position changes:', scope.symbol, pos, '@');
}
%%

В приведенном выше коде мы объединяем торговую стратегию Уильяма W%R и функцию продвижения изменений позиции, чтобы реализовать синхронизацию в режиме реального времени ордеров на торговую стратегию и изменений позиции и продвинуть их в мобильное приложение и WeChat.

5. Тест ботов

Далее мы запускаем бота, чтобы проверить эту функцию; создаем бота, выбираем OKEX spot, и устанавливаем валютную пару на LTC_USDT (фьючерсы на сырьевые товары и криптовалюты также могут использовать эту функцию, и операция такая же).

Сигнал задействован, перейти к веб-логам img Сигнал задействован, нажмите на мобильное приложение img Сигнал задействован, перейти на WeChat. img

6. Заключение

Выше мы используем простую торговую стратегию Mylanguage William W%R и модуль push-сообщений, разработанный модулем улучшения языка в Mylanguage, чтобы реализовать стратегию продвижения изменений позиции в мобильные приложения и WeChat в режиме реального времени.


Больше