[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 183

 

你好。

请你告诉我,是否可以计算出两个泥浆之间的点数距离。

下面给出了我的变体,但它并没有按照最初的设想工作。

预先感谢你。

  int g;
  double maHX_fast=iMA(NULL,fast_maHX_timeframe,fast_maHX_period,0,fast_maHX_method,fast_maHX_price,0);
  double maHX_slow=iMA(NULL,slow_maHX_timeframe,slow_maHX_period,0,slow_maHX_method,slow_maHX_price,0);
  g = maHX_slow - maHX_fast;
  Alert (g);
 
nemo811:

下面给出了我的变体,但它并没有按照最初的设想工作。

发现一个错误。这里有一个工作版本。

  double g;
  double maHX_fast=iMA(NULL,fast_maHX_timeframe,fast_maHX_period,0,fast_maHX_method,fast_maHX_price,0);
  double maHX_slow=iMA(NULL,slow_maHX_timeframe,slow_maHX_period,0,slow_maHX_method,slow_maHX_price,0);
  g = (maHX_slow - maHX_fast)/Point;
  Alert (g);
 

下午....

如何将一个订单的收盘价 从一个终端转移到另一个终端,在同一货币对上交易?

 
TANKER:

下午好....

如何将一个订单的收盘价从一个终端转移到另一个终端,在同一货币对上交易?


如果你问这样的问题,那么我不认为你可以自己做。
 

大家晚上好!

出现了以下关于数组的问题。

假设我们需要分析n个柱子的某个波动,选择它,把它放到一个数组中,然后用这个来工作...

下面是一些代码;我想注释会解释一切。

其逻辑如下。

1.我们设定必要的条数。

2.在循环中把整个事情循环一遍。

寻找满足指定条件(close_1>close_2&close_2<close_3)的情况。

4.如果满足条件,那么我们计算收盘价close_1和close_2之间的差异。

然后是问题本身。

1.如何正确地形成一个数组,并在那里写出diff的值(当然,数组的维度是根据获得的值的数量决定的)?

2.计算并显示数组中的元素数 ? ?

3.选择例如3、6、7个元素并计算它们的总和?

4.最后,例如直接打印/提示,输出整个数组而不是单个元素?

#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   //определяем переменные
   int i, bars;
   double close_1, close_2, close_3;//цена закрытия
   double diff;//вычисление разности close_1 и close_2
   double Mas[];//массив куда надо заносить данные
   
   
   //устанавливаем значения переменных
   bars=60;//количество баров для анализа
   
   for(i=1;i<=bars;i++)
   {
      close_1=iClose(NULL,PERIOD_M1,i);
      close_2=iClose(NULL,PERIOD_M1,i+1);
      close_3=iClose(NULL,PERIOD_M1,i+2);
      
      //условие для отбора в массив
      if(close_1>close_2&&close_2<close_3)//если выполняется это условие, тогда
      {
         diff=close_1-close_2; //считаем разность и записываем это дело в массив 
         
         /*
         Собственно вопросы:
         1. Как правильно сформировать массив и записать туда полученные значения diff ???
         2. Посчитать и вывести количество элементов в массиве ???
         3. Выбрать например 3, 6, 7 элемент и посчитать их сумму ???
         4. И последнее, непосредственно вывести например в Print/Alert весь полученный массив, а не только отдельно взятый элемент ???
         */
         
         //Это просто вывод, чтобы удостовериться что наше условие работает, можно потереть... 
         Alert("i ",i," diff: ",DoubleToStr(diff,5));
         
      }
   }


   return(0);
  }
//+------------------------------------------------------------------+
这里有一张图片,可以清楚地说明我们处理的是哪种情况。: ))

提前感谢大家!

 
NickXXX:

大家晚上好!

出现了以下关于数组的问题。

假设我们想分析某个特定振荡的n个柱子,选择它,存储在一个数组中,然后用这个数组工作...

在指标这个词之后笑。

创建一个指标更容易,它已经有八个缓冲数组,把所有的逻辑放在上面,然后通过iCustom解决所需的元素。

在print/alert中,整个数组有些不可读,但通过枚举和在循环中创建一个长字符串是很可能的。

3.选择例如3、6、7个元素并计算它们的总和?

要么就别拿这个开玩笑,要么就读读文档。

double Summa=Mas[3]+Mas[6]+Mas[7];

推荐阅读https://book.mql4.com/ru/variables/arrays

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

 
splxgf:

在指标这个词之后笑。

创建一个指标更容易,它已经有八个缓冲数组,将所有的逻辑转移到它,然后通过iCustom寻址必要的元素。

在print/alert中,整个数组有点不可读,但通过枚举和在循环中创建一个长字符串是很可能的。

要么就不要这样乱来,要么就读读文档。

double Summa=Mas[3]+Mas[6]+Mas[7];

推荐阅读https://book.mql4.com/ru/variables/arrays

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

是的,你不需要问苏玛的事)。而且这里不是关于指标的问题。这是一个例子,以便我能够正确地处理数组。

我已经看到了推荐的文章,但它并没有帮助我处理这个问题。

所以我的问题仍然是相关的...在这个例子中如何建立一个数组?如果你能把代码给我看清楚,我将非常感激。这更容易理解我们正在谈论的内容。

 

对烟雾指标更好的是,所有的计算都与条形图相联系,条形图的编号从零开始,数组在每个新的条形图上都会被移位。使用一个指标将允许你把处理数组的逻辑转移到系统中,另外它将增加视觉能力,再加上从EA中轻松使用。

做一个指标,否则就很难将数组的 计算元素 与图表上的条形图联系起来。

 
splxgf:

对烟雾指标更好的是,所有的计算都与条形图相联系,条形图的编号从零开始,数组在每个新的条形图上都会被移位。使用一个指标将允许你把处理数组的逻辑转移到系统中,加上它将增加视觉功能,再加上从EA中容易使用。

做好指标,否则将很难将数组的计算元素与图表上的条形图绑定。

好吧,我明白了,最好是读取指标中的所有内容,并将数值发送到专家顾问中。

但这里的问题有点不同,我不能用数据填充数组,它显示的是零。我想了解它。

同样,用这个例子。绑定到我所拥有的条形图上,只需依次到i处,找出正确的条件close_1>close_2&close_2<close_3(只是举例)

而现在最有趣的是,我们已经计算出diff=close_1-close_2 如何将diff的这个值放入数组?

我认为对于大小,我们可以在if条件中增加变量int n,并将其增加1(n++),我们会得到条件起作用的次数,并将这个数字作为大小。

但是,如何将差异值放入一个数组中?

 
NickXXX:

我明白,最好是读取指标中的所有内容,并将其数值发送到专家顾问。

但问题有点不同,我不能用数据填充数组,它向我输出零。我想了解它。

同样,用这个例子。绑定到我所拥有的条形图上,只需依次到i处,找出正确的条件close_1>close_2&close_2<close_3(只是举例)

而现在最有趣的是,我们已经计算出diff=close_1-close_2 如何将diff的这个值放入数组?

我认为我们可以在if条件中增加一个变量int n,并将其增加1(n++),我们将得到条件起作用的次数,并将这个数字作为一个维度。

但是,如何将不同的值放入数组?

听着,我现在可能是个捕快,但我认为你对我在这个例子中使用脚本感到困惑。当你写到指标时,你是指它吗?如果我这样做了,那么我就在一个指标中 或在专家顾问中直接进行所有的动态计算。我只是启动了一次,看了看,然后纠正了代码))。

前面的问题仍有意义。阵列的主题没有得到解决)。