My语言策略实时推送仓位变化到手机App与微信

Posted K线骑士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了My语言策略实时推送仓位变化到手机App与微信相关的知识,希望对你有一定的参考价值。

一、摘要

随着量化交易策略的不断完善,用户对于持仓变化的实时推送要求也越来越高,比如:Web在线日志、手机App、微信等,都需要将账户持仓发生的变化实时地、主动地传送到浏览器、手机等等。为此本文针对发明者量化(FMZ.CN)My语言策略,来实现将仓位实时推送到手机App和微信。

本文完整的源代码请猛戳 https://www.fmz.cn/strategy/329988 ,纸上得来终觉浅,建议大家动手敲敲代码。

二、演示交易策略

为了便于演示,本文将引用之前的威廉W%R交易策略,策略链接地址为:https://www.fmz.cn/digest-topic/7219 该策略逻辑由威廉值和均线共同组成,完整的策略和回测配置,可以点击该链接获取,下面是这个策略的代码:

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语言语言增强

发明者量化(FMZ.CN)的My语言是javascript语言的进一步封装,旨在帮助量化初学者更好的入门,My语言有语法简洁的特点,可以应付一些简单的策略逻辑,但面对一些复杂的策略就会捉襟见肘。为此发明者量化在My语言的基础之上,推出了语言增强功能。如下面的代码例子:

%%
// 这里面可以调用发明者量化的任何API 
scope.TEST = function(obj) 
    return obj.val * 100;

%% 
收盘价:C;
收盘价放大100倍:TEST(C);
上一个收盘价放大100倍:TEST(REF(C, 1)); // 鼠标移动到回测的K线上就会提示变量值

如上面的代码所示,语言增强功能可以让My语言与JavaScript语言混合编程。

其中:

1、scope对象
scope对象,可以添加属性,并赋值匿名函数给属性。在麦语言代码部分就可以调用这个属性引用的匿名函数。

2、scope.get_locals(‘name’)
该函数可以获取My语言的变量,从而实现My语言和JavaScript语言实现交互。

四、推送仓位变化

在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, '@');

%%

在上面的代码中,我们把威廉W%R交易策略和推送仓位变化功能放在一起,从而实现交易策略下单交易与仓位变化实时同步,并推送到手机App和微信上面。

五、实盘测试

接下来我们运行一个实盘验证这个功能,创建实盘选择商品期货,品种设置为橡胶ru2201。

1、信号触发,web端日志

2、信号触发,手机App消息推送

3、信号触发,微信信息推送

六、总结

以上我们通过一个简单的My语言威廉W%R交易策略,配合My语言中的语言增强模块所开发的消息推送模块,从而实现策略实时推送仓位变化到手机App与微信。该模块代码可以附加到任何My语言策略中,实现仓位变化推送到手机App与微信,并且针对不同的场景推出多种推送类型,满足您的个性化推送需求。

以上是关于My语言策略实时推送仓位变化到手机App与微信的主要内容,如果未能解决你的问题,请参考以下文章

手机通知栏推送消息推送 怎么实现的

谷歌app二次验证码与微信小程序二次验证码对比实测

腾讯之困,QQ与微信各有各的烦恼

数量技术宅|量化投资策略系列分享成熟交易者期货持仓跟随策略

H5做的app怎么实现将消息推送到状态栏,求大神指点

智慧锅炉物联网云平台方案