标题:免费短信智能提醒基金买卖价格-利用google sheets和139邮箱

-------------------------------------------------------------------------------------------------------------------------------

时间:2019/1/30 15:40:27

-------------------------------------------------------------------------------------------------------------------------------

内容:

短信智能提醒基金买卖价格-利用google sheets139邮箱

 

 

项目背景

个人理财购买了一些基金,希望能理性的安装止损和止盈进行一些交易

例如我购买的价格是1.2元,需要在上涨5%卖出 进行止盈,或者下跌5%就进行卖出进行止损,因为工作的关系没办法每天去看基金的价格,就算看了还要回想下是否到了需要卖出的时间 不是很智能

 

需求分析

 

需要制作一个工具,每天代替我去查看基金的价格,是否达到卖出价格,每周可以发一个周报给我,告诉我波动情况,和趋势(马上要接近止盈还是止损)

 

 

业务流程及原理

 

1,获取数据

a.  可以通过google sheetsimportxml函数,使用天天基金网作为数据源获取当天的预估(使用下午230的数据可以作为当天的交易价格,3点收盘),设置脚本定时器每天的下午2.30运行获取数据脚本

2,分析和整理数据

a.  将获得的预估价格数据与设置的目标区间进行对比,同时吧数据记录在表格中,作为趋势图分析

3,报告数据

a.  如果当天预估价格达到目标值,发送短信邮件通知进行买卖

b.  如果一周已经结束,发送短信邮件汇报本周情况

 

分部图解过程

1,工具草稿界面设计制作

使用铅笔和纸,对工具的输入,输出,提醒,界面进行使用设计,创建一个google sheets 文档 画出草稿

查看更多精彩图片













 

 

涉及2大区域

输入信息

需要监控的基金的代码 必填,买入日期 选填(可能是不同天分段买入)买入单价(平均成本),买入金额,以及期望的止损和盈点,通知方法(邮件 ,短信),通知频率,通知内容模板

 

输出信息

基金目前的价格和浮动盈亏的每天记录的价格以及当天的230的和300的预估

 

2,Google Sheets中实现上述界面的排版和基本美化

 

在实际的编码过程中发现同时要实现2个逻辑,既230检查数据的如果达到要提醒的价格则需要发布定制的邮件,还有一个逻辑是晚上1130检查数据,如果满足周报和月报时间则发送邮件

本来想把这2个逻辑写一起,但是发现不容易排错和后期维护,于是就在界面和后台完全吧他们分开,用2sheets来负责模块 交易提醒功能,其中一个sheet用来设置和收集数据,并进行简单加工,和保存数据,另外一个sheet用来编辑邮件模板这样的好处是可以把外发的数据和收集的数据分离开,同时也保留了本地的数据,为以后进行2次分析做了准备

 

 

查看更多精彩图片

 

如图所示raw data-notify表格,是设置数据和获取数据的表格,并且我需要每天

保存这个结果

 

数据抓取区

需要输入数据源的URL以及数据的基本信息

制定我要抓取的字段名称以及字段的代码和对应的Xpath

 

数据抓取结果区

使用xpath和函数importxml3个字段给抓取下来,同时从另外的表格获得基金的最低和最高止盈点,并进行2次判断,使用ifs函数,来获得发的邮件的类型

 

数据保存区

将原始数据保存下来,这里主要是使用google scriptssheets.getrange(b3).getvalue() 和sheets.getrange(b3).setvalue()

将获取的值保存在结果区(因为获取的值是通过公式获得 实时会变)

 

ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet1 =ss.getSheetByName("email-notify")

kaiguan=sheet1.getRange(3,1).getValue() 

 

 

方便以后调用和二次编辑

具体代码如下

查看更多精彩图片

该代码设置为每天230运行

她会吧获取的数据保存到数据保存区

主要是获取当前行数 然后再使用getrange(I,2)动态单元格地址进行赋值

 

而邮件发送功能也是单独的一个sheet如下

查看更多精彩图片

 

 

 

 

 

 

首先要确认这个邮件是否需要发送,以及发送的对象和内容

把这些参数传回到script即可完成

 

判断是否发送可以从之前的sheet里面由个判断执行来决定

发送的内容可以

 

发送的内容可以使用自定义模板并且加上一些变量,这些变量是从之前获取的数据得到,

 

把邮件模块单独独立出

后期修改方便,应该找个工具只有第一次需要访问这个google sheets设置,以后都是收到邮件,所以对邮件的需求修改需求是很多的。

 

查看更多精彩图片

 

这个dashboard表主要是用来设置基金的买入价格和提醒价格

 

 

周报月报功能

查看更多精彩图片

 

首先设置好需要抓取的数据

 

然后再进行判断

然后在保存数据

 

这里的判断需要分析当前周是否是周6(需要进行发周报了)

当前天是否是1号(需要发月报了)

然后把获取的区间数据进行判断

即可

最后结合报告输出即可

 

查看更多精彩图片

最终的报告模板和上面的交易提醒类似


 

