交易中的机器学习:理论、模型、实践和算法交易 - 页 2882

 
Uladzimir Izerski #:

我只能劝你不要走假先知的道路。

我是这么认为的。
 

新年快乐

从人工智能出发,仔细考虑准确性和效率之间的权衡很 重要

总的来说,我认为这是生活中最重要的法则。没有误差,就没有精确的测量。而误差取决于测量的时间和平均....可以说...

 
好了,他们已经把它抹去并禁止了。主要内容被删除,如何用几块钱制作荷兰 SIM 卡))))
 
Valeriy Yastremskiy #:
好了,他们已经把它抹去并禁止了。主要的东西被抹去了,如何用几块钱制作荷兰 SIM 卡))))

感谢上帝)。

 

是否有适用于 mt5 的管理脚本?

比如

1) 如果您进行了交易,会自动设置止损。

2)如果账户出现亏损,则不允许再开仓交易,等等。

 
mytarmailS #:

是否有适用于 mt5 的人工脚本?

喜欢

1) 如果您进入交易,止损会自动设置

2) 如果您的账户出现亏损,则不允许您再进行任何交易,等等。

有趣的是,就在昨天,我还在想:"如果 MO 不是用于入市方向,而是用于管理,特别是用于管理向盈亏平衡点的转移、设置止损和止盈,那会怎么样呢?

代码库中应该有很多这样的东西--找找看。

 
mytarmailS #:

阿列克谢,我想你知道,但也许不知道,所以我将向你展示将 长度可变的 薄片/向量作为输入的算法是如何工作的


我们有一张长度可变的向量表,一个向量==一个观测值。

当模型、"引擎盖 "下的算法接收到这些数据时,它会做什么? 它将这些数据转化为一个矩阵。

但由于真实数据的矩阵非常庞大,因此算法会将数据转化为内存效率高 的稀疏矩阵。

所以引擎盖下还是一个矩阵)。(小心数据)


所有的货物篮子都自然地简化为已知固定大小的向量,等于商店里的商品数量。

我们的情况则完全不同。为简单起见,让价格成为一连串的伦克条,每个条都标有 1 或-1。对于位置编号为 N 的每个条形图,特征向量就是之前所有的条形图--长度为 N-1 的 1 和 -1 向量。特征向量的长度没有先验限制。使用一个给定的(由我们确定的)固定条数来表示特征是一种强制措施。我们希望摆脱这种限制,建立能够处理任意长度向量的算法。

我发现递归函数是此类算法的数学素材。这些函数将任意大小的向量作为输入,但它们是通过具有固定参数数的函数定义的。最简单的例子就是指数平均数。

 
Aleksey Nikolayev #:

所有产品篮子都自然地简化为已知的矢量,其大小与商店中所有产品的件数相同。

我们的情况则完全不同。为简单起见,让价格成为一连串的 Renko 条形码,每个都标为 1 或-1。对于位置编号为 N 的每个条形图,特征向量就是之前所有的条形图--长度为 N-1 的 1 和 -1 向量。特征向量的长度没有先验限制。使用给定的(由我们确定的)固定条数作为特征是一种强制措施。我们希望摆脱这种限制,建立可以处理任意长度向量的算法。

我发现递归函数是此类算法的数学素材。这些函数将任意大小的向量作为输入,但它们是通过具有固定参数数的函数定义的。最简单的例子就是指数平均数。

你到底想搜索什么,以什么方式搜索?

例如,我们有一个模式、三个峰值或其他任何东西(规则、事件、模式、群集)


它们之间可能发生任何事情,我们将其视为噪声,不予考虑。

我们将噪声矢量/矩阵作为输入,然后检查是否存在模式....。

您考虑的是这个概念还是其他?

========================================================

我认为这是一连串必须发生的事件,它们由逻辑规则描述...

事件 == 逻辑规则。

例如:如果事件 1 发生了,而没有事件 2,那么我们就等待 事件 3 等等....。

因此有两种规则/事件,一种是继续搜索时的 "开始 "事件,另一种是取消搜索时的 "停止 "事件。


架构如下

1) 规则由语法生成

2) 基因算法通过适应度函数搜索和改进规则。

=========================

下面是一个针对多维数据(本例中为 OHLC)的简单语法示例。

library(gramEvol)

Xcolnames <- c("open","high","low","close")

