作者的 - 页 3

 
ivandurak:
我正处于编写策略测试器的阶段,我面临着一个两难的问题。 如果我们以4为基础,在基于交易结果的TS分析方面,我们可以得到一个简单而非常有效的工具。如果我们取5,那么代码的可移植性的便利性。到目前为止,我的看法是倾向于第一种选择,就像他们所说的检查或离开。

在这里https://www.mql5.com/ru/forum/4956/page46#comment_117097 和https://www.mql5.com/ru/forum/4956/page47#comment_118646, 你可以先看一下。

首先是检查和冲刺,然后是骑行。我认为。

 
Bene_Nota:
根据我的观察,历史不会重演,所以我不同意第一点的说法。

争论。

我们并不是说目前的运动将完全接近于原来的一个管道。如果我们把几个平坦的迹象,几个趋势的迹象,让我们把它全部放入神经元网,我们将得到有限的集群(这不是我的结论,我看到一个注释,我找不到它)。 我们可以为任何一段历史或一个集群建立一个充分的TS,不需要证明。 因此,我们应该及时认识到我们在哪个集群中,以便有时间挑选一些碎屑。 做统计,时间寻找,思考市场特征的可能轨迹,预先选择TS .........

那.人

我会看一看。问题是,如果我们接受了5的顺序和位置的运行哲学。我认为,多时态专家顾问的最佳方案因净头寸而变得复杂,如果没有任何额外的方程式,就不可能分辨出一小时或一分钟的TS更可取,如果你有一个多时态策略,我不知道如何处理这样的任务,除了创建一组对象和管理它们。就编程的便利性而言,4号机的一切都要简单得多。只需创建一个描述订单的结构数组,每个结构都有自己的生命,所有关于开盘、收盘、利润、亏损的数据都被保存。我已经这么做了,而且事实证明这是一个相当可以接受的解决方案。

 
ivandurak:

对她.人

谢谢.

1)事情是这样的,如果我们接受5号的顺序和位置运行理念。我不知道如何解决这个问题,除了创建大量的对象和管理它们。

2)在4中,从编程便利性的角度来看,一切都要容易得多。只需创建一个 描述订单的结构数组,每个结构都有自己的生命,所有关于开盘、收盘、利润、亏损的数据都被保存。我已经做了,结果是相当可以接受的解决方案。

1)重点是,如果你在MT5中做一个管理和核算头寸的虚拟日志(测试器),所有同时测试多个策略和锁定(与使用多个策略有关)的问题,都会消失。同时,你可以进行虚拟交易,根据虚拟交易的分析,做出与真实交易相对应的结论,并将总头寸带到市场。

我在MT5中做过这样的事情,但不是作为一个单独的库(类),我没有看到任何问题。

2) 在MT4中,没有数组结构 。在MT4中,你可以毫无问题地做同样的事情,但使用二维数组而不是结构数组。

也许是MT4和MT5之间有什么地方混淆了?

 
her.human:

1)这就是重点,如果你在МТ5中做一个管理和核算头寸的虚拟日志(测试器),所有同时测试几个策略和锁定(与使用几个策略有关)的问题都会消失。同时,你可以进行虚拟交易,根据虚拟交易的分析,为真实交易做出结论,并将总头寸带到市场。

我在MT5中做过这样的事情,但不是作为一个单独的库(类),我没有看到任何问题。

2) 在MT4中,没有数组结构 。在MT4中,你可以毫无问题地做同样的事情,但使用二维数组而不是结构数组。

也许有什么东西混淆了MT4 - MT5?

我们是在用不同的语言谈论同一件事。我只是把MT4副本的交易功能 作为必要和足够的最低限度。

我在这里还有一个问题,如何为多货币测试器同步交易工具。我将翻阅这些文章。

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 
ivandurak:

我们是在用不同的词来谈论同一件事。

1) 我只是把MT-4拷贝的交易功能 作为必要和足够的最低限度。

2) 我还有一个问题,如何在一个多货币测试器中同步交易工具。我将翻阅这些文章。

1)我同意。我的观点是一样的。

2)我们不需要为测试人员提供同步服务。将报价送入测试器是另一回事。

同步化的问题是什么?也许我会给你一个提示。

 
her.human:

1)我同意。这就是我的意思。

2)同步化对测试人员来说是不必要的。将报价输入测试器是一个不同的话题。

同步化的问题是什么?也许我会给你一个提示。

我自己还没有完全制定出这个任务。

对于多币种测试,所选符号上的所有条形图应在选定的优化段上同步。 否则,如果有差距,可能会导致展望未来(测试者的圣杯在4,一个工具的信号可能为另一个工具打开头寸)。

基本上,我们可以解决酒吧同步的细节问题,形成我们自己的同步报价数组,供测试者使用。

问题出在构建指标上,在大多数情况下,策略都是基于指标的,因为指标的值是针对特定的柱状数字计算的。如果我们可以在第四个版本中纠正带有历史记录的文件,那么我们在这里就做不到。

作为替代方案,我们在多币种模式下运行EA,终端自己同步历史,现在我们把历史文件和指标值一起写出来,必要时我们会潜心研究,但这是用左手抓右耳。

 
ivandurak:

我在这里还有一个问题,如果我做一个多币种的测试器,如何同步交易工具。我要去翻阅这些文章。

这里 有一个关于真实账户的同步问题的解决方案。也许它能为你的测试器提供一些关于同步的想法。
 

到目前为止,最好的办法是增加一个方法。

bool  HoleHistory(int Bar,string Simb) ;//метод возвращает признак дыры в истории если выбранный бар выбранного символа
      //моложе одноименного бара хотя бы одного из выбранных символов возвращaем фальсе расчеты на этом баре не производятся  
然而,与正在测试的金融工具仍有联系。
 
ivandurak:

我还没有制定任务。

对于多币种测试,所选符号上的所有条形图应在选定的优化段上同步。 否则,如果有一个缺口,我们可能会得到对未来的窥视(测试者的圣杯在4 - 一个符号的信号为另一个符号开仓)。

基本上,我们可以解决酒吧同步的细节问题,形成我们自己的同步报价数组,供测试者使用。

问题出在构建指标上,在大多数情况下,策略都是基于指标的,因为指标的值是针对特定的柱状数字计算的。如果我们可以用4号文件的历史来修正文件,我们就不能在这里做。

作为替代方案,我们在多货币模式下运行EA,终端自己同步历史,现在我们将历史文件与指标值一起写入,并在必要时潜入其中。

如果我对这个问题的理解是正确的。

//=============================================================================================
// Подготавливаем массивы цен с синхронизацией по времени 
void PrepareQuotes()
{
 CopyTime("EURUSD",0,0,Количество_Баров,Time);
 CopyOpen("EURUSD",0,0,Количество_Баров,OpenEU);
 for(int i=0; i<Количество_Баров; i++)
    {
     CopyOpen("EURJPY",0,Time[i],1,OpenEJ);
     CopyOpen("EURGBP",0,Time[i],1,OpenEG);
    }
}
//=============================================================================================
// Получаем значение индикатора по времени    
CopyBuffer(handle,0,Time[i],1,Buffer);

该指标不应按照条形数字计算,而是按照时间计算。或者自己计算一下,基地里有足够的图书馆。

 
如果一个乐器的小节前有一个跳线,最好什么都不要做。识别缺口是很容易的,只需将条形图的开盘时间 与其他工具上条形图的开盘时间进行比较。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5