[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 525

 
Usual_Trader:


按照我的理解,Refreshrates()是在当前工具上工作还是在所有工具上更新数据?


适用于所有乐器。
 
Sarguss:

晚上好。

说到编码,我有点像 "十字架":)我正在建立一个基于斐波那契指标的专家顾问。到目前为止,我还没有注意到这个策略。问题是7个斐波那契水平,如何使每个水平的交叉点只设置2个不同的挂单,而没有更多。

我将感谢任何提示。

对不起,我的俄语说得很蹩脚。


工作

P.S. "梭子鱼换鲫鱼不要打瞌睡"(俄罗斯谚语)。

 
Roll:


工作

P.S. "用梭子鱼换鲫鱼"(俄罗斯谚语)。


谢谢你的谚语:)))正确的主题 -

任何菜鸟问题,为了不给论坛添乱。专业人士,请不要错过。没有你无处可去 - 4.

完成它--任何答案Profi!

 

专家们好,请帮助我创建一个脚本。图表上有两个MA(移动平均线)指标,MA1标为红色,MA2标为蓝色。脚本的任务:穿越MA1和MA2,使红线从上到下穿越蓝线。我们将此称为A点,如果红线从上到下穿过蓝线,则为B点。因此,在A点,我们需要证券公司关闭卖单并开出买单,在B点,关闭买单并开出卖单。这个循环应该是无限的。附上一个类似的代码,请帮助,我将非常感激

附加的文件:
 
Lisi4ka330:
为了不使混乱更加严重,我想纠正我在上一个答案中犯的错误--"array1[Bars*6-60,60][0]"这个符号不正确,因为Bars*6是array1中元素的总数。每个条形有6个属性,我们假设有30个条形,乘以6就得到第一个数组的元素数--180。第二个数组只有60个空闲的 "单元"(即10 x 6的属性),所以我们必须从第一个数组中只选择60个元素进行复制。通过使用表达式[Bars*6-60,60],我们从总数中减去60,即180-60=120,也就是说,第一个数组的120个元素将被复制到第二个数组的0个元素中,121个被复制到第一个数组中,以此类推。另一个问题是,关于最后形成的小节的信息不是写在第一个数组的开头,而是写在最后,这是怎么回事呢?但显然,答案就在函数代码中,再深挖下去就没有意义了......


好吧,我有一个数据库,这与它没有关系。娜塔莉亚在逻辑上写得很正确。而即使在我们有30个条形的情况下,array1 的索引值也是120。相应地,在初始化过程中,数组2 的相应索引值已经被声明为10

https://docs.mql4.com/ru/array/ArrayCopy

double array2[10][6];

在一本C类书中,我读到了这句话。

C语言不控制数组超限,这意味着在技术上你可以你可以在一个不存在索引的元素中写一些东西,例如在A[345]或A[-12]中但这样做会擦除内存中不属于数组的一些单元,所以这样的步骤的后果是不可预测的,在很多情况下程序会挂起

事实证明,数组1(源数组 的索引大于数组2(目的数组)的相应索引。因此,你不应该这样做!这就是我的意思...

 

大家好!

我试图写我的第一个EA:-),但出现了一些困难。

其背后的逻辑是这样的:有一个指标显示过去N个柱子的最大值和最小值,当它突破最大值或最小值时,应该开出一个订单。

当我把EA附加到图表上时,它打开了一个卖出头寸。我不知道为什么会发生这样的情况。

我认为错误出在iCustom()函数中,该函数发送了指标参数。

我已经附上了EA和指标。

附加的文件:
xox.mq4  10 kb
 
而这里有一个指标。
附加的文件:
go_go_1.mq4  2 kb
 
Pacman:

大家好!

我试图写我的第一个EA:-),但出现了一些困难。

其背后的逻辑是这样的:有一个指标显示过去N个柱子的最大值和最小值,当它突破最大值或最小值时,应该开出一个订单。

当我把EA附加到图表上时,它打开了一个卖出头寸。我不知道为什么会发生这样的情况。

我认为错误出在iCustom()函数中,该函数发送了指标参数。

我已经附上了专家顾问和指标。

你没有填补指标数组的第0个索引。

   for(k=1; k<=Quant_Bars; k++)
      {
       Line_1[k]= Minimum;
       Line_2[k]= Maximum;
      }

但你可以访问它。

   double L_1= iCustom(NULL,0,"Go_go",K,0,0);  //Линия минимума
   double L_2= iCustom(NULL,0,"Go_go",K,1,0);  //Линия максимума 

它有点(结构上)笨拙,但对于第一次来说,它可以做到。我的建议是:"立即习惯于用正确的方法来写代码。例如,在你的代码中使用这个条件。

       if(Total==0 && Opn_B==true)              //Открытых ордеров нет + 
它是文盲,因为你迟早会从测试器切换到在线交易,而且有几个专家顾问在并行工作,这段代码将无法工作。
 
Pacman:
而这里有一个指标。

你对iHighest()iLowest()的问题是什么?