新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 828

 
Artyom Trishkin:

不清楚我们最终需要什么--一些奇怪的想法。


这是一个帖子中的两个问题,同时解决了同一个问题 :-)

1.如何从一个应该返回数据的函数中返回一个对象的创建 错误

2.有没有一种方法可以循环浏览某一特定符号的头寸而不需要每次都使用PositionsTotal?

 
psyman:


这是一个帖子中的两个问题,同时解决了同一个问题 :-)

1.如何从一个应该返回数据的函数中返回一个对象的创建 错误

2.有没有一种方法可以循环浏览某一特定符号的头寸而不需要每次都使用PositionsTotal?

1.为什么一个对象创建函数应该只是创建一个对象,并在成功时返回真,在出错时返回假,却要返回其他东西?它不应该。该函数必须做一件事,并返回其工作的结果。或者,如果你想做一个怪物,通过变量以引用方式返回数据。

2.这取决于你有什么类型的账户。

3.只要最后打开帮助 - 那里有许多 "奇妙的发现"

 
Artyom Trishkin:

1.为什么一个对象创建函数应该只是创建一个对象,并在成功时返回true,在失败时返回false,还要返回其他东西?它不应该。一个函数应该做一件事,并返回其工作的结果。或者,如果你想做一个怪物,通过变量以引用方式返回数据。

2.这取决于你有什么类型的账户。

3.只要最后打开帮助--那里有很多 "奇怪的发现"。


我明白你的意思,谢谢你,我会简化代码的。

账户类型为套期保值。

可能这些问题看起来很简单,但它们是在阅读帮助后出现的,不是所有的细节都在那里描述,我必须在文章或这里寻找细节。

 
Roman Shiredchenko:

同志们--看看这个指标是否正确。有一个公式值=(Open[0]-SMA(P,n))/SMA(P,n))*100%。

我把它放在图表上--它计算和绘制一切。我开始用计算器检查它在某个条上的值--它与我画的不一致......。

这里有一个例子,我在计算开盘1,0178,MA(13)1,0182,使用的公式是((1,0178-1,0182)/1,0182)* 100% - 计算器上的结果是-0.0393。而MT4图表显示为-0.0929。是代码中的错误还是计算器没有正确计算那里的一些数值?请帮助。我在此附上指标。

你把它放在Open[0]公式中,这就是应该做的。

 
Alekseu Fedotov:

你的公式里有Open[0],所以它是这样设计的。

嗯,是的。这就是我对开盘价 的看法......有一个开场白和一个cloze...困惑...
 
Seric29:
如何给格式为int Mas[1][2][2][2]的四维数组填充数值,如何给数组的每个单元格赋值,在这种情况下,有一个二维数组int Arr[1][2]={3,4};如何给四维的?

使用结构数组,在程序执行方面,它要简单、清晰和富有成效许多倍

struct My_St
{
   datetime tm; 
   int      mg;    
   double   tp;     
   double   sl;     
};
My_St st[];
 

我有几个工具,都有分析性的标签。

我想改变它们的颜色方案。

我不想用手去做,我想用一种巧妙的方式去做。

有什么办法可以做到这一点吗? 例如,我所有的文字都是黑色的,而我想要白色。

谢谢你

 
Roman Shiredchenko:
嗯,是的。这就是我对开放价格 的看法....。似乎有一个开瓶器和一个克洛斯...。困惑...

我不知道,这就是我的想法。


这里的想法是什么。

如果我们取任何一个条形图的值(从History =5000; //计算的历史条形图的数量)。

然后是同一条街的开盘,但不是零。

你的公式(Open[0]-SMA(P,n))/SMA(P,n))*100%


罗曼,祝你好运

 
Igor Makanu:

多维数组通常在循环中填入正确的值--更难出错,对于一个四维数组来说,应该是这样的,但我可能是错的。

不,你没有错,我的错误是把它写成这样。

A[1][2][4][2] = {{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}, 

我应该这样写。

A[1][2][4][2] = {{{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}}, 

边缘有4个支架,我有3个,它是这样写的。

A[1] - означает 1ну строку, один ярус
A[1][2] 2ка в следующих скобочках говорит о том что мы имеем дело с 2мя 3ёх-мерными массивами, другими словами, это как 2 параллельных мира
A[1][2][4][2] - последующие [4][2] описываю 3ёхмерный массив, т.е. каждый из массивов имеет 4 столбца, и в каждом по 2 значения вот пример
{{1,2}, {0,2}, {1,2}, {1,2}} 4 столбца в каждом по значения

总的来说,谢谢你,如果我活得足够长,我会和它一起工作。

 
Seric29:

当你把一个结构传给一个函数时,你必须为每个结构写一个函数,所以这个函数太静态了,缺乏通用性。但结构也有积极的一面,你可以将不同类型的数组合并到结构中,并将其作为一个完整的多维数组 来读取,但不幸的是,我失去了这个网站的链接,在那里显示了如何做到这一点。说实话我对结构不是很在行,如果全局变量声明比点访问结构的字段要少很多文字,同时我对类也不了解,我重读了很多遍教材最后才有点明白,但解释起来非常复杂繁琐,解释中用的词句太科学,所以我基本上没怎么理解教材,而动态对象到底能做什么我也不知道。