错误、漏洞、问题 - 页 2913

 
Konstantin Seredkin:

我让它一直挂着,直到我自己把它卸下来,当我拍下截图时,使用MT5是在星期六早上我所在的时区收市 时完成的,星期天我坐下来玩游戏,开始杀进程。

可能问题出在我这边,虽然一个月前重新安装了许可证。

对 "悬挂 "的药剂进行倾倒。让我们看一看。

 
DMITRII PECHERITSA:
编译失败与三元运算符
编译失败 的三元运算符?


有什么建议吗?
为什么?

三元运算符不隐含地投向基类

使用显式投射

interface A{};
class B:public A{};
class C:public A{};
void OnStart(void)
  {
   A* x=(true)? (A *)new B : (A *)new C; //invalid cast operation
  }


三元运算符不以隐式方式将操作数投向基类--使用显式投法。

 
A100:
没有错误信息

但这就是事实。

根本的区别是什么?

在第一种情况下,也应该有一条错误信息--函数名已经用于枚举。

 

亲爱的开发者,请增加在同步模式下从其他脚本和服务中运行脚本的功能。

预先谢谢你

 
Aliaksandr Hryshyn:

亲爱的开发者,请增加在同步模式下从其他脚本和服务中运行脚本的功能。

预先感谢你。

我支持,由于某些原因,用EA的大文件工作并不方便,我使用的脚本必须并行运行几十个,以加载所有的核心,加快计算速度

 
下午好。请指示,我不能通过ME导航器将CSV文件导入数据库。它说:导入 数据库错误。尝试了所有的CSV选项。有没有人设法做到这一点,或者这是个错误?版本:5.0 build 27.15。
 

如果你改变了EX5,当你打开以前收到的该EA的opt文件时,通行证的输入参数会消失。

请在任何时候都要展示他们。

 

信号》中就有这样的警告。

这能与什么相联系?帐户的访问细节没有改变。

 
fxsaber:

信号》中就有这样的警告。

这能与什么相联系?帐户的访问细节没有改变。


它定期发生。然后它将重新连接。没有必要做任何事情。

 
Alexey Viktorov:

你应该理解文件的内容,而不是我。我建议根据订单或头寸的清单进行排序。在其中一个主题中,Slava说这就够了,只要把对象隐藏起来,然后再显示出来,这样它就会在所有其他对象之上,首先收到 "老鼠的点击 "事件。如果错了,对不起。弄清楚名单是如何排序的,并告诉大家。我也会改变我的想法。

经过长时间的挣扎和实验,我认为MQL5在对象列表中的对象排序方面存在一个错误。因为我在MQL4中试过这段代码,没有特别希望正确处理,我发现4个依次创建的Fibo级别在对象列表中有正确的编号:0.1.2.3。第一个==0,第二个==1,等等。MQL5,一个接一个创建的4个连续符号的编号是从天花板开始的,只有当我改变它们的名称时,它们才会按照改变名称的顺序排好。 你自己检查一下,也许是终端工作不正常,虽然我已经在3台电脑上试过((((。

//+------------------------------------------------------------------+
//|                                                            F.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//|                                                  Fibo_Massiv.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
string NameFiboUp[15];                               // Объявление массива
string NameFiboDown[15];                               // Объявление массива
string NameFibo[9];                               // Объявление массива


//+------------------------------------------------------------------+
int OnInit()
  {
//---
   NameFiboUp[1]="FiboUp1 ";
   NameFiboDown[1]="FiboDown1 ";
   NameFiboUp[2]="FiboUp2 ";
   NameFiboDown[2]="FiboDown2";
   NameFiboUp[3]="FiboUp3";
   NameFiboDown[3]="FiboDown3 ";
   NameFiboUp[4]="FiboUp4 ";
   NameFiboDown[4]="FiboDown4 ";
   NameFiboUp[5]="FiboUp5";
   NameFiboDown[5]="FiboDown5 ";
   NameFiboUp[6]="FiboUp6 ";
   NameFiboDown[6]="FiboDown6 ";
   NameFiboUp[7]="FiboUp7 ";
   NameFiboDown[7]="FiboDown7 ";
   NameFiboUp[8]="FiboUp8 ";
   NameFiboDown[8]="FiboDown8 ";
   NameFiboUp[9]="FiboUp9 ";
   NameFiboDown[9]="FiboDown9 ";
   NameFiboUp[10]="FiboUp10 ";
   NameFiboDown[10]="FiboDown10";
   NameFiboUp[11]="FiboUp11 ";
   NameFiboDown[11]="FiboDown11 ";
   NameFiboUp[12]="FiboUp12 ";
   NameFiboDown[12]="FiboDown12 ";
   NameFiboUp[13]="FiboUp13 ";
   NameFiboDown[13]="FiboDown13";
   NameFiboUp[14]="FiboUp14 ";
   NameFiboDown[14]= "FiboDown14";
//---------------------------------------------
   NameFibo[1]="M1";
   NameFibo[2]="M5";
   NameFibo[3]="M15";
   NameFibo[4]="H1";
   NameFibo[5]="H4";
   NameFibo[6]="Da";
   NameFibo[7]="We";
   NameFibo[8]="Mo";
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   int UP=1;
   int Down=1;
   string  nameUP   = "FiboUp";
   string  nameDown = "FiboDown";
   double FiboDown[4][10],FiboUp[4][10];  // 2x мерный  массив
//  Alert("ArraySize(FiboDown)= ", ArraySize(FiboDown));
   int Fibo_Koll = ObjectsTotal(0,0,OBJ_FIBO);     //Запрос колличества объектов Fibo

//_________________________________________________________
   if(Fibo_Koll==0) //Если нет не одного фибо выход        //
      return;                                              //
//_________________________________________________________//

   int Koll[];  //Индексация и запись в массив по порядку появления фибо в окне инструментов
   int Tip[];    //Запись типа Fibo в массив по порядку появления фибо в окне инструментов
   ArrayResize(Koll,Fibo_Koll); // Устанавливает новый размер в первом измерении массива Koll []
   ArrayResize(Tip,Fibo_Koll);  // Устанавливает новый размер в первом измерении массива Tip []


   for(int i=0; i < Fibo_Koll; i++)
     {
      string n=ObjectName(0,0,0,OBJ_FIBO);

      //--------------------------------------------------------

      //----------------------------------------------------------------------------------------
      double   Fibo_Level_0= ObjectGetDouble(
                                0,          // идентификатор графика
                                n,              // имя объекта
                                OBJPROP_PRICE,           // идентификатор свойства
                                0     // модификатор свойства
                             );


      double   Fibo_Level_1= ObjectGetDouble(
                                0,          // идентификатор графика
                                n,              // имя объекта
                                OBJPROP_PRICE,           // идентификатор свойства
                                1     // модификатор свойства
                             );
      //------------------------------------------------------------------------------------------------------
      if(Fibo_Level_0>Fibo_Level_1)
        {

         //вызов функции расчёта уровня 78.6
         double Fibo_78_Up = Function_Up(Fibo_Level_0, Fibo_Level_1);
         //Изменение имени объекта
         /*   bool l =  StringSetLength(      //Устанавливает для  строки указанную длину в символах 2
                         n,       // строка
                         2    // новая длина строки
                      );
            //-----------------------------------------------------------
            int N = 1;
            string q;

            for(int e = 1; N != 0; e++) // пока N не == 0, гоняем функцию StringCompare. сравнивая обрезанную переменную(StringSetLength) с массивом NameFibo[]
              {
               N= StringCompare(
                     n,              // первая сравниваемая строка
                     NameFibo[e],    // вторая сравниваемая строка
                     true      // режим учета регистра букв при сравнении
                  );

               q= NameFibo[e];

              }
            n= q+NameFiboUp[1];*/


         //--------------------------------------------------------------------
         FiboUp[UP][1]=1;    // Тип обектов 1 == FiboUp
         FiboUp[UP][2]=UP;     // Нумерация обектов FiboUp по типу
         FiboUp[UP][3]=Fibo_78_Up;   // 78.6%
         FiboUp[UP][4]=0;       // 61.8%
         FiboUp[UP][5]=0;         // 50%
         //----------------------------------------------------------------------------------------------------------
         bool  F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboUp[UP]);

         UP++;
        }
      //----------------------------------------------------------------------------------
      else
        {
         //вызов функции расчёта уровня 78.6
         double Fibo_78_Down = Function_Down(Fibo_Level_0, Fibo_Level_1);
         //Изменение имени объекта
         /*     bool l =  StringSetLength(      //Устанавливает для  строки указанную длину в символах 2
                           n,       // строка
                           2    // новая длина строки
                        );
              //-----------------------------------------------------------
              int N = 1;
              string q;

              for(int e = 1; N != 0; e++) // пока N не == 0, гоняем функцию StringCompare. сравнивая обрезанную переменную(StringSetLength) с массивом NameFibo[]
                {
                 N= StringCompare(
                       n,              // первая сравниваемая строка
                       NameFibo[e],    // вторая сравниваемая строка
                       true      // режим учета регистра букв при сравнении
                    );

                 q= NameFibo[e];

                }
              n= q+NameFiboUp[1];*/

         //-------------------------------------------------------------------
         FiboDown[Down][1]=2;    // // Тип обектов 2 == FiboDown
         FiboDown[Down][2]=Down;     // Нумерация обектов  по типу
         FiboDown[Down][3]=Fibo_78_Down;   // 78.6%
         FiboDown[Down][4]=0;       // 61.8%
         FiboDown[Down][5]=0;         // 50%
         //------------------------------------------------------------------
         //Изменение имени объекта
         bool  F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboDown[Down]);


         Down++;

        }
     }
//+------------------------------------------------------------------+

   ArrayPrint(
      FiboUp,             // выводимый массив
      2,      // количество десятичных знаков после запятой
      NULL,      // разделитель между значениями полей структуры
      0,             // индекс первого выводимого элемента
      WHOLE_ARRAY,   // количество выводимых элементов
      ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_ALIGN
   );

   ArrayPrint(
      FiboDown,             // выводимый массив
      2,      // количество десятичных знаков после запятой
      NULL,      // разделитель между значениями полей структуры
      0,             // индекс первого выводимого элемента
      WHOLE_ARRAY,   // количество выводимых элементов
      ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_ALIGN
   );

  }
// for(int i=0; i<ArraySize(Koll); i++)
//  printf("Koll[%d] = %d",i,Koll[i]);


//------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double Function_Up(double a, double b)    // имя функции и список параметров
  {
   double Sum_100 = a - b; //Вычисляем 100% В пунктах от точек построения фибо
   double Sum_78  = Sum_100 * 78.6 / 100;  //Вычисляем 78.6% В пунктах
   return (Sum_78 + b);           // Вычисляем 78.6% в цене инструмента
  }
//+------------------------------------------------------------------+
double Function_Down(double a, double b)    // имя функции и список параметров
  {
   double Sum_100 = b - a ; //Вычисляем 100% В пунктах от точек построения фибо
   double Sum_78  = Sum_100 * 21.4 / 100;  //Вычисляем 78.6% В пунктах
   return (Sum_78 + a);           // Вычисляем 78.6% в цене инструмента
  }
//+------------------------------------------------------------------+