오류, 버그, 질문 - 페이지 2913

 
Konstantin Seredkin :

내가 직접 내릴 때까지 계속 매달리고, 화면이 만들어지고, 토요일 아침 내 시간대에 마켓이 닫히는 MT5 사용이 완료되고, 일요일에는 앉아서 게임을 하고 프로세스를 죽이기 시작했습니다.

Windows 라이센스가 한 달 전에 다시 설치되었지만 문제는 아마도 내 쪽일 것입니다.

"매달린" 에이전트를 버리십시오. 우리는 볼 것이다.

 
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 :

개발자 여러분, 동기 모드에서 다른 스크립트 및 서비스의 스크립트를 실행할 수 있는 기능을 추가하십시오.

미리 감사드립니다

저는 Expert Advisor에서 대용량 파일 작업이 여러 가지 이유로 편리하지 않다는 점을 지지합니다. 모든 코어를 로드 하고 계산 속도를 높이기 위해 수십 개의 병렬로 실행해야 하는 스크립트를 사용합니다.

 
안녕하세요. ME 내비게이터를 통해 CSV 파일을 데이터베이스로 가져올 수 없습니다. 쓰기: 데이터베이스 가져오기 오류입니다. 모든 CSV 옵션을 시도했습니다. 누구든지 이것을 할 수 있습니까 아니면 이것이 버그입니까? 버전: 5.0 빌드 27.15.
 

EX5를 변경하면 이 Expert Advisor의 이전에 얻은 옵트 파일을 열 때 패스의 입력 매개변수가 사라집니다.

어떤 시나리오에서든 보여달라는 큰 요청!

 

Signal에는 이러한 경고가 있습니다.

그 이유는 무엇입니까? 계정 액세스 데이터는 변경되지 않았습니다.

 
fxsaber :

Signal에는 이러한 경고가 있습니다.

그 이유는 무엇입니까? 계정 액세스 데이터는 변경되지 않았습니다.


주기적으로 발생합니다. 그러면 다시 연결됩니다. 당신은 아무것도 할 필요가 없습니다.

 
Alexey Viktorov :

나를 이해할 필요는 없지만 문서입니다. 주문 목록이나 위치를 기준으로 정렬을 추측했습니다. 그리고 주제 중 하나에서 Slava는 개체를 숨겼다가 다시 표시하여 다른 무엇보다 먼저 "쥐 클릭" 이벤트를 수신하도록 하는 것으로 충분하다고 말했습니다. 제가 틀렸다면 죄송합니다. 목록이 정렬되는 방식을 이해하고 모든 사람에게 알립니다. 저도 생각을 바꾸겠습니다.

많은 고뇌와 실험 끝에 MQL5에 개체 목록의 개체 순서에 버그가 있음을 알게 되었습니다. 올바른 처리에 대한 많은 희망 없이 MQL4에서 이 코드를 시도한 결과, 순서대로 생성된 4개의 fibo 수준이 개체 목록 0.1.2.3에서 올바른 번호로 지정되었음을 발견했습니다. 첫 번째 ==0, 두 번째 ==1 등이며, 그 결과 코드가 주어진 논리로 문제를 해결했습니다. MQL5 에서는 4개의 fibo가 차례로 생성되어 천장부터 번호가 매겨지며, 이름이 변경될 경우에만 이름 변경 순서대로 정렬됩니다. 어떻게 되는거야??? 집에 누가 있는지 확인하십시오. 이미 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% в цене инструмента
  }
//+------------------------------------------------------------------+