MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1715

 
MakarFX # :
엘에스

지갑 확인)

 
Alexey Viktorov # :

나는 이것을 스레드에서 발견했다.

복사하고, 보고, 거의 이해하지 못하고, 주석을 달고 잊어버렸습니다.

이제 기억하고 테스트 코드에서 찾았지만 포럼에서는 찾을 수 없습니다. 매크로 작업을 이해하지 못합니다. 작동 방식을 설명하거나 복사한 위치에 대한 질문을 찾을 수 있습니까?

일반적으로 매크로 대체를 어떻게든 정의할 필요가 있습니다.

이것은 모두 컴파일 단계에서 작동하지만 프로그램을 로드하는 동안에는 작동하지 않습니다.

 

모두 좋은 하루 !!!!

말해주세요. 저는 마지막에서 두 번째 번호의 티켓 번호를 결정해야 합니다. 사진을 참조하세요.

마지막 주문을 결정하는 기능이 있습니다.

 //+----------------------------------------------------------------------------+
//| Расчет тикета максимального ордера в сетке                                 |
//+----------------------------------------------------------------------------+
int GetTicketMaxOrder()
  {
   max_ticket = 0 ;
     {
       for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--)
        {
         if ( OrderSelect (ticket, SELECT_BY_TICKET, MODE_TRADES))
           {
             if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic)
              {
               if (OrderType() == OP_BUY || OrderType() == OP_SELL)
                 {
                   if (OrderTicket() > max_ticket)
                     max_ticket = OrderTicket();
                 }
              }
           }
        }
     }
   return (max_ticket);
  }

이 기능을 적용하고 max_ticket에서 -1을 가정하는 옵션은 어드바이저가 여러 상품에서 거래하기 때문에 작동하지 않으며 다른 상품의 주문이 마지막 주문과 끝에서 두 번째 주문 사이에 열릴 수 있기 때문에 작동하지 않습니다.

선택은 모든 주문에서 나머지 주문의 최대값, 최대값 또는 최대값 이후의 다음 티켓 또는 귀하의 결정에서 뺀 것이어야 합니다. 고맙습니다.

 
Vitaly Muzichenko # :

이것은 모두 컴파일 단계에서 작동하지만 프로그램을 로드하는 동안에는 작동하지 않습니다.

프로그램을 로드하는 것은 컴파일 방식에 따라 달라지지 않습니까?

 
EVGENII SHELIPOV # :

모두 좋은 하루 !!!!

이 기능이 제대로 작동하지 않을 수 있습니다

 int GetTicketMaxOrder()
  {
   max_ticket = 0 ;
     {
       for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--)
        {
         if ( OrderSelect ( ticket , SELECT_BY_TICKET, MODE_TRADES))
           {
 
MakarFX # :

이 기능이 제대로 작동하지 않을 수 있습니다

예, Makar, 항상 옳았습니다. 이것은 고칠 수 있지만 이상하게도 이 기능은 시계처럼 작동합니다.

 
MakarFX # :

정확히.

통해서 가능한가요?

유일한 방법은 입력 매개변수의 표준 메커니즘을 사용하는 대신 고유한 매개변수 패널을 작성하고 OnInit()에서 사용하는 것입니다.
 
Sergey Gridnev # :
유일한 방법은 입력 매개변수의 표준 메커니즘을 사용하는 대신 고유한 매개변수 패널을 작성하고 OnInit()에서 사용하는 것입니다.

흥미로운 아이디어! 고맙습니다.

아니, 흥미롭지 않다

시간대가 변경될 때마다 얼음 없이 다시 설정을 입력하십시오(

 
EVGENII SHELIPOV # :

예, Makar, 항상 옳았습니다. 이것은 고칠 수 있지만 이상하게도 이 기능은 시계처럼 작동합니다.

시계처럼 작동했기 때문입니다. 마지막 max_ticket 주문을 찾고 있었습니다.

다른 티켓을 찾지 못했습니다.

 
EVGENII SHELIPOV # :

모두 좋은 하루 !!!!

말해주세요. 저는 마지막에서 두 번째 번호의 티켓 번호를 결정해야 합니다. 사진을 참조하세요.

새 주문을 열기 전에 티켓을 기억할 수 있습니다.

사유: