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

 
Vitaly Muzichenko:

使用按钮来插入代码!

谢谢))))。现在我知道了)))我指出了在编译过程中哪个地方出现了错误
double Price;                                                               // Цена выбранного ордера
  double Mas[];                                                                //массив для упорядочивания всех ордеров
  for(int i=0; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {
      Price=OrderOpenPrice();                                                    //Заполняем массив ценами
      Mas[i] = Price;
     }
   }
  
          ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND);                           // Теперь цены открытия упорядочены по убыванию
          
        int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND);           //Определен индекс ближайшего меньшего по значению елемента к текущей цене
        double PriceBlizko1=Mas[Blizko1];
     
     }  
      if (PriceBlizko1-Ask>=30*Point)                          //Если верхний ордер дальше чем 30 пунктов !!!! 'PriceBlizko1' - undeclared identifier!!!!!

       {OrderSend(Symbol(),OP_BUY,LtsB,Ask,2,0,Bid+30*Point);      //Открываем ордер Бай
               Alert (GetLastError());                                    //Сообщение об ошибке
奇怪的是,因为PriceBlizko1在上面一行中被描述为
 

什么,没有人使用ClusterDelta的指标?

 
vikzip:
谢谢你))))。我现在知道了)))我已经指出了在编译时什么地方出了错误
奇怪的是,因为PriceBlizko1在上面一行中被描述为

它在上面的一行中得到了准确的描述。它需要全局定义,以便所有单位都能使用,而不仅仅是本地(当前)单位。

 
voron_026:

难道没有人使用ClusterDelta的指标吗?

读取对象并从中获取数据:ObjectGetDouble

Документация по MQL5: Графические объекты / ObjectGetDouble
Документация по MQL5: Графические объекты / ObjectGetDouble
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. [in]  Модификатор указанного свойства. Для первого варианта по умолчанию значение модификатора равно 0. Большинство свойств не требуют модификатора...
 
Vitaly Muzichenko:

它在上面的一行中得到了准确的描述。它需要全局定义,以便所有单位都能使用,而不仅仅是本地(当前)单位。


谢谢你)

 

似乎已经完成了EA的编写,但弹出了一个错误

')'- 不是所有的控制路径都会返回一个值

它能与什么有关。我试图把返回,错误改变了

'return' - 函数必须返回一个值


可能使用未初始化的变量'Ticket'。
可能使用未初始化的变量'LtsB'。
可能使用未初始化的变量'LtsS'。
'return' - 函数必须返回一个值
1个错误,3个警告

Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
 
vikzip:

似乎已经完成了EA的编写,但弹出了一个错误

')'- 不是所有的控制路径都会返回一个值

它能与什么有关。我试着把返回,错误改变了

返回"--函数必须返回一个值


也许该函数必须返回(0)。

 
Vitaly Muzichenko:

也许需要一个像这样的return(0)。


aaahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh !!!!谢谢!!!。

 
vikzip:

aaaaaaaa hooray!!!!谢谢你!!!。

为什么说 "谢谢"?该函数应该 返回一个值。而你总是返回零。如果它应该什么都不返回,它的类型应该是void

 
Artyom Trishkin:

在mql4,mql5中,一个数组总是只通过引用传递给一个函数(& == ampersand)。

首先--在函数的正式参数中,有一个安培号,它表示传入函数的不是数组本身,而是对它的引用。然后--在函数里面--你已经在使用引用了,这意味着你不必再指定它。

在类的析构器的名称前有一个斜线(~)--构造函数和析构器的名称与类本身相同,但析构器有~。

请阅读这篇文章,了解何时使用引用,何时使用指针。

虽然,你仍然需要阅读基础知识。

谢谢你!