作者的 - 页 4

 
我已经解决了同步的问题。请告知是否有办法在脚本或专家顾问的时间内冻结终端(所以它不接受报价)。
 
ivandurak:
我已经解决了同步的问题。请告知是否有办法在脚本或专家顾问工作时 冻结终端(所以它不接受报价)。

这是无稽之谈。

那是为了什么?

 
her.human:

这是无稽之谈。

为什么有这个必要?

我希望,可以塞进EA指标或脚本中的多货币测试器实际上已经完成。在历史上存在漏洞的情况下,不同交易工具的同步化是主要问题。例如,我们分析欧元和俄罗斯天然气工业股份公司的股票,很明显,交易时间是不同的,因此与欧元相比,俄罗斯天然气工业股份公司有许多差距,包括周末和节假日。从这个位置出来了--在选定的时间范围内,在选定的历史部分没有空隙的开放时间 的模范阵列。然后,示例性阵列的开盘时间与交易工具的开盘时间进行比较,当时间重合时,交易工具的条形号码被记忆下来,这个号码被传送到TS上。现在我们有几个交易工具,在它们的重新计算过程中,下一个条形图可能从上一个条形图开始,结果是返回计算的条形图被移位了,这意味着。解决办法是可以永久纠正条码,但这是代码的一大复杂化。我们可以像你建议的那样,返回一个酒吧的开盘时间,而不是它的编号,但在这种情况下,对用户来说,代码会变得复杂(到目前为止,我倾向于这种变体)。所以我想,在Deinit不工作之前,内置的测试器不会给出一个新的价格值,也许有一种方法可以减缓终端的速度,直到程序工作。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
ivandurak:
返回到TS的不是酒吧号码,而是酒吧的开放时间,但这对用户来说是一个复杂的问题。
CopyTime("EURUSD",0,Время,Количество_Баров,Time);
CopyOpen("EURUSD",0,Время,Количество_Баров,OpenEU);
似乎没有什么并发症。
 

好了,这里是多货币的第一口唾液。我应该马上警告你,这甚至不是一个版本,代码没有经过优化,也没有完全调试,里面肯定会有bug。如果不难看、不难表达自己的意愿,吐槽还太早。

该测试器被设计用于对选定的历史片段进行多币种测试。所有的交易功能 都取自4 .完成后的详细说明 .

我忘了补充,应该在同一时间段打开所有感兴趣的图表。

附加的文件:
Tester.mqh  61 kb
 

首次发布

日安,一个在脚本、指标或专家顾问中编写多货币测试器的课程。测试是通过开盘价完成的。

类方法

void Initialization() ;//该方法对变量进行归零处理。

void AddSymbol(string Symb);//向测试仪添加被测符号的方法 符号必须被加载,终端必须在被测时段显示图表。

bool SetBeginEnd( int Begined, int Ended);//设置被测历史的开始和结束。根据标准,指数化是从终点开始的。 这就是为什么被测试的历史的起始栏比终点栏大。

void Visualisation(true); //启用交易的可视化。

voidPrinting(true);//默认情况下,交易结果 向日志的输出是禁用的。

bool Start(datetime &IndexInstrum[]) 此方法检查被测试的周期的结束,并返回被测试的工具的条形开始时间数组。这对于同步测试不同的仪器是必要的,如果有差距的话。

int GetBarsNambe(string GSimb,datetime TimeOpen);//通过选定的符号和开盘时间返回条形图编号。

void Vedenie_v()是主方法,我们在这里检查所有设置的订单是否触发,是否在止损或盈利时关闭。

测试是基于Mql4 规则的,即每个订单都有自己的生命,所以我们可以锁定和打开相反的订单。

所有的交易功能也都来自Mql4。这样做是为了让用这种语言编写的EA易于适应。

请注意,OrderClose_v方法是完全关闭所选位置。

OrderCloseBy 缺失。

双倍的OrderProfit_v( ) 计算不含杠杆的利润,对于不同的测试符号,杠杆可能是不同的。

其余的代码保持不变,见文档。

申请的顺序

首先是初始化。然后我们选择被测试的历史。然后我们添加被测仪器。如有必要,启用可视化。如有必要,启用报告输出。

测试本身是在循环中进行的Do -While .

首先是强制性的方法

aaa=Test.Start(timeopen) ; 返回测试的结束和被测试工具的开盘时间数组。timeopen的维度应该与被测仪器的数量相吻合,如果timeopen[0]<0,那么这就是历史遗漏的标志,见例子。

nambebars=Test.GetBarsNambe(Symbol(),timeopen[0]) ; 其中符号和条形开盘时间是共同符号。根据这个数字,你可以计算出指标的数值,并根据TS的逻辑设置交易信号。

在最末尾的时候,必须走方法Vedenie_v .

在测试结束后(退出周期),所有订单的交易历史都可以得到。见Mql4 的描述和论坛

你还需要HeadTester.mqh文件来完全重合Mql4 交易功能的格式。

好运和繁荣。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
附加的文件:
Tester.mqh  69 kb
 
ivandurak:

首次发布

...

好运和繁荣。

谢谢你。也许你可以写一篇文章?可以说,让它永垂不朽。)))
 

先生们,请注意。在某个地方,我正在非常强烈地放慢速度。这个问题涉及SOM。如果有可能的话,在一个具体的例子上.

假设我们有一张由50X60个神经元(矩形单元)组成的地图。让我们取一个随机的训练向量,其维度x1={x1,x2,x3,x4,x5},我们假设训练样本的总长度为5000个向量。假设最接近输入向量的神经元具有索引25,30--我找到了它,我的孩子已经在学校学习几何。然后我的神经网络就不再优化了。实际上是进一步提出了一堆问题。

1 如何在步骤1中计算要训练的神经元的指数。

2 如何计算第二步要训练的神经元的指数。

3 对于输入向量X1,总共应该有多少个训练步骤。

4 如果我被Kohonen的学习规则困住了,我就会多问一些。

PS 我读了这篇文章,读了其他文献,看了代码,结论是需要一个挂件。

 

我想我已经理清了学习发生在获胜神经元附近的情况。现在,下一个问题是。

是否有一个在附近训练神经元多少次的标准?这个问题描述得很差,我无法理解,如果我们教一次,然后采取下一个矢量。或者训练到平均误差降低到,比如说,5%。

 

需要一种为Kohonen地图着色的算法。有一个很大的愿望,就是不要画所有的地图,而是用一个,分别做,每个集群应该分配自己的颜色。如何做到这一点的心态是没有的。图中 是我的地图。着色的原则是,长度较大的向量被涂成最浅的颜色。虽然这是不正确的向量X1=(1,1)和X2=(-1,-1)有相同的长度,但属于不同的区域。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
原因: