【AHK】打造炒股利器系列——1.语音报时器

引言

懒是进步的原动力,懒就是寻找捷径,懒就是寻找工具,懒就是追求事半功倍,懒就是追求一劳永逸。磨刀不误砍柴功就是懒的大智慧,自动化其实就是极致的懒。

炒股是一种赚钱(kuiqian)的捷径,是那些顶尖懒人(tounao)想要寻找的“理想事业”。然而,梦想是丰满的,现实是骨感的。除了人懒这个人性外,人还有贪婪恐惧的本性在左右你的理性决策。

历经了大起大落、茫然无措,你终于找到了“去人性”才能盈利的终极“圣杯”。开悟后的你马上就可以实现睡后收入、躺赢、无人值守、自动止盈、落袋为安了。。

万事俱备、只差程序员了,编一个程序让它帮你实现:
“截断亏损,让利润奔跑”
“计划你的交易,交易你的计划”
“简单炒股,快乐生活”

然而,聪明的你懂交易不懂编码,而程序员懂编码不懂交易,沟通困难,直接用网上的小工具又有病毒木马和信息泄露甚至资金被盗的风险。还是自己动手吧!来学习AHK一行顶十行的脚本工具,自己手搓炒股工具!

本系列博文就是帮您一步一步接近梦想。

工具篇

想要自动化就要用到脚本,AutoHotkey是一个运行在Windows系统上的,开源 的自动化脚本语言,它短小精干、开源、小巧、灵活、强大是很关键的特性。

下载请认准官网:AutoHotkey

小试牛刀

需求:给我个实现一个语音报时小助理

在日常盯盘过程中,缺少一个小助理,来提醒我们,“快要开盘啦” 、“集合竞价啦” 、“该尾盘买入啦”,就像智能音箱知道主人炒股一样,贴心语音提醒!让你提前做好操作准备,打有准备之仗,避免忙中出错。老祖宗说的好:凡事预则立,不预则废。只有掌握了“时”才能有“机”。

给我1小时,我帮你用AHK给你实现:

#Persistent
#SingleInstance force
/** 
*【AHK】打造炒股利器系列——语音报时器
* 作者:liuyukuan
* 版权声明:未经授权,不得转载 
* 最新版发布在:https://blog.csdn.net/liuyukuan/article/details/142388396
*/

/*
这是多行注释的示范,
和C语言类似用斜线和星号把多行文本括起来,
注释部分将不会被运行。
*/

;AHK的单行注释符号是英文分号

;AHK的赋值符号 :=
早盘下载数据:="09:00:00"
集合竞价时间:="09:15:00"
开盘前五分钟:="09:25:00"
上午开盘时间:="09:30:00"
中午收盘时间:="11:30:00"
下午开盘时间:="13:00:00"
十五分钟收盘:="14:45:00"
全天收盘时间:="15:00:00"

;创建一个文字转语音 (TTS) 的COM对象
Aladdin:=ComObjCreate("sapi.spvoice") 

;设定一个每0.5秒 运行一次的定时器
SetTimer, 定时器, 500
return


;以下是 if 语句的示例

定时器:
	FormatTime, 当前时间,, HH:mm:ss

    if(当前时间=早盘下载数据)
	   {
		Aladdin.Speak("早盘下载数据")            
	   }
	if(当前时间=集合竞价时间)
	   {
		Aladdin.Speak("开始集合竞价")            
	   }
    if(当前时间=开盘前五分钟)
	   {
		Aladdin.Speak("距开盘还有五分钟")            
	   }
	if(当前时间=上午开盘时间)
	   {
		Aladdin.Speak("上午开盘")             
	   }
	if(当前时间=中午收盘时间)
	   {
		Aladdin.Speak("中午收盘")               
	   }
	if(当前时间=下午开盘时间)
	   {
		Aladdin.Speak("下午开盘")              
	   }
	if(当前时间=十五分钟收盘)
	   {
		Aladdin.Speak("距收盘还有十五分钟")         
	   }
	if(当前时间=全天收盘时间)
	   {
		Aladdin.Speak("全天收盘")                
	   }
return

关键知识点

1. 注释符号

注释 是脚本中被程序忽略的那部分文本. 它们通常用于添加解释或禁用部分代码.

可以通过在行的开头使用分号来注释脚本. 例如:

; 这整行是注释.

也可以在行的末尾添加注释, 此时分号左侧必须至少有一个空格或 tab. 例如:

Run Notepad  ; 这是和命令在同一行的注释.

此外, 可以使用 /**/ 符号注释整块代码, 但仅当它们出现在行首时才有效(空白除外), 如下例所示:

/*
MsgBox, 这行被注释掉了(禁用).
MsgBox, 常见的错误: */ 这不会结束注释.
MsgBox, 这行被注释掉了. 
*/

由于脚本运行时会忽略注释, 所以它们不会影响脚本性能或占用内存.

小知识: 使用 #CommentFlag 可以把默认的注释符号(分号) 改为其他字符或字符串.
小扩展: 跑题了,请忽略

标记语言
--ada,elm,hs,lua,sql,vhdl
;ahk,asm,clj,el,ini,ll,red
%erl,hrl,pl,ps,tex
/+,+/d
/**,*/java,kt,rs,swift
/*!,*/rs,scss
/*,*/ahk,cfm,cpp,cs,css,d,dart,dot,fs,go,java,js,kt,php,pl,rs,scss,sql,swift,ts,v
//cfm,cpp,css,d,dart,dot,fs,go,gradle,java,js,kt,php,rs,scss,swift,ts,v,zig
///d,dart,rs,swift,zig
//!rs
'bas,vb,vba
/','/bas
#bash,cmake,coffee,cr,dot,gql,gradle,jl,nim,php,ps1,py,sh,sql,toml,yml,smali
##nim
::bat
*cbl
<!---,--->cfm
#_","clj
#[[,]]cmake
#[,]#nim
###,###coffee
(*,*)pas,fs,ml,wms
{-,-}elm,hs
<!--,-->html,xml,svg
#=,=#jl
--[[,--]]lua
<#,#>psl
""","""py
''','''py
"vim
2. 赋值符号

要为变量赋值, 请使用 := 赋值运算符,
赋值语句的格式,变量名:=表达式

 MyVar := "Some text".

赋值执行过程: 计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。

小扩展 AHK的赋值符号和Pascal语言是一样的。

3. if 语句

指定在表达式计算结果为 true(真) 时执行的一个或多个语句.

If (表达式)
{
    语句
}
4. 逻辑判断符号
运算符说明
=不区分大小写的等于
==区分大小写的等于
<> 或!=不等于
>大于
>=大于等于
<小于
<=小于等于
!逻辑非(!): 如果运算数为空或 0, 那么逻辑非的结果为 1, 这表示 “真”. 否则, 结果为 0(假).
NOT逻辑非, 注意: 单词 NOT 和 ! 含义相同, 但 ! 优先级更高.允许使用连续的一元运算符, 例如 !!Var, 因为它们是按从右到左的顺序计算.
AND 或 &&这两个运算符都是 逻辑与
OR 或||这两个运算符都是 逻辑或
5. 定时器

以指定的时间间隔自动并重复运行子程序.

6. 语音合成(TTS)

WIN操作系统内置的SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。

总结

本文简单入门下AHK:注释、赋值、if语句、逻辑运算符、定时器等基本知识,下一篇将讲讲 数组 Array 循环 forloop等知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuyukuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值