代码也是类似

 

 

 

 https://docs.google.com/spreadsheets/d/12PDgyudS8yHLiHGTmxx17ezZJ-G6uxMCBP4dLMibFrg/edit?usp=sharing

 

 

 

 

 

 

 

 

短信智能提醒基金买卖价格-利用google sheets139邮箱

 

 

项目背景

个人理财购买了一些基金,希望能理性的安装止损和止盈进行一些交易

例如我购买的价格是1.2元,需要在上涨5%卖出 进行止盈,或者下跌5%就进行卖出进行止损,因为工作的关系没办法每天去看基金的价格,就算看了还要回想下是否到了需要卖出的时间 不是很智能

 

需求分析

 

需要制作一个工具,每天代替我去查看基金的价格,是否达到卖出价格,每周可以发一个周报给我,告诉我波动情况,和趋势(马上要接近止盈还是止损)

 

 

业务流程及原理

 

1,获取数据

a.  可以通过google sheetsimportxml函数,使用天天基金网作为数据源获取当天的预估(使用下午230的数据可以作为当天的交易价格,3点收盘),设置脚本定时器每天的下午2.30运行获取数据脚本

2,分析和整理数据

a.  将获得的预估价格数据与设置的目标区间进行对比,同时吧数据记录在表格中,作为趋势图分析

3,报告数据

a.  如果当天预估价格达到目标值,发送短信邮件通知进行买卖

b.  如果一周已经结束,发送短信邮件汇报本周情况

 

分部图解过程

1,工具草稿界面设计制作

使用铅笔和纸,对工具的输入,输出,提醒,界面进行使用设计,创建一个google sheets 文档 画出草稿

查看更多精彩图片













 

 

涉及2大区域

输入信息

需要监控的基金的代码 必填,买入日期 选填(可能是不同天分段买入)买入单价(平均成本),买入金额,以及期望的止损和盈点,通知方法(邮件 ,短信),通知频率,通知内容模板

 

输出信息

基金目前的价格和浮动盈亏的每天记录的价格以及当天的230的和300的预估

 

2,Google Sheets中实现上述界面的排版和基本美化

 

在实际的编码过程中发现同时要实现2个逻辑,既230检查数据的如果达到要提醒的价格则需要发布定制的邮件,还有一个逻辑是晚上1130检查数据,如果满足周报和月报时间则发送邮件

本来想把这2个逻辑写一起,但是发现不容易排错和后期维护,于是就在界面和后台完全吧他们分开,用2sheets来负责模块 交易提醒功能,其中一个sheet用来设置和收集数据,并进行简单加工,和保存数据,另外一个sheet用来编辑邮件模板这样的好处是可以把外发的数据和收集的数据分离开,同时也保留了本地的数据,为以后进行2次分析做了准备

 

 

查看更多精彩图片

 

如图所示raw data-notify表格,是设置数据和获取数据的表格,并且我需要每天

保存这个结果

 

数据抓取区

需要输入数据源的URL以及数据的基本信息

制定我要抓取的字段名称以及字段的代码和对应的Xpath

 

数据抓取结果区

使用xpath和函数importxml3个字段给抓取下来,同时从另外的表格获得基金的最低和最高止盈点,并进行2次判断,使用ifs函数,来获得发的邮件的类型

 

数据保存区

将原始数据保存下来,这里主要是使用google scriptssheets.getrange(b3).getvalue() 和sheets.getrange(b3).setvalue()

将获取的值保存在结果区(因为获取的值是通过公式获得 实时会变)

 

ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet1 =ss.getSheetByName("email-notify")

kaiguan=sheet1.getRange(3,1).getValue() 

 

 

方便以后调用和二次编辑

具体代码如下

查看更多精彩图片

该代码设置为每天230运行

她会吧获取的数据保存到数据保存区

主要是获取当前行数 然后再使用getrange(I,2)动态单元格地址进行赋值

 

而邮件发送功能也是单独的一个sheet如下

查看更多精彩图片

 

 

 

 

 

 

首先要确认这个邮件是否需要发送,以及发送的对象和内容

把这些参数传回到script即可完成

 

判断是否发送可以从之前的sheet里面由个判断执行来决定

发送的内容可以

 

发送的内容可以使用自定义模板并且加上一些变量,这些变量是从之前获取的数据得到,

 

把邮件模块单独独立出

后期修改方便,应该找个工具只有第一次需要访问这个google sheets设置,以后都是收到邮件,所以对邮件的需求修改需求是很多的。

 

查看更多精彩图片

 

这个dashboard表主要是用来设置基金的买入价格和提醒价格

 

 

周报月报功能

查看更多精彩图片

 

首先设置好需要抓取的数据

 

然后再进行判断

然后在保存数据

 

这里的判断需要分析当前周是否是周6(需要进行发周报了)

当前天是否是1号(需要发月报了)

然后把获取的区间数据进行判断

即可

最后结合报告输出即可

 

查看更多精彩图片

最终的报告模板和上面的交易提醒类似


 

代码也是类似

 

 

 

 https://docs.google.com/spreadsheets/d/12PDgyudS8yHLiHGTmxx17ezZJ-G6uxMCBP4dLMibFrg/edit?usp=sharing