ruleDef <- list(
  res = grule(t(as.data.frame(multi.expr))),
  
  multi.expr = grule( c(single.expr, single.expr, single.expr,
                        single.expr, single.expr, single.expr)),
  
  single.expr = grule(list(r=c( go_rules   = as.character(expression(Expr)),
                                stop_rules = as.character(expression(Expr))))),
  
  
  Expr     = grule(expr, expr & expr ),
  
  expr     = grule(logy_op(one_var,one_var) ),
  one_var  = gsrule('X[<id>,<var_name>]'),
  
  id       = grule(i,numb,i+numb),
  numb     = gvrule(1:10),
  var_name = gvrule(Xcolnames),
  logy_op  = grule(">","<"))

grammarDef <- CreateGrammar(ruleDef)
gr <- GrammarRandomExpression(grammarDef, 1)
rbind.data.frame(eval(gr))


语法生成的规则。

这组规则就像一条包含多个条件的规则。

X "是一个包含属性的矩阵,循环 "i "在矩阵上行走并选择自己喜欢的属性,这是一个非常灵活的系统。

                                                       go_rules
r   X[i, "low"] < X[2, "close"] & X[i + 3, "low"] > X[i + 2, "low"]
r.1                             X[i + 2, "open"] < X[i + 8, "high"]
r.2   X[2, "open"] < X[i + 3, "high"] & X[i, "high"] < X[8, "high"]
r.3                                   X[1, "low"] < X[i + 8, "low"]
r.4   X[3, "open"] > X[3, "close"] & X[i + 1, "open"] < X[2, "low"]
r.5                                 X[i, "high"] < X[i + 2, "open"]
                                                       stop_rules
r                                    X[i, "open"] > X[2, "close"]
r.1  X[i, "low"] > X[i, "high"] & X[i + 2, "high"] < X[i, "high"]
r.2                                  X[3, "high"] < X[2, "close"]
r.3    X[1, "high"] > X[2, "open"] & X[i, "high"] > X[i, "close"]
r.4                                  X[4, "open"] < X[2, "close"]
r.5 X[i, "high"] < X[1, "high"] & X[2, "low"] < X[i + 2, "close"]

原则上,一切都已经实现,如果有兴趣,我可以把它提供给你。



PS 对属性矩阵的大小没有限制,每个实例可以是任意大小,最重要的是所有规则都按顺序工作,没有时间限制。

 
mytarmailS #:

您究竟想寻找什么,以何种方式寻找?

例如,我们有一个模式、三个峰值或其他什么(规则、事件、模式、群集)


它们之间可能发生任何事情,我们将其视为噪音,不予考虑。

因此,我们将噪声矢量/矩阵作为输入,然后检查是否存在模式....。

这是你正在考虑的概念还是其他?

我的概念尽可能宽泛,因为没有特别的限制,很多东西都符合这个概念。你的例子可能也符合这个概念。尤其重要的是,没有严格定义的图案长度。

无论如何,对我来说,重点是在 SB,1 或-1 的概率总是 0.5,您应该寻找概率(频率)严重偏离这个值的地方。例如,在你的图案中,这可能是第三个峰值的斜坡。

我想 "我们在第三座山峰的左斜坡上 "这一规则可以通过递归函数来表达。但我不认为这些函数可以很容易地明确写出来,所以你需要用 MO 算法来构建它们。

 
Aleksey Nikolayev #:

但我真的不相信这些函数可以很容易地明确写出来,所以我们需要 MO 算法来构建它们。

好吧,我向你提出了一种符合你要求的算法


1) 没有时间限制,因为我们自己就能写出需要的东西

2) 搜索规律性的任何逻辑,因为我们自己 我们需要的东西

3) 可以选择用对数规则或函数来描述规律性 因为我们自己就能写出我们需要的东西


因此,在我提出的概念中

这些模式将是等价的,而模式本身可以是任何复杂程度的。

     open high low close
[1,]    1    0   0     0
[2,]    0    1   0     0
[3,]    0    0   1     0
[4,]    0    0   0     1
[5,]    0    0   0     0
      open high low close
 [1,]    0    0   0     0
 [2,]    0    0   0     0
 [3,]    1    0   0     0
 [4,]    0    0   0     0
 [5,]    0    0   0     0
 [6,]    0    1   0     0
 [7,]    0    0   1     0
 [8,]    0    0   0     0
 [9,]    0    0   0     0
[10,]    0    0   0     1

没有 AMO 可以做到这一点。

还有 "停止 "规则,也没有 AMO 可以做到这一点。

我指的是以表格数据为输入的通用 AMO。