초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 24

 
한 기능을 다른 기능 안에서 사용하고 있다고 말해주세요. 아우터에서 변경을 발표했습니다. 내부적으로 사용하고 있습니다. 그것은 대략
   string PositionSymboll = "" ;
   if   (PositionSymboll= PositionGetSymbol (i)){ //Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с ней
     if ( PositionGetInteger ( POSITION_MAGIC )== MAGIC) //Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
              { BU_();}}

등. 그렇게 맹세합니다. 'PositionSymboll' - 선언되지 않은 식별자 Redo.mq5 2472 5

솔직히 말해서, 나는 여기서 어떤 캐치도 기대하지 않았습니다. 사용된 BU_() 함수 내에서 선언하면 이름이 "제로 아웃"됩니다. 더 잘하는 방법?

if 루프 내부의 첫 번째 함수 내부에 선언하는 것이 매우 좋을 것입니다.

 
아 너구나! 그리고 void OnTick() 함수 내에서 선언하더라도 컴파일러는 첫 번째 함수에서도 맹세합니다! 지나가다 바로 떨어졌다..
 
Dimka-novitsek :
아 너구나! 그리고 void OnTick() 함수 내에서 선언하더라도 컴파일러는 첫 번째 함수에서도 맹세합니다! 지나가다 바로 떨어졌다..
 void OnStart ()
  {
   int i= 0 ; long MAGIC= 1234 ;
   
   string PositionSymboll= "" ;
   if (PositionSymboll= PositionGetSymbol (i))
     { //Возвращает символ соответствующей открытой позиции и автоматически выбирает позицию для дальнейшей работы с ней
       if ( PositionGetInteger ( POSITION_MAGIC )==MAGIC) //Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной
        { BU_();}
     }
  }
void   BU_(){} 

잘 컴파일되지만 구성

 string PositionSymboll= "" ;
   if (PositionSymboll)

의심스럽습니다. 참/거짓 문자열 변수를 확인하고 있습니까 ???????? 난 의아해

수사학적 질문.

 
감사해요!! 저는 아직 배우는 중입니다. 이것은 MQL5의 첫 번째 Expert Advisor입니다. rhetorical은 무슨 뜻인가요?
 
Dimka-novitsek :
감사해요!! 저는 아직 배우는 중입니다. 이것은 MQL5의 첫 번째 Expert Advisor입니다. rhetorical은 무슨 뜻인가요?

응답이 없다는 뜻입니다.

if 문에 표현식으로 전달된 문자열 변수는 변수가 초기화되지 않은 경우 한 가지 경우에만 false를 반환합니다.

변수 내용의 다른 모든 변형에서는 true가 반환됩니다.

 
감사해요!!!
 

함수에 전달된 가격에 보류 중인 주문 이 있는 경우 true를 반환해야 하는 함수가 있는지 알려주세요. 그러나 그녀는 대머리 할머니를 다시 데려옵니다 (대체로 참 / 거짓). mql5에서 주문 작업의 논리를 잘못 이해한 부분을 알려주세요. (나는 단지 배우고 있습니다).


 bool OrderExist( double price)                                                                       // функция возвращает наличие ордера на передаваемой цене
{
         
uint total= OrdersTotal ();
ulong     ticket;

for ( uint i= 0 ;i<total;i++)
   {
   if ((ticket= OrderGetTicket (i))> 0 )      
      {
       if ( NormalizeDouble ( OrderGetDouble ( ORDER_PRICE_OPEN ), 4 )== price)
         {
         return ( true );
         }
      }
   }
return ( false );
}
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
DMXX :

함수에 전달된 가격에 보류 중인 주문 이 있는 경우 true를 반환해야 하는 함수가 있는지 알려주세요. 그러나 그녀는 대머리 할머니를 다시 데려옵니다 (대체로 참 / 거짓). mql5에서 주문 작업의 논리를 잘못 이해한 부분을 알려주세요. (나는 단지 배우고 있습니다).

하지만 정해진 가격에 주문을 오픈했다는 사실이 아니라, 밀리는 현상이 있었을 수 있고, 그래서 밝혀진 바가 있다: 당시에 오픈한 것이 사실, 시간이 없었다(가격이 변했다) - 거짓 .

 
fyords :
하지만 정해진 가격에 주문을 오픈했다는 사실이 아니라, 밀리는 현상이 있었을 수 있고, 그래서 밝혀진 바가 있다: 당시에 오픈한 것이 사실, 시간이 없었다(가격이 변했다) - 거짓 .
네, 이 가격에 터미널에 걸려있습니다. 작동 중이라면 성공적으로 설정되었음을 의미합니까?
 
DMXX :
네, 이 가격에 터미널에 걸려있습니다. 작동 중이라면 성공적으로 설정되었음을 의미합니까?

예를 표시했지만 작동하면 ...

또는 그러한 예: 보류 중인 주문 이 있고 그 가격은 현재 주문과 1포인트 차이가 납니다. 다음 틱에서 가격은 1포인트가 오르지 않지만, 예를 들어 3-5가 되면 결과는 잘못된 가격. 명확한 예는 격차입니다.

아니면 내가 질문을 이해하지 못하고 바보입니다.

사유: