外汇EA编写教程:随机森林预测趋势

简介

创建任何交易系统的目的都是能够预测金融产品的市场行为,例如一对货币。预测的目标可能不同。我们限制自己在这里预测货币的趋势,或者更准确地说,预测货币报价的涨跌。

为了预测货币价格趋势,交易者通常会在图标上添加一些指标,以便找到一个可预测的模型。

本文探讨了在R统计分析系统中使用拨浪鼓包自动选择价格行为预测的相关模型。

1。关于拨浪鼓

我们使用R作为一个理想的金融市场预测工具来预测货币的价格行为。换句话说,R主要是一种面向经验丰富的统计学家的编程语言,许多交易者很难掌握它。R语言的复杂性在于有许多用于预测的工具,它们分散在许多R的基本功能工具包中。

Cratter(一个易于学习的R语言分析工具)集成了一系列R语言包,这对交易系统的开发人员非常重要,但初学者并不容易使用。你不需要知道R就可以开始使用摇铃包。使用Cratter报纸将使用R语言编写,并可用于开发真正的交易系统。然而,在这个阶段,理解R语言是必要的。

在任何情况下,嘎嘎声都是交易系统设计阶段不可替代的工具。它允许新手快速看到各种战略思想的结果并加以利用。

Cratter(Williams,2009)是一个开源软件包,属于R(R开发组,2011年)。因为它是免费的软件,所以Cratter的R源代码不受限制。cragle源代码是用C语言编写的,鼓励用户学习、测试和扩展代码。

2。源数据说明

本文的结果基于2011年1月10日至2013年12月24日的上半年时间框架内欧元、英镑、美元兑瑞士法郎、美元兑日元、欧元兑英镑和美元兑加元的收盘价。这组数据由18000多条K线组成,计算结果可靠。基于上述货币对的数据集用于搜索预测性空模式。

原始报价数据集在文件kot60_110101_131231_ua.txt中。

2.1。创建目标变量

首先,我们需要准确地确定我们想要预测的对象。虽然这看起来很简单,但选择正确的预测目标和用于预测的数据集是至关重要的。

预测趋势的目的是基于对趋势交易的预期。

根据“趋势”的定义,所谓的上升趋势是后续价格高于前一条K线的价格,反之则为下降趋势。因此,有必要根据趋势的定义来预测货币对的价格。如果欧元兑美元的初始价格为1.3500,而预测价格为1.3550,则这是一个上升趋势,并立即买入。

然而,订单是“买入”和“卖出”,预测是基于价格水平。例如,价格水平用于预测交易系统的突破。为了实现趋势交易的理念,需要进行额外的价格比较。显然,我们预测的和我们想做的不一样。

然而,如果交易系统是按照趋势设计的,那么该模型将用于预测趋势。必须对模型进行培训以识别趋势,并且目标变量只有两个值:“买入”和“卖出”。代码中的目标变量是“1”和“-1”。

使用源数据集计算财务目标价格的模型和对源数据集进行分类的模型之间存在根本性差异。第一类属于回归模型,第二类属于聚类模型。

回归预测模型用于计算未来的一些数值。当未来来临时,我们将预测值与实际值进行比较。

聚类类型的预测模型用于计算一组接收到的源数据属于哪个类别。它们是“许多”和“空的”。与其他集群类型一样,这两种类型没有特定的值。因此,不能将“multiple”类型与“empty”类型进行比较。虽然为了简化,我们将“more”编码为“1”,“empty”编码为“0”,但这并不意味着“more”大于“empty”。为了强调这一点,对于这个定性变量,r和crast定义了一个特定的分类变量。

许多变量和空变量不作为目标变量存在,这是与下面描述的独立变量的主要区别。这与我们对目前不存在的未来事件的预测一致。根据历史数据绘制趋势图很容易,因为我们已经知道了未来和过去之间的关系。

在识别历史数据趋势时,我们使用之字形指标。这是一个很好的历史数据指标,但不是实时数据,因为前一极经常被重绘。历史数据是静态的,所以我们可以用这个指标画出一条非常漂亮的趋势线。

使用参数“反演点间距”为0.0035的之字形指数计算目标变量。结果如图1所示。

图1. ZigZag指标

图1。锯齿形指示器

指标值现在转换为“many”=1和“empty”=0。nbsp;

结果如图2所示。

图2. 分类形式的ZigZag指标

图2。分类之字形指标

让我们对目标值做最后的操作。如果我们将之字形索引向左移动,当前的k线将对应于之字形索引的未来值。本文对一条K线进行了翻译,相当于一小时前预测的数据。

可以翻译更多的k行,这与预测更多的k行相对应。这种方法不同于其他的预测方法。在累积预测误差下,前一个值可用于预测多个未来值。

所提出的模型和一般的分类模型没有累积误差。在分类模型中,预先预测两条K线有其自身的预测误差,这与预先预测一条K线的方法无关。

2.2。创建自变量

因为它们来自外部模型,所以被称为独立变量或预测因子。它们是外部可测量变量或基于外部变量计算的变量。任何经济和金融数据,包括货币汇率,都是独立变量,因为它们的价值是市场行为的结果。技术指标的值也是这样的变量,因为它们是根据报价计算的。

自变量的选择与目标变量的选择同样重要。事实上,模型的成功取决于自变量的选择。模型开发的大部分时间都花在分析和选择独立的参数组上。

源文件kot60_110101_131231_ua中的变量包含六种货币的报价、时间和日期,可用于预测。

从这个方法的角度来看,时间和日期信息更有用。在交易系统设计中尝试了时间和日期。在我们的模型中,一些基于时间和周的隐藏货币报价信息可以被分类模型自动识别。这里唯一需要做的就是将这两个变量转换成类型形式。时间转换为24个分类,日期转换为5个与一周中的天数对应的可分类变量。

除了用于预测的原始因素外,我们还将创建其他预测因素,在我看来,这些因素可以揭示源报价的趋势。我们将使用众所周知的指标来创建额外的预测指标。

将引用以下指标:5、10和15;MACD(12、26、9),周期为14、21、28的RSI指标。除此之外,我们将使用增量和移动平均报价。所有这些转换将应用于六对货币的报价。

为了辅助目的,之字形索引将包含在独立变量中。它不会用于模型开发,因为与最右边的k行相对应的索引值未知。

因此,我们得到88个自变量,一个目标变量和一个辅助变量(之字形)。每个变量的数据是18083和K行。

这个数据集是R工作区格式的,可以在本文的附件tc.r data中找到。此数据集可以以下方式使用:

  • 加载R;
  • 加载拨浪鼓库;
  • 输入选项卡文件/工作区;
  • 在磁盘上找到tc.rdata文件并加载它。

三。源数据智能分析

嘎嘎包提供了一系列的预处理工具,或智能数据处理数据挖掘。

3.1。输入参数预览

执行完上述命令后,让我们看看下一步可以做什么。

结果如图3所示。

图 3. Rattle首页

图3。嘎嘎声主页

我们从数据页面切换到日志页面,并在Cratter中开发了模型。

嘎嘎的主页是数据。从命名中很容易看出,此页面为后续操作加载数据。

我们对电子表格和R数据集按钮特别感兴趣。

电子表格按钮可用于上传Excel文件。如果读者想测试他们的想法,他们可以用自己的Excel文件测试它们。

要复制本文或使用本文附带的原始数据执行一些附加任务,请使用r dataset按钮。此按钮以R格式加载文件。文件称为“工作目录”或“工作文件”。它们的后缀是。RDATA文件可以上载到r,并通过单击此按钮变得可用。

上传我们准备好的文件,得到图4的前半部分和图5的后半部分。

图 4. 源文件的上半部分

图4。源文件的上半部分

图. 5. 源文件下半部分

图5。源文件的下半部分

3.2。目标变量与自变量的相关性

小心。“运行”按钮起着关键作用。所有操作已就绪,但未执行。要执行,请按“运行”按钮。要重复本文中的操作,请每次按此按钮。

图4显示了变量列表、它们的特性和用途。因为我们不想在模型中使用之字形度量,所以我们将其设置为忽略。

其他变量用于存储输入参数,最后一个变量除外,作为目标变量。

“分区”按钮在确定模型结果的信用等级方面起着重要作用。当需要时,可用此按钮将数据集分为三部分。本阶段验证用于培训、验证和测试模型的数据集比例。

在下一阶段,确定产生伪随机数的种子。例如,从源数据集中随机选择70%的源数据作为培训数据集。另外两个15%(在我们的例子中)也是随机的k线序列。

因此,通过改变源数据集的种子,可以获得无限量的训练和其他数据集。

图. 6. 变量的相关性

图6。变量的相关性

在接收的表中找到一个名为zz.35的列。下表中的示例取自此列。

变量 Z.35
 RSI_CAD.14  -0.0104122177
 JPY.DIF2  -0.0088412685
欧元。DIF3  -0.0052379279
 瑞士法郎DIF3  -0.0049692265
 英镑DIF3  -0.0047409208
 英镑DIF1 &0.0044691430
 Ma_CAD.15.DIF1  -0.0039004722
 JPY.DIF1  -0.0023831247
 英镑DIF2  -0.0015356091
&欧洲DIF2  -0.0013759749
 瑞士法郎DIF2  -0.0012447101
&欧洲DIF1 &0.0005863149
 Ma_CAD.10.DIF1 &0.0023981433
 瑞士法郎DIF1 &0.0024543973
 Ma_英镑5.DIF1 &0.0043757197
 Ma_CAD.5.DIF1 &0.0075424397
 马币10.DIF1 &0.0094964069
 欧元-英镑。DIF1 &0.0095990416
 CAD.DIF1 &0.0110571043

表1变量相关性

如我们所见,许多变量与zz.35之间的相关性小于0.01。自变量与目标变量之间的相关性无法得出结论。

在这个阶段,我们应该注意这个事实,并用它来正确地评估模型。

在分类模型中,预测因子在目标变量的影响中起着关键作用。在相关性较低的情况下,预测因子被认为是模型中的噪声,需要重新训练。当模型考虑到细节和预测器对目标变量的非显著影响时,需要对其进行再训练。

没有建议的相关性级别。通常使用统计数据-5%。实际上是不正确的。去除模型被认为是预测噪声的一种方法,可以减少预测误差。去除模型中的非噪声因子将导致预测误差的增加。因此,需要通过实验建立模型的预测因子列表。

3.3。规模

一些模型,如支持向量机(SVM),对预测因子的跨度非常敏感,如下所述。例如,货币兑欧元兑美元的数据在0.5内变化,而美元兑日元的数据在几十个单位内变化。为了排除不同尺度的测量因子的影响,需要在转换页面中将它们归一化为相同的尺度。最好把预测器的波动限制在0-1。

要缩放,请选择Transform/Rescale/Scale[0-1]。然后我们检查左、右变量并按下“运行”按钮。

3.4。转换为分类

转换为分类意味着将数字化变量值转换为某些分类因子。RSI指数是第一个转换为多层次因子的指数。当其值接近零或100时,假设趋势即将逆转。

要将RSI索引值转换为分类形式,请选择Transform/Recode/kmeans。然后,将系数级别设置为8。检查所有RSI指示灯并按“运行”。

在将zz.35变量设置为忽略之后,我们进入了开发模型阶段。

4。分类模型的一般算法

以下型号的汽车发出嘎嘎声:

  • 树分类模型(树);
  • 随机森林模型(森林);
  • 推广树模型(ADA);
  • 支持向量机模型(SVM);
  • 一般线性模型(GLM);
  • 神经网络模型(NNET)。

除了分类模型的基本区别之外,它们都具有以下特征(我们不仅讨论了crast中提供的内容)。

让我们选择一个包含字符串(总共18030个)的训练序列,包括预测器(88个)和目标变量值(长和短)。

任何分类算法都是为了解决一个问题,即将“空”对应的预测因子组合值与“多”对应的预测因子组合值分开。这是模型的培训阶段。

接下来是模型的验证。

由于我们将源数据集分为三个部分,因此我们使用另一个数据集,并考虑将预测器组合与训练阶段的数据进行比较。如果可以将其分类为“更多”或“空”,则将建立任何预测因子组合。当验证数据集包含这些已知值时,将结果与实际数据进行比较。实际空头头寸与预测值之比即为预测误差。

如果结果不符合我们的要求,我们将返回到智能数据分析阶段以改进结果。不幸的是,现阶段的预测质量完全取决于交易员的经验。更改源数据集,然后重新开发模型。

如果从培训和验证数据集得到的结果令人满意,那么我们就去测试数据集验证模型,而测试数据集还没有被使用。

高质量模型不仅预测误差很小,而且在这些误差下不同数据集的预测值也有很小的差异。这表明了模型的健壮性,以及不需要再培训或如交易者所说的过度调整。

本文只讨论一个随机森林模型。

5。随机森林模型

5.1。总结

交易算法如下。在货币对的报价中增加一套指标,通过分析当前报价和指标数据做出交易决策。

在最简单的“移动平均”交易系统中,如果当前价格高于移动平均价格,则买入并卖出。可以添加其他数据,如RSI指标数据。结果,交易者得到一个决策树。树的叶节点是货币对的报价、移动平均和RSI指标。根只包含两个值——“买入”和“卖出”。

上述建立决策树的过程在分类树模型中自动执行。最终只有一棵树,或者,用交易员的话说,一种模式。

单树算法不能建立精确的模型,但多样性会带来不稳定性,这在独立决策树的建立中可以看到。

读者可以在crast中的树模型中自己验证此语句。该模型实现了上述的树生成算法。

随机森林模型包含许多分类树(模式),而不仅仅是一个。因此,随机森林具有较高的抗数据变化和矿坑干扰能力(对目标变量影响较小)。

所使用的随机森林算法的随机性由随机选择表中的行(观察值)和预测器表示。与独立树分类器相比,这种随机选择方法能够有效地抵抗噪声、离群值和避免再训练。

它还可以显著提高计算效率。为了建立一个独立的决策树,模型开发人员可以从训练数据集中随机选择一组观测数据。此外,在树构建过程中,在确定每个节点的数据集的最佳分割比时,只考虑所有可用变量中的一小部分。这样就大大降低了对计算性能的要求。

因此,有理由相信随机森林树模型是一个很好的选择。通常需要对数据进行预处理,因为它需要规范化数据并过滤掉一些异常值。不需要选择变量,因为算法将有效地选择自己的变量集。许多决策树是使用两组随机数据集(观测和预测因子)建立的,因此每一棵树都是一个有效的独立模型。这个模型不需要在测试数据集上重新训练。

随机森林算法通常产生100到500棵树。最终模型确定后,每棵树的决策与整棵树的决策一致。树集的最终决定将是主树的决定。如果100棵树中有51棵是“更多的”,那么“更多”的价值将被接受,尽管可信度并不高。

5.2。算法

5.2.1以数据集为例

随机决策树的构造算法通过引导聚合或引入随机性来生成多个决策树。引导聚集的思想是对观测值的随机样本进行聚集和打包。许多数据包是随机生成的,包括从训练数据集的观测数据中选取的数据。

随机聚合到数据包中。也就是说,每个观测数据都有机会出现在特定的包中。样本大小通常与完整的数据集相同。实践表明,三分之二的观测数据将包括在数据包中(包括副本),三分之一的数据将不包括在数据包中。每个观测数据集将用作训练数据,以构建决策树。数据的另一部分将作为独立样本来评估最终结果。

5.2.2.预测因子的选择

选择用于分离数据集的预测因子是生成随机决策树的第二个基本元素。在创建独立决策节点的每个步骤中,例如,在树的每个分离点上,通常只选择几个随机的预测器。只考虑在分离点选择的预测因子。使用不同的预测因子组来构造树的每个节点。

5.2.3.随机性

生成随机数据集和变量,这些数据集和变量接收由数据子集确定的不同决策树。这样,树的组合就可以看作是一个专家团队,在不同的能力水平上共同工作,以获得最可靠的预测结果。

采样生成还有另一个故意的优势——计算效率。当数据集被分割时,只考虑所有预测因子中的一小部分,这可以大大减少所需的计算资源。

创建每个决策树和生成随机树的算法通常不会减少决策树。一个具有超调树的随机森林可以发展成为一个非常好的预测模型,在新的数据中表现良好。

5.2.4.综合计算

当许多决策树被视为一个模型时,每棵树在形成最终决策时的重要性是相等的。结果由简单多数原则决定。也就是说,51%和99%会产生相同的结果,比如“更多”。

嘎嘎的计算只是部分的,因为用户的最终结果是某种类型的。如果在R中使用该模型,则可以得到类型概率的结果。

5.3。建立随机森林模型

要创建模型,请选择模型/林。使用我们的源数据计算模型需要几分钟。

我将把计算结果分成几个部分,逐一解释。

让我们回顾图7的结果。

图. 7. 随机森林模型调整后结果的上半部分。

图7。随机森林模型调整结果的前半部分。

下面必须突出显示此图片上的某些信息。

这里趋势是目标变量。

这个模型生成500棵树。在树的每个拆分节点上,使用九个预测因子(变量)。此外,我们对错误按钮和OOB ROC特别感兴趣。

预测错误如下:

OOB误差估计:15.97%

混合矩阵:

班级。错误
四千九百六十 一百六十三 零点一八九九三九六
八百五十八 五千六百七十七 &0.1312930

表2。训练集
误差矩阵表

应理解为“15.97%的自付错误率”。

预测结果的误差率非常明显。了解误差率是如何获得的,或者准确地说,知道它是“自掏腰包”的,是非常重要的。只有部分培训数据用于构建此模型。这个模型自己创建70%的源数据集。大约60%的培训数据集用于构建此模型,而其余40%的数据集不用于构建此模型。这40%的数据被称为“自掏腰包”。预测误差的15.97%来自这些数据。

继续。

应急和误差矩阵如下所述。nbsp;

顶行包含预测的空头头寸和多个头寸。从历史数据的锯齿形指数来看,左栏是真正的多空头头寸。

坐标(0,0)上的值4960用于预测正确的短位置和长位置数量。下一个值1163是预测为大的空位置数。

坐标(1,0)上的值858主要预测为空位置的数量。值5677是要预测的长位置的正确数目。

然后让我们看看模型结果。

下面是包含模型所有变量的大表中的一些行。这是一个重要变量列表。

平均下降精度 Gini
平均下降量
DIF1 四十二点九七 四十一点八五 五十四点八六 321.86;
DIF3 三十七点二一 四十六点三八 五十一点零八分 一百七十七元叁角肆分
R.I.E.14 三十七点零七分 四十点一一 五十点七五 二百五十四点六一
欧元,DIF2和NBSP; 二十四点六六 三十一点六四 三十八点二四 一百一十元八三分
DIF1 二十二点九四 二十五点三九 三十一点四八分 一百九十三点零八分
CHF。DIF3和NBSP; 二十二点九一 二十三点四二 三十点一五 73点36分
MA瑞士法郎5.DIF1 二十一点八一 二十三点二四 Twenty-nine point five six 135点34分

表3。随机森林模型中变量的重要性

有一些方法可以评估变量的重要性。这里的“重要性”反映了特定变量对目标变量的影响程度。影响越大,这个变量就越“重要”。

此表提供了从模型中删除最不重要值的数据基础。在具体的统计和分类下,模型越简单越好,只要模型的精度变化不大。

在“模型”选项卡中,“错误”按钮是最后一个重要的按钮。按下它,我们得到图8。

图. 8. 模型误差和树数量的关系

图8。模型误差与树数的关系

6。模型效率

“评估”选项卡和“嘎嘎”中提供了对模型效率的评估。

我们应该在模型效率评估的选项列表中使用错误矩阵(以前称为似然表)。

当您从“模型”选项卡转到“评估”选项卡时,新创建的模型将自动标记。与《嘎嘎声》中的一般工作原理一致:我们创建并建立了一个模型,然后在“评估”选项卡中研究其效率。

为了评估模型,需要确定用于执行测试的数据集。cragle接口中的下一行选项是可选的源数据集。

数据的前四个选项对应于拆分“数据”选项卡中的数据集。选项包括培训、验证、测试和完整。将数据集划分为训练集、验证集和测试集。

第一个选项是验证训练集上的模型。通常这不是个好主意。在训练数据集上评估模型的问题是,模型本身是由训练集构建的。模型将产生良好的结果,因为我们从一开始就构建了它。该模型用于以前未知的数据。

需要一种方法来确保模型在新数据上的性能。同时,得到了实际的模型误差等级,反映了模型预测值与实际数据的差异。这种错误等级是针对未知数据而不是训练数据的,这是评估模型效率的最佳方法。

我们使用验证数据集来评估模型创建和配置阶段的效率。因此,在创建模型时,将检查其对验证数据集的影响。可以更改模型创建中的某些配置项。我们比较了基于验证数据集的新模型与旧模型的效率。在这个意义上,验证用于开发最终模型的数据集。然而,如果我们依赖验证数据集,在模型效率的评估中仍然存在偏差。

测试数据集从开始到结束都不参与模型创建。一旦我们根据训练和测试数据集确定了“最佳”模型,我们就可以评估模型对测试数据集的效率。这是对新数据模型效率的评估。The fourth option is to use the complete data set to evaluate the model. 完整的数据集包括培训、测试和测试数据集。此选项仅用于满足好奇心,显然无法获得准确的模型数据。

另一种可能是通过采样获取源数据。如果选择“分数”选项作为评估类型。在这种情况下,将打开一个窗口以输入其他数据。

误差矩阵将用于预测目标变量。

误差矩阵用于比较实际结果和预测结果。有两张桌子。第一个结果以绝对数量显示,第二个结果以百分比形式显示。

错误矩阵可以在cragle的evaluate选项卡中找到。按下“运行”按钮将使用所选模型预测所选数据集上每次观测的结果。然后将预测值与观测值进行比较。

图9表示先前计算的随机森林树的误差矩阵。

图. 9. 随机森林模型的评估结果

图9。随机森林模型评价结果

图表显示平均误差为0.167,例如16.7%。在训练阶段预测误差为15.97%。我们可以认为两者是平等的。

让我们计算测试数据集的错误。结果如下:

tc[测试]上随机森林树模型的错误矩阵(计数):

预测 预测
实际与实际情况;
一千十六 二百五十六
一百九十三 一千二百四十八

&表4.绝对量形式的随机森林树误差矩阵(测试数据集)

随机林木模型在tc上的误差矩阵(百分比)【测试】:

预测 预测
实际 错误
零点三七 零点零九 零点二零点
零点零七 零点四六 零点一三

表5。绝对量形式的随机森林树误差矩阵(测试数据集)

总误差:0.1654994,平均分类误差:0.1649244

预测误差为16.4%。

这三个数字大致相等,模型的结果可以接受。

请注意,必须在MetaTrader 4或MetaTrader 5策略测试仪中测试由嘎嘎声计算生成的模型。然后您应该测试模拟帐户,并使用小交易量测试真实帐户。只有在所有的测试都完成之后,我们才能得到模型的最终效果。

7。模型改进

在研究预测因子与随机变量ZZ.35的相关性时,发现大量预测因子与目标变量的相关性较弱。

让我们消除相关系数小于0.01的预测因子。在“数据”选项卡中将相关预测值设置为“忽略”,并在“模型”选项卡中重新计算随机林模型。

我们得到以下结果:

  • 实际预测误差=15.77%;
  • 验证集的预测误差为15.67%。
  • 试验装置的预测误差为15.77%。

虽然误差没有显著降低,但不同数据集的预测误差差异减小。这是模型稳定性的标志。

您可以根据相关系数表继续消除预测器。利用该模型计算出的预测因子的重要性表,如预测误差的减少,可以提高模型的效率。

在剔除预测因子后,模型的效率显著下降,并完成了剔除预测因子的工作。当你得到一个具有给定数量预测因子的最小且最有效的模型时,你可以随时停止优化。

8。在MetaTrader 4中使用模型

In theory, the method of using Rattle transaction is as follows: the input data prepared for Rattle in Excel can be obtained through some external tools. 交易市场关闭后,交易者获取的价格数据将存储在源文件中。几分钟后,第二天的天气预报就准备好了,可以在第二天开幕后使用了。

对于日内交易,需要metatrader4或类似的交易终端。

要在Cratter中自动化或半自动化事务,需要以下组织:

  • 训练后的模型存储在R工作区中。
  • 用于终端操作的类库和r;
  • 将新的数据模块传输到模型中,得到结果,并将模型结果的R代码发送回终端。

上面描述了六种可用的嘎嘎模型的培训。R中有150个分类模型,但是Cratter不能使用它们。

用于R和metatrader4终端之间交互的类库可以在新MQL4的代码库mt4r中找到。

与培训模型对应的R代码在日志(日志选项卡)中。所有与模型开发相关的操作都是以R代码的形式进行的,可以用于实际交易。

总结

无论是新手还是有经验的交易者都会发现,本文对于交易系统的初步评估和选择都非常有用。

如何正确选择相应的目标变量和预测因子,是开发基于Cratter的人工智能交易系统的主要挑战。经验丰富的交易者已经掌握了这方面的知识,而初学者则需要掌握响尾蛇的必要经验。

本文由MetaQuotes Software Corp.翻译自俄语原文
,网址为https://www.mql5.com/ru/articles/1165。

附加文件下载zip article.zip(6598.05 kb)

 

 


MyFxtop迈投(www.myfxtop.com)-靠谱的外汇跟单社区,免费跟随高手做交易!

 

免责声明:本文系转载自网络,如有侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与迈投财经(www.myfxtop.cn)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。

風險提示

MyFxtops邁投所列信息僅供參考,不構成投資建議,也不代表任何形式的推薦或者誘導行為。MyFxtops邁投非外匯經紀商,不接觸妳的任何資金。 MYFXTOPS不保證客戶盈利,不承擔任何責任。從事外彙和差價合約等金融產品的槓桿交易具有高風險,損失有可能超過本金,請量力而行,入市前需充分了解潛在的風險。過去的交易成績並不代表以後的交易成績。依據各地區法律法規,MyFxtops邁投不向中國大陸、美國、加拿大、朝鮮居民提供服務。

邁投公眾號

聯繫我們

客服QQ:981617007
Email: service@myfxtop.com

MyFxtops 邁投