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 :

위 줄에 설명되어 있습니다. 로컬(현재)뿐만 아니라 모든 블록에서 사용할 수 있도록 전역 수준에서 정의해야 합니다.


고맙습니다)

 

어드바이저 작성 이 끝난 것 같은데 에러가 뜨네요

')' - 모든 제어 경로가 값을 반환하는 것은 아닙니다.

연결할 수있는 것. 반환을 시도했지만 오류에서 변경됩니다.

'반환' - 함수는 값을 반환해야 합니다.


초기화되지 않은 변수 'Ticket' 사용 가능
초기화되지 않은 변수 'LtsB' 사용 가능
초기화되지 않은 변수 'LtsS' 사용 가능
'반환' - 함수는 값을 반환해야 합니다.
오류 1개, 경고 3개

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

어드바이저 작성 이 끝난 것 같은데 에러가 뜨네요

')' - 모든 제어 경로가 값을 반환하는 것은 아닙니다.

연결할 수있는 것. 반환을 시도했지만 오류가 변경되었습니다.

'반환' - 함수는 값을 반환해야 합니다.


그런 return(0)이 필요할 수도 있습니다.

 
Vitaly Muzichenko :

그런 return(0)이 필요할 수도 있습니다.


으아아악 만세!!!! 고맙습니다!!

 
vikzip :

아아아 만세!!!! 고맙습니다!!

"고마워요"는 어떻습니까? 함수는 값을 반환 해야 합니다 . 그리고 항상 0을 반환합니다. 의도한 대로 아무 것도 반환하지 않으면 해당 유형이 void 여야 합니다.

 
Artyom Trishkin :

mql4, mql5에서 배열은 항상 참조(& == 앰퍼샌드)에 의해서만 함수에 전달됩니다.

첫째 - 함수의 형식 매개변수에 - 앰퍼샌드가 있으며 이는 배열 자체가 함수에 전달되지 않고 함수에 대한 참조가 전달됨을 의미합니다. 그런 다음 함수 내부에서 이미 링크로 작업하고 있으므로 다시 지정할 필요가 없습니다.

음, 물결표(~)는 클래스 소멸자 이름 앞에 쓰여집니다. 생성자와 소멸자는 클래스 자체와 이름이 같지만 소멸자에는 ~가 있습니다.

다음은 링크를 사용해야 하는 경우와 포인터를 사용해야 하는 경우에 대한 기사 입니다.

그러나 여전히 기본 사항을 읽어야 합니다.

고맙습니다!