写一篇关于 "如何为交易机器人写一份TOR "的文章 - 页 4

 
 

软件开发TOR的标准和模板

https://habrahabr.ru/post/328822/

Стандарты и шаблоны для ТЗ на разработку ПО
Стандарты и шаблоны для ТЗ на разработку ПО
  • 2017.05.17
  • habrahabr.ru
Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры...
 
Rashid Umarov:

关于顾问的TOR的文章的一个简要概要。

介绍。鉴 于客户对这一主题的理解水平极低,这篇文章只是为客户,即 "一个二流子 "而写。通常,客户甚至不知道专家顾问、指标或终端能做什么。这并不意味着我们必须 "沉沦 "到客户的水平。你只需要以人性化的方式解释一切(不使用深奥的编程语言)。

术语。至 少有足够的术语。从字面上看,在(如果是MT4)订单被打开和关闭,以及挂单被设置和删除的层面。很高兴能有必要的解释,比如什么是过度构图,如何检测。非改道的例子:分形、人字形。<...>

2.专家顾问的功能分类,并对每一点作出解释。指示器和非指示器专家顾问。信号处理的方式:内杠和收盘时。支持选项:拖网、平衡、平均。资金管理:变种。<...>

未来专家顾问功能的调查表。问 卷调查的结果是对必要的功能的一个大致概念。对于每个功能,你可以设置复杂系数。这将使你能够为客户确定开发成本的方向。

4.对已完成的解决方案进行测试。这 里我们解释一下如何测试 专家顾问的错误和破损功能。如何解释检测到的bug和bug。

结论。建议。

p.s. 至少80%的订单是典型的,其功能在已知的分类方案内。

p.s.2 许多观点在《编译器》的两篇文章中都有明确的解释。可以交叉引用,借用和澄清。

 
Rashid Umarov:

虽然我想了解哪些类型的EA是有序的,哪些可以归类为

  • 马丁格尔法
  • 反马丁格尔法
  • 栅格
  • 多币种
  • 缩放器
  • 等。

自由职业者有哪些选择?

有一些观点已经当面写给你了。现在我就把它们放到公开讨论中去。


这种分类是最常见的,但它并不反映专家顾问中使用的功能。

例如,"格子 "可能是一个简单的格子,可能是一个马汀,也可能是一个兰 - 这里的决定因素是 "如何计算地段"。

因此,我们需要按照要使用的功能进行分类--那么专家顾问的结构和复杂性就会很清楚--这也是我们制定ToR的需要。

分类是最难的部分 -- 我会给你一些粗略的想法,但如果你需要更多的细节,你就得花很多心思了。

1.按开启信号的类型划分:
-- 指示性
-- 非指示性

2.按收盘信号的类型划分:
--简单的(拿货、止损、反向开盘信号)
--指标
--总止损/止盈(平均)
--按结果(盈/亏)划分

3.按手数计算方法(你可以称之为 "资金管理",但不太正确):
-- 简单
-- 余额百分比
-- "马丁格尔 "类型(当手数按系数增加时)
-- "伊兰 "类型(当手数按目标价格计算时)。

4.开仓/定单 伴奏
-- 网格(当一个定单后有一个网格定单时)
-- 锁定
-- 平均
-- 追踪止损
-- 无亏损

5.多币种(对多币种有不同的理解)

....

-- 那么你就必须思考,而且很多东西是不明确的--也就是说,你必须从字面上 "勾勒 "出什么是和什么是已经遇到的,并对其进行分类。


但分类是相当复杂的事情--还有按开盘信号分类--按信号识别类型(在一个封闭的条形图上,在一个条形图内)的条目。

我想指出的唯一一点是,像 "马丁格尔"、"剥头皮 "等的分类实际上是没有意义的。我们需要更多细节。

顺便说一下,如果你做一个完整的分类--那么你可以做一些像 "顾问菜单 "一样的东西--比如,"鸟 "把和TOR准备好。

 
Rashid Umarov:

文章计划的新迭代

专家顾问的类型

信号 - 基于指标信号

多重秩序--各种各样的网格

半手持式 - 对交易者的行动作出反应(对象、拦截键盘、捕捉手动开立的订单)。

辅助 - 绘制、发送、处理图表和报价,等等。

下行者 - 从网站下载一些信息

