任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 504

 
niktron:

你好!

你能告诉我如何制定一个条件吗?

如果有足够的自由保证金来开仓?

(这样就不会弹出131号错误)......谢谢!

你需要检查允许的头寸量,而不是保证金。第131个错误表明一个不正确的批次
 

需要找到15个时期内指标的最大值。在条形图中搜索不是问题,但在一个指标中搜索?

我将假设为此你需要做一个检查循环,声明一个数组并在其中找到这个值。循环已经完成,但我不知道如何声明数组。

然后用ArrayMaximum函数 来查找数值?你能告诉我如何完成这项任务吗?

for(int i=0;i<=15;i++)
{
double indicator[];
ArrayInitialize(indicator,0);
double MA_2_t=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i); 
}
 
niktron:

你好!

你能告诉我如何制定一个条件吗?

如果有足够的自由保证金来开仓?

(这样就不会弹出131号错误)......谢谢!


https://docs.mql4.com/ru/account/accountfreemargincheck
 
Forexman77:

需要找到15个时期内指标的最大值。在条形图中搜索不是问题,但在一个指标中搜索?

我将假设为此你需要做一个检查循环,声明一个数组并在其中找到这个值。循环已经完成,但我不知道如何声明数组。

然后,我将使用ArrayMaximum函数来找到这个值。请告知如何完成这项任务。

你需要的不仅仅是一个数组,而是一个指标缓冲区。在主循环中,用指标值填充缓冲区,对这个缓冲区使用ArrayMaximum()
 
Integer:
你不只是需要一个数组,还需要一个指标缓冲区。在主循环中,用指标值填充缓冲区,对这个缓冲区使用ArrayMaximum()。

需要对专家顾问进行搜索。指示器缓冲器能与之配合吗?
 
Forexman77:
对于专家顾问来说,搜索是必要的。指示器缓冲器能与之配合吗?


EA中没有指标缓冲区。

如果在EA中,那么有两个选项。

1.在指标中做所有事情,EA调用指标并获得一个准备好的值。

2.在专家顾问中做一个循环。但在这种情况下,根本就不需要阵列。

val=0;

for(i=1;i<=15;i++) {

    ind=iMA(...,i);

   if(ind>val) val=ind;

}
 
Integer:


专家顾问没有指标缓冲区。

如果在EA中,那么有两个选项。

1.在指标中做所有事情,EA调用指标并获得一个准备好的值。

2.在专家顾问中做一个循环。但在这种情况下,根本就不需要阵列。

将需要一个阵列。要找到最小值。最低限度不会以这种方式找到。
 
Forexman77:
将需要一个阵列。要找到最小值。最低限度不会以这种方式找到。



所以你确切地知道并绝对肯定?没有必要反驳你的观点?你愿意坚持下去吗?

 
niktron:

你好!

你能告诉我如何制定一个条件吗?

如果有足够的自由保证金来开仓?

(这样就不会弹出131号错误)......谢谢!

也许这批货是错的,如果131?
 
Integer:



所以你知道的很清楚,而且是绝对确定的?没有必要反驳你的观点?你愿意坚持吗?

当然,我愿意!那么,你如何将这一结构应用于寻找最小值?我无法理解)
,我想学习如何声明一个数组。我是这样试的。

double massiv[];
int start()
  {
//----
for(int i=0;i<=33;i++)
{
double ind=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i); 
massiv[33]=ind;
double minValueidx=ArrayMinimum(massiv,33,0);
Alert("minValueidx=",minValueidx);
}
//----
   return(0);
  }
它的结果是-1。