전문가 자문 커뮤니티 - 페이지 7

 
이것은 차이 == 0인 특별한 경우에 대한 검사입니다.
이 루프는 0이 아닌 차이를 찾을 때까지 행을 거꾸로 스캔합니다.

이렇게 하지 않을 수도 있지만 M1 == M2일 때 실수로 막대를 치면 교차로를 놓칠 가능성이 있습니다.

if에서 <를 <=로 바꿀 수 있습니다. 그러면 이 교차 사례를 잡을 것입니다.
그러나 조건은 두 행이 교차하지 않고 접촉할 때 교차를 제공합니다.

일반적으로 작성된 텍스트를 사용하는 것이 더 정확합니다.
(직장에서 확인만 하시면 됩니다 - 확인하지 않았습니다.)

속도는 동일할 것입니다.
이 주기는 극히 드물게 작동합니다.
거의 항상 1개 이하의 추가 검사.
 
개발자에게 질문: 메타에디터를 위한 디버거가 있습니까?

동료 카오스 파이터를 위한 질문: MQL4가 일종의 데이터베이스에 대한 액세스를 지원합니까?
 
아무도 일본 촛대 를 Expert Advisor에 꿰매려고 시도하지 않았습니까?
(이론적으로는 문제가 없습니다.)
 
개발자에게 질문: 메타에디터를 위한 디버거가 있습니까?

네, 그렇게 될 것입니다 - 그것은 계획되어 있습니다. MQL4 컴파일러의 새 버전과 함께 제공될 가능성이 높습니다.
 
아시는 분들을 위한 질문:

다른 프로그래밍 언어와 비교하여 MQL4에서 컴파일된 코드 의 실행 시간은 얼마입니까? 예를 들어 C++는 가장 빠르고 Java는 훨씬 느립니다...
 
한때 Renat가 자랑했던 기록 보관소를 살펴봐야 합니다. 헛된 것이 아닙니다. 실제로 전문가들은 매우 똑똑하게 일합니다.
 
내장 함수(메소드)가 정말 필요합니다.

판매의 모든 순간은 구매가 종료되는 순간으로 간주됩니다.

구매의 모든 순간은 판매 종료의 순간으로 간주됩니다.

그런게 있나 없나? 그리고 그렇지 않다면 (아마도 내가 틀릴 수도 있음) 내 생각에 개발자가 그러한 내장 기능을 포함하는 것이 좋을 것입니다.

하지만 그녀는 여전히?
 
아시는 분들을 위한 질문:

다른 프로그래밍 언어와 비교하여 MQL4에서 컴파일된 코드의 실행 시간은 얼마입니까? 예를 들어 C++가 가장 빠르고 Java가 훨씬 느립니다...

"MQL4, MQL2, EasyLanguage, Wealth-Lab 3.0 및 VC++: 속도 비교"
 
이 코드는 이미 제공했습니다.
이것은 단지 예일 뿐이며 초과분은 버리십시오 :))

포지션을 열기 전에 반대 포지션을 모두 청산합니다.
 int _OrderCloseAll(int _type = 비어 있음, int 미끄러짐 = 5)
{
   정수 개수 = 1;
   정수 제한 = 5;

   동안(카운트 > 0 && 제한 > 0)
   {
      정수 = 주문 합계();

      카운트 = 0;
      한계--;

      for(int i = 0; i < n; i++)
      {
         if (OrderSelect(i, SELECT_BY_POS) == false) 계속;
         if (OrderSymbol() != Symbol()) 계속;
         if (_Magic != 0 && OrderMagicNumber() != _Magic) 계속;
         if (OrderType() == OP_BUY && (_type == EMPTY || _type == OP_BUY)) 
         {
            WaitOrderTimeOut();
            if (OrderSelect(i, SELECT_BY_POS))
               OrderClose(OrderTicket(), OrderLots(), 입찰, 슬리피지);
            카운트++;
         } 또 다른
         if (OrderType() == OP_SELL && (_type == EMPTY || _type == OP_SELL)) 
         {
            WaitOrderTimeOut();
            if (OrderSelect(i, SELECT_BY_POS))
               OrderClose(OrderTicket(), OrderLots(), 묻기, 미끄러짐);
            카운트++;
         }
      }
   }
   반환(0);
}
 
이 코드는 이미 제공했습니다.
이것은 단지 예일 뿐이며 초과분은 버리십시오 :))

포지션을 열기 전에 반대 포지션을 모두 청산합니다.
int _OrderCloseAll(int _type = EMPTY, int Slippage = 5)
{
   int count = 1;
   int limit = 5;

   while(count > 0 && limit > 0)
   {
      int n = OrdersTotal();

      count = 0;
      limit--;

      for(int i = 0; i < n; i++)
      {
      }
   }
   return (0);
}


나는 이미 모든 직위를 닫는 것에 대해 영어 포럼에 대한 링크를 제공했습니다. 분명히 아무도 스레드를 끝까지 읽지 않았습니다. 그 반대가 더 정확할 것이다.
      for(int i = n-1; i >= 0; i--)


결국 위치를 삭제하면 목록에서 제거됩니다. 다음 위치가 제자리에 있고 카운터가 증가하며 바로 이 위치를 건너뜁니다.