复制者--复制交易和其他终端互动

MetaTrader 5的账户类型


信号和多订单 -- 指标专家顾问(通常被称为)允许你在一个方向上开立多个订单,然后以网格的形式处理这些多订单。事实上,当他们说 "网格 "时,他们的意思是打开订单,彼此之间有一个步骤(类似于 "我们拉伸订单的网格")。

这意味着网格与 "非网格 "有非常大的区别,这种区别在于 "开仓条件 "层面,订单可以通过指标信号开仓,也可以通过距离的挂单或其他方式发出。

半手动和进一步伴奏--这是一种指标性的EA,根本没有开场区块,只有一个伴奏区块。

"Martingale/Antimartingale" - 这是相同的功能,不同的是根据最后一次开盘或更经常的收盘来计算手数。

 

地段计算系统(我认为是满的,原则上没有遇到过其他选项)。

-1- 固定

-2- 占余额的百分比(公平,不重要,很少使用)。

-3 - 基于前一个开仓/平仓的结果(最后一个订单被开仓或平仓,重点是手数取决于前面的订单手数 - 这里也可以考虑一个或几个订单的手数)

-4 - 从移动目标(止损或止盈值不是重点,重要的是以点为单位的距离)。


p.2. 余额的百分比--有两种计算方法:a)考虑到存款损失的百分比;b)按存款规模的比例计算。

余额的%是一个纯粹的%,有时它的计算会考虑到止损(这是条款4)。

i.3. 如果基于收盘结果,这是一个单一的订单 - 如果基于开盘结果,则创建一个订单网格。

马丁格尔作为手数的翻倍是这里的一个特例--有一个轮盘系统描述了所有可能发生的条件。

这里有两个选择:a)相对于止损规模的%风险和b)从获利目标(这是 "伊兰 "计划,当你建立一个订单的网格)。


平均数不是手数计算的一部分 - 平均数是计算止盈和止损的一种方式。

 

网格可以是单向的或双向的。

单向的是每个方向(买和卖)都是独立的。

所有网格之间的唯一功能联系是平均数,即网格关闭时的价格水平。

平均数可以是采取(针对运动的接近)或停止(针对运动的接近)。

作为一项规则,取材是固定的。

止损可以是动态的(例如,收支平衡或追踪)。


在mt5中,平均化的任务是通过净值化来解决的--因此在mt5(净值化)中,使用网格工作有其自身的特点,与mt5(对冲)不同。

这些特殊性仅在评估股票(打开一个网格级别)和不通过总头寸工作时出现(在一个网格中,每个订单可能独立行事)。

 

在功能上。

-- 开启区块(通过指示信号,通过之前的开启/关闭结果,通常是一个步骤)。

- 手数计算块(资金管理,但资金管理并不限于手数的计算)

- 用于计算初始停止(固定和动态)的模块

-- 初始起飞计算块(固定和动态)

- 维护块 - 有不同的维护:a)股票,b)停止维护(盈亏平衡,跟踪,当然,固定和动态),c)取出维护(平均),d)地段维护(部分关闭,重新填充,总之)。

-- 平仓块(通常是在指标信号上平仓,在利润上平仓--通过采取/停止的平仓有自己的分类)。

--贸易限制块(按时间、按其他因素的限制)。

-- 信息块(信息面板)

什么适用于专家顾问,复制者 -- 这些,当然,可以作为独立的呈现,但他们可以在上述描述的功能中被规定。

 

如果我们谈论的是酒吧开盘时的信号处理和酒吧内部的信号处理,那么我们需要加以区分。

--理解 "条形开口",因为可能会有转变,例如在条形收盘前10秒进入,而不是简单的从指标上获取信号的情况

-- 信号确认块,因为在条形图开盘时,信号被条形图收盘时确认,但在条形图内部,信号可能会 "游离",我们应该对它做一些处理。

 

入市和待入市不同。

--了解进入点的稳定性(市场进入点是未知的--待定进入点是已知的)--有时待定进入点被市场进入点取代,但在这种情况下,我们必须不断检查专家顾问中的水平交叉点

-- 匹配块的必要性(用于挂单) -- 这个块允许在卖出滑点通过时关闭买单 -- 在MT5中,这个问题被传递到手数计算块,因此取消了匹配功能。