포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 162

 
ALXIMIKS :

+ 마감 시간인 OrderClosetime까지 선택할 때 열린 티켓을 확인하는 것이 유용하다는 글을 읽었습니다(=0).
티켓을 고를 때입니다. 여기 - 색인에 의한 선택.
 

안녕하세요!

평소와 같이 도움이 필요합니다. 매직 넘버로 보류 주문 을 올바르게 선택하는 방법을 알 수 없습니다. 누군가 코드를 게시하여 완료 방법을 볼 수 있습니까? 미리 감사드립니다!)

 
zaqwsx123 :

안녕하세요!

평소와 같이 도움이 필요합니다. 매직 넘버로 보류 주문을 올바르게 선택하는 방법을 알 수 없습니다. 누군가 코드를 게시하여 완료 방법을 볼 수 있습니까? 미리 감사드립니다!)


알시믹스 2013년 11월 9일 21:36 #

 void DeletePendingOrders()
{
     int NumberOfTry,
        err,
        ticket;

   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
   {
       if (! OrderSelect (i, SELECT_BY_POS,MODE_TRADES)) continue ;
       if (OrderMagicNumber() != i_magic) continue ;
       if (OrderSymbol() != Symbol ()) continue ;
       if (OrderType() > 1 )
      {
         ticket = OrderTicket();
         NumberOfTry= 0 ;

         while (NumberOfTry < 5 )
         {
             while (!IsTradeAllowed()) Sleep ( 5000 );
      
             if (OrderDelete(ticket, Red))
                breake;
             else
                err = GetLastError ();
      
             if (err > 0 )
            { 
               Print (NumberOfTry, " #" ,ticket, " Error modifing order: (" , err , ") " );
               Sleep ( 5000 );  NumberOfTry++;
            }
         }
      }
   }
}

누군가 이 코드에 대한 도움을 요청한 적이 있습니다. 여기에 모든 지연을 제거하는 예가 있습니다.

코드가 테스터에서 항상 적절할 것이라는 사실이 아니라 실제에 대해서는 침묵합니다.

 
ALXIMIKS :

누군가 이 코드에 대한 도움을 요청한 적이 있습니다. 여기에 모든 지연을 제거하는 예가 있습니다.

코드가 테스터에서 항상 적절할 것이라는 사실이 아니라 실제에 대해서는 침묵합니다.

젠장, 코드가 확실하지 않다면 질문하는 사람에게 코드를 보여줘야 하는 이유가 무엇입니까? 당신은 항상 올바르게 대답해야하며 "아마도 잘 될 것입니다. 나는 거기에서 실수를 저질렀습니다" ...
 
zaqwsx123 :

안녕하세요!

평소와 같이 도움이 필요합니다. 매직 넘버로 보류 주문을 올바르게 선택하는 방법을 알 수 없습니다. 누군가 코드를 게시하여 완료 방법을 볼 수 있습니까? 미리 감사드립니다!)

가장 최근에 열린 주문을 선택하고 티켓을 반환합니다. 그러한 순서가 없으면 -1을 반환합니다.

 //-----------------------------------------------------------------------------+
int GetTicketLastOpenOrder( string sy, int op, int mn) {
   int    i, j=- 1 , t= 0 , k= OrdersTotal ()- 1 ;
   for (i=k; i>= 0 ; i--) {                       // цикл от конца к началу
       if ( OrderSelect (i,SELECT_BY_POS)) {
         if (OrderMagicNumber()!=mn)   continue ; // если магик не тот - переходим к следующему
         if (OrderSymbol()!=sy)         continue ; // если символ не тот - переходим к следующему
         if (OrderType()!=op)           continue ; // если тип не тот - переходим к следующему
         if (t<OrderOpenTime()) {   // выбран нужный, ...
            t=OrderOpenTime();       // ... ищем последний ...
            j=i;                     // ... открытый ордер
            }
         }
       else Print ( "FUNC GetTicketLastOpenOrder() ошибка выбора ордера " + GetLastError ());
      }
   if ( OrderSelect (j,SELECT_BY_POS)) return (OrderTicket()); // если найден ордер, вернём его тикет
   return (- 1 );                                               // иначе - возвращаем -1
}
//-----------------------------------------------------------------------------+
 
artmedia70 :
젠장, 코드가 확실하지 않다면 질문하는 사람에게 코드를 보여줘야 하는 이유가 무엇입니까? 당신은 항상 올바르게 대답해야하며 "아마도 잘 될 것입니다. 나는 거기에서 실수를 저질렀습니다" ...

글쎄, 사람은 그렇게 자신을 주장합니다.

그는 이미 여기서 자신의 야망을 보여주었습니다.

 
PapaYozh :

글쎄, 사람은 그렇게 자신을 주장합니다.

그는 이미 여기서 자신의 야망을 보여주었습니다.

음 ... 누군가가 아내를 때리고 누군가 포럼에서 야프를 치고 누군가가 혁명을 일으키고 ... 사람들은 다릅니다. 각자에게.
 
artmedia70 :
음... 누군가는 아내를 때리고 누군가는 포럼에서 야프를 치고 누군가는 혁명을 일으키고... 사람들은 다릅니다. 각자에게.

어떤 사람이 밤에 질문을 하면 대답이 그렇게 복잡하지 않지만 순전히 원칙에 따라 제 경험이 부족하여 소개하겠습니다.

그렇다면 전문가의 답변을 8시간 동안 기다리는 것이 더 낫습니까?

또는 올바른 방향으로 생각의 흐름을 이끄는 데 즉시 도움이 될 것입니다 (물론 사람이 희망이없는 경우는 제외 ...).

나는 두 번째 옵션을 선택했고 그것이 정당하다고 생각하고 원하는 것을 생각하십시오 - 행복합니다.

 
ALXIMIKS :
아트미디어70 :
음... 누군가는 아내를 때리고 누군가는 포럼에서 야프를 치고 누군가는 혁명을 일으키고... 사람들은 다릅니다. 각자에게.

어떤 사람이 밤에 질문을 하면 대답이 그렇게 복잡하지 않지만 순전히 원칙에 따라 제 경험이 부족하여 소개하겠습니다.

그렇다면 전문가의 답변을 8시간 동안 기다리는 것이 더 낫습니까?

물론 초보자가 충분한 수면을 취하고 유능한 답변을 얻는 것보다 아침까지 다른 사람의 코드에서 오류를 찾는 것이 더 즐겁습니다.

내 말은, 당신이 초보자에게 대답할 때 그가 경험이 거의 없을 수도 있다는 사실에 대해 생각하십시오.

 

헤더 파일 hoz_Base@Include.mqh에서 호출되는 hoz_LoggingToAnywhere@Library.mq4 라이브러리가 있습니다.

hoz_LoggingToAnywhere@Library.mq4 라이브러리를 컴파일할 때 로그에 다음과 같이 표시됩니다.

'StringConcatenate' - incompatible types        D:\Insall'd soft's\Forex\MetaTraderForProgramming\experts\include\hoz_Base@Include.mqh (75, 12)

나는 거기에 간다 .. 그리고 거기에 나는 본다 :

   //---- Контролируем возможные ошибки
   fPrint ( StringConcatenate ( "fInitBase() => " , fErrorToString (bi_Err)));

다른 라이브러리에서 이 fPrint 함수를 호출하면 아무데도 욕을 하지 않고 헤더 파일에서 .. 욕을 합니다. 왜 그런 겁니까? 이미 스트레이트 문자를 문자로 복사했습니다.