
🤔 我头一回听见“自动交易软体”这几个字的时辰,脑子里画出来的东西,是一台机器。铁的,方方的,前面有红红绿绿的灯在闪。我想,这个东西,它大概就是自己会做买卖,不用人去管。
👂 第一个零件:做耳朵用的
📡 这个软体,它要工作,头一件事,是要听得见外面在发生什么。价格的数目字在上上下下地跳,这个要有人去听。
👂 所以,有一个小零件,就是它的耳朵。这只耳朵,总是竖在那里。外面有数据送过来,它就接住。送过来的数据,刚到的时辰,是挤在一块的,不是像我们看报纸那样一行一行排得很清爽。耳朵要做的事,是把这些挤在一块的数目字,拆开,弄整齐,让软体自己看得懂。
🔍 拆好之后,还不是算完。它还要查一查。查有没有漏掉的数目字,有没有同一个数目字送了好几次过来,时间上面,排队的次序是不是乱的。这些查对的工作,很细,很烦。可是如果不做,后面听错,就要出问题了。耳朵听不实在,后面的决断,一定也是不对的。你说是不是呢。
🧠 第二个零件:学人想事情的
💭 耳朵听来的数儿,要交给一个想的零件。这个零件,人家有时候叫它“决策模块”。我不会起好听的名字,就说它是那个“想的”。
⚙️ 这个想的零件,它怎样做呢。它不是真的像人那样动脑筋,它是靠一堆写死的规矩。规矩是这样子的:如果怎样怎样,那么就怎样怎样。全部都是“如果”开头的句子。
比如说,如果价格跑到了一条线的上头,如果同时又有很多很多成交,那就给一个讯号,说“买”。如果价格跌破了什么东西,那就说“卖”。这些规矩,不是软体自己生出来的,是人在很早以前,一条一条告诉它的。它只会记着,照着做,一遍一遍,它不会自己修改规矩。
🔄 有的时候,软体里存了不止一套规矩。可能有一套是专门给没有风浪的日子的,另一套是给风浪很大、价格乱跳的辰光的。那么就要有另一个小东西,站在旁边看,现在外面是风平浪静呢,还是在闹。看准了,就拉出那一套对应的规矩来用。这看起来好像有点小聪明,但骨子里,还是“如果外面是这样,就用那一套”。绕来绕去,还是在“如果”那两个字里面打转。它没有真正的盘算。
🦾 第三个零件:做手和脚用的
🏃♂️ 想的零件,它拿好了主意,可是它自己没有手,没有脚,不能自己去办。它就派另一个零件出去。
📤 这个零件,就是跑腿的。它把“买”或“卖”这样的意思,变成一串外面市场看得懂的符号,从网路上面送出去。送出去,它就等着。像一个寄信的人,等着对方回信。
⏳ 等的时候,心里是不定的。信有没有寄到?那边看了没有?是全部照办了,还是只办了一部分?碰上网路不好,信半路掉了,这个跑腿的就要想:我要不要再寄一次?等多少时间再寄?寄几回还不见回音,就放掉算了。这些事情,都要事前给它规定死,它不会临时自己变通。
🔄 还有,跑腿的在外面的情形,要时常回头告诉想的零件。不然想的零件以为事情已经办好了,实际单子还卡在半路上,这就要乱。两边说话对不上,是顶麻烦的。
🔒 第四个零件:管锁的,管安全
🔗 好了,上面这几个——听、想、做——已经像一条流水线了。但是这条线上,这里那里,都锁着门。管锁的零件,就是管安全的。
🚧 它不是一个门,是很多门。想的零件刚出一个主意,管安全的先拦下来看。它看什么呢。它看现在手上拿的东西是不是太多了,万一这一下亏,会亏掉总钱的几成。看了觉得不妥,干脆就把这个主意丢了,跑腿的根本就不会知道有过这个主意。
🚥 到了跑腿那边,管安全的还跟着。它看撤单是不是太急了,网路断掉的时候,还有单子挂在外头没收回来的,怎么弄。一层锁万一坏了,后面还有一层。这就好像我们寄重要东西,裹了一层又一层,裹得胖胖的,虽然笨,但是保险一点。
📝 第五个零件:记事的
📓 这个零件,是最不声响的。它什么事都不出头,就是趴在底下,拿一支笔,一直写。
📝 软体这一分这一秒听见了什么,想出了什么,送出了什么指令,碰了什么警报,它都写下来。写下来,当时是用不着的。但以后,万一软体哪里出了毛病,或者你觉得它近期举动不大对,就可以把这些旧纸头翻出来,一天一天的查,看是哪一步走岔了。
⚖️ 写多少,也费思量。写太多,地方装不下;写太少,以后查起来看不清。需要在多与少之间,找一个将将好的位置,这也不很容易。
🧩 我拉拉杂杂说了这许多,讲的都是零件。每一个零件,单独看,并不难懂。耳朵就是耳朵,手脚就是手脚,记事的就是记事的。
🔗 难的地方,是把这些零件全部接上电,让它们一起动。动的时候,耳朵听到的话,要准准的传到想的零件那里。想的零件出的令,要快快传到手脚那里。手脚做的事,又要回头告诉想的零件。中间的线,不能缠在一起,不能断掉。哪里出了小毛病,整个东西要有法子停在一个安全的地方,不闯大祸。
🤕 这些东西,才是一个写软体的人,真正要花费心力、挠头皮的地方。我这样讲,不晓得讲清楚了没有。大概就是,这东西不神,就是一个个笨零件,合在一起做一件需要有记性、不能走神的事情罢了。
⚠️风险提示:本文纯属软件工程层面的技术讨论,以通俗方式介绍自动化交易程序的内部结构。文中不涉及任何具体交易策略、不推荐任何产品或服务、不构成任何形式的投资建议。自动化交易软件本身存在技术层面的固有风险,包括但不限于程序代码错误、网络传输延迟、数据缺失或异常、系统崩溃等。历史表现与测试结果均不代表未来状况。任何人在使用相关工具前,应独立判断并充分了解其运行机制与风险边界。市场有风险,决策须谨慎。
标签
夜雨聆风