С постоянным совершенствованием стратегии количественной торговли, пользователи также требуют более высоких требований к реальному продвижению изменений в состоянии, например: веб-онлайн-логи, мобильные приложения, WeChat и т. д., которые требуют передачи изменений в состоянии аккаунта в реальном времени, активно в браузер, мобильный телефон и т. д.FMZ.COMMy языковая стратегия, которая позволяет продвигать позиции в режиме реального времени в мобильные приложения и WeChat.
Полный исходный код для этой статьиhttps://www.fmz.com/strategy/305785На бумаге появилось мало информации, и мы рекомендуем всем начать печатать код своими руками.
Для удобства демонстрации в статье приведены ссылки на предыдущую стратегию William W%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;
Изобретатель количественный (((FMZ.COMMy язык имеет грамматически простые характеристики, способные справиться с некоторыми простыми стратегическими логиками, но с некоторыми сложными стратегическими логиками. Для этого изобретатели выпустили функции улучшения языка на базе My языка.
%%
// 这里面可以调用发明者量化的任何API
scope.TEST = function(obj) {
return obj.val * 100;
}
%%
收盘价:C;
收盘价放大100倍:TEST(C);
上一个收盘价放大100倍:TEST(REF(C, 1)); // 鼠标移动到回测的K线上就会提示变量值
Как показано выше в коде, языковые расширения позволяют программировать на языке My в сочетании с языком JavaScript.https://www.fmz.com/doc/2569#语言增强
Среди них:
Объекты 1 и scopescope объект, который может добавлять свойства и присваивать анонимные функции к свойствам. В кодовом разделе Mac можно вызвать анонимные функции, ссылающиеся на это свойство.
2、scope.get_locals ((
В My языковой стратегии функция BKVOL может получить число сигналов покупки, то есть текущие многоголовые позиции. Функция SKVOL может получить число сигналов продажи, то есть текущие пустые позиции. Тогда мы можем вычислить текущее состояние изменения позиции путем BKVOL минус SKVOL.
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;
%%
// 下面代码附加到任何My语言策略最后都可以实现仓位变化推送到手机App与微信
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('通知仓位变化:', scope.symbol, pos, '@');
}
%%
В приведенном выше коде мы объединяем стратегию торговли William W%R с функцией продвижения изменений позиции, чтобы обеспечить синхронизацию смены позиции в режиме реального времени в мобильном приложении и в WeChat.
Далее мы запускаем реальную проверку этой функции, создаем реальную выборную опцию OKEX, валютную пару настройки LTC_USDT (комодиальные фьючерсы и цифровые валютные фьючерсы также могут использовать эту функцию, работают аналогично)
1, сигнал запускается, веб-логи 2, сигнал запускается, сообщение в мобильном приложении отправляется Третье: сигнал запускается, сообщение WeChat отправляется.
Выше мы использовали простую My Language WILLIAM W%R, которая была разработана с помощью языкового модуля в My Language, чтобы реализовать изменение позиции в мобильном приложении и WeChat в режиме реального времени. Код этого модуля может быть добавлен в любую My Language, чтобы реализовать изменение позиции в мобильном приложении и WeChat, а также для различных сценариев для решения ваших индивидуальных нужд.