我开始这项业务,以专注于设计更好的交易系统. 显然编程的过程中起着很大的作用.
What most people don’t realize is that the programming experience can be quite challenging. 当一个项目需要更多的时间比预期, 它往往需要更多的时间比原先估计.
编程是像航空旅行
你们中许多人经常出差. 飞行是相当多,当你旅行的任何显著的距离定.
有多少次你走过的航班抵达 5 小时初? 现在的问题是可笑. It doesn’t happen.
20 早几分钟到城门,使最频繁的传单欣喜若狂. 他们知道,早抵达, 即使只通过几分钟, 是因为它得到一样好.
性能不会涉及到航空公司在一定程度上. 检查维修问题可以防止惊喜 20 起飞前几分钟或, 但愿, 在空气中.
准时到达剧组帮助. 我立马从杜勒斯国际机场到达拉斯最后一次, 更换船员抵达门晚一个小时.
我飞到都柏林的最后两次, 美国联合航空公司失去了我的包… 两次. 有时, 它确实是 100% 航空公司’ 故障.
不可抗力
这些经验一边, 多少次航空公司偷懒了如此糟糕,旅客迟到天? 旅客也有严重的延误到达, 但这种情况下通常是与天气有关. It’s outside of the airlines’ 控制.
我记得爆发几年前的火山在冰岛. 人们硬是卡在欧洲的一个星期.
该封存是一个很好的例子. In what’s certainly a willful choice to inflict pain on fliers, 美国联邦航空局决定休假主要机场空中交通管制.
这些机场是相同的,我经常光顾. When I fly to Dublin on Tuesday and I’m potentially 4 晚点时间, I’ll be angry. 但, I’ll also know to direct that anger at Congress instead of the airline.
编程和旅游是脆弱的系统
这个想法对这篇文章来自 Antifagile, 其中,纳西姆·塔勒布讨论如何 小的变化 创建指数的问题.
旅游是大家都熟悉的我们, 所以,当我们想到三角洲, 它代表了小的变化, 图象它作为时间延迟或增加的运输时间.
考虑的影响 3 不同的三角洲
考虑我在纽瓦克临时滞留. 我多晚可之前我错过了中转航班. 如果我错过了连接, 多长时间耽误我?
20 分钟 – 此处的变化是最小的. 我会吃大亏的 (可能是不必要的) 应力. 我和我的妻子可能跨终端慢跑, 看起来有点愚蠢的过程中. 然而, 进行连接的概率是接近一定.
60 分钟 – 这是情况是正确的灾难的边缘. 我可怜的妻子会听我捞到又咬我的指甲,因为我翻转了关于失踪的连接.
如果我们这样做使飞行, it’s only because the airline decided to hold he flight at the gate. 这样做上百带来不便的候车乘客,而少数旅客乱窜到登机.
If they don’t hold the flight, 很好, then I’m screwed.
缺少连接后可能出现的最好情况是,航空公司美国转移到其他欧洲目的地. 航空公司则需要把我们的合作伙伴航空公司飞美国到都柏林, 回溯我们刚刚从来到. 一个小时的延误使我们
- 等待另一个欧洲航班
- 飞一个小时到不同的目的地
- 等待在不同的机场都柏林连接
- 飞一个小时回溯
像这样的延迟很容易导致一个额外的 6-8 旅行时间小时- 所有从 1 小时的延迟.
3 小时的延迟 – 捕获另一航班到欧洲看起来真的看好. The best case is that the airline put us up in a hotel for the night and sends us on tomorrow’s Dublin flight. 一 3 时间延迟扩展到 24 小时的等待, 加上其余飞行时间.
程序设计
行, 肖恩, 行. 什么是他必须做的编程?
就像旅行, 编程的项目只能走这么好. 每当意想不到的事情发生, 问题成倍加重自己.
邪恶三角
时间旅行者的敌人. 在编程交易机器人 (或任何编程, 真), 三角洲是惊喜的程度.
操作系统更改: 我们开发了一个自定义的MT4插件,客户端,喜欢交易价格梯子. 提供软件后一个星期, 微软发布的操作系统更新. 此更新中,我们提供的软件代码爆发.
沟通: 你相信你问一件事, 但你再弄. 这看似细微的疏忽项目可以炸掉成主要问题.
克里斯曾在一个项目上月试图执行在精确的时间间隔交易网. 克里斯’ 原来使用的版本市场订单. 极少数的错误弹出, 但原始版本的核心运作良好. 客户端, 然而, 假设我们将使用挂单,并要求将其改变.
变化毁了原来的设计. 更重要的是, we discovered that achieving exact execution was fundamentally impossible because we couldn’t precisely control the execution time.
什么开始作为一个 5 小时项目自爆高达 30 工作时间. 从通信惊喜三角洲是邪恶.
基本的市场机制: 有时,我们问的问题,当交易者应该知道答案. 我们得到一个共同的交易员导致的问题问,为什么突然间交易在接近市场. 交易者应该有足够的知识和经验,以避免这样的基本问题.
在这些问题上的增量变化, but they’re not as severe as communication issues. 他们可以从任何地方 20 分钟花在研究问题到几个小时.
事情可以去正确的编程项目
- 提供代码的时间. 为按时交货的时间要求是最容易预测. 项目开始与目标. 编码器具有的时间来建立一个工作版本所需要的量是个好主意.
我认为这是类似于一个飞行机组到达时间. 酒吧是相当低的位置. - 代码工作没有缺陷的第一次 – 毫无疑问,你的第一反应是这里, “That’s the way it should be!”. It’s certainly the way that I’d like it to be, but it often doesn’t work out that way.
大多数软件问题的沟通导致. 当我们编写工作程序中的一个范围 专家顾问, 我们相信,我们充分了解需求.它往往事实证明,一些要求没有沟通. 该产品从字面上遵循的顺序. It’s only when viewing the trades enter the market that the client realizes that they did not ask for something – 就这样想挂单,而不是市场订单的客户端. 他们错误地认为被理解的时候它不. 眼看着缺少的功能的体验是用户认识到监督的唯一途径.
- 待人很好 – 编程是一种服务, 但没有人愿意感觉的人在另一端只在乎钱. 我真正关心设计的交易系统,帮助人们. 当客户有业务往来的OneStepRemoved, 我希望他们能够更好的交易和 知道 我们关心他们的长期成功.
You can always email me personally if you feel you’ve been treated otherwise.
你处理编程时您的交易机器人是什么样的惊奇? 分享你的经验在下面的评论部分.