[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 517

 
아니, 뭐야?
 
StrToDouble
 
보류 중인 주문 이 2개 있는데 그 중 하나가 작동했는데 두 번째 주문을 삭제하는 방법은 무엇입니까?
 
같은 질문을 반복하지 않습니다. 당신이 필요로하는 것을 정확하게 쓰십시오, 나는 당신을 위해 처방 할 것입니다.
 
zhuki >> :
Вы не однократно задаёте один и тот же вопрос. Пишите точно, что надо я вам пропишу.

보류 중인 주문이 2개 있는데 그 중 하나가 작동했습니다. 두 번째 주문을 삭제하는 방법은 무엇입니까?

 
                   for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
                   {
                   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==false) continue ;
                   if (OrderSymbol()== Symbol ())
                   if (OrderType()> 1 )   OrderDelete(OrderTicket());
                  }
따라서 2개 또는 이미 1개가 있습니다. 이 조각은 모든 보류 중인 주문 을 제거합니다. 그래서?
 
하나의 시스템을 작성했습니다. 문제가 발생했습니다.
전문가가 있다
 #include <H1.mqh>

void init(){}
void deinit(){}
void start(){ Print (f1());}
네 mqh
 #import "B1.ex4"
#import "B2.ex4"

string f1();
string f2();
및 두 개의 라이브러리, 첫 번째 B1
 #property library
#property stacksize   8192

#include <H1.mqh>
/*
#import "B2.ex4"
   string f2();
#import*/

string f1(){ return ( StringConcatenate ( "Апчхи! " , f2()));}
이제 B2도
 #property library
#property stacksize  8192

string f2(){ return ( " Будь здоров!" );}

전문가가 문제 없이 첫 번째 라이브러리 의 함수를 호출 할 수 있어야 하고 B1의 함수는 B2의 함수를 사용합니다.
하지만 터미널은 말한다
2010.04.13 20:25:03 B2 EURUSD,M30: 'f1' 기능을 찾을 수 없습니다.
어떻게 고치는 지? 일반적으로 한 라이브러리의 함수가 다른 라이브러리의 함수를 호출하는 것이 가능합니까?
 
나는 Expert Advisor를 시작할 때 이 작업을 수행하고 진드기가 도착할 때 사용할 수 있는 항목을 결정합니다. 예를 들어.
 int BL= 0 ,SL= 0 ,B= 0 ,S= 0 ,BS= 0 ,SS= 0 ;
//-------------- Определим что имеем --------------------------------------------      
           for ( int r= 0 ;r< OrdersTotal ();r++) //  
      {
       if ( OrderSelect (r,SELECT_BY_POS,MODE_TRADES)==false)     continue ;
       if (OrderSymbol()== Symbol ())
      {
       if (OrderType()==OP_BUY )         B++;
       if (OrderType()==OP_SELL )        S++;
       if (OrderType()==OP_BUYLIMIT )   BL++;
       if (OrderType()==OP_SELLLIMIT)   SL++;
       if (OrderType()==OP_BUYSTOP )    BS++;
       if (OrderType()==OP_SELLSTOP)    SS++;
      }}
추가로 주문 수로 작업할 수 있는지 확인합니다. 예를 들어 BL+SL+BS+SS 등의 보류 중인 주문 수입니다.
필요하세요?
 
나는 단지 이해할 수 없다, 모든 것을 개인에 넣어, 나는 그것을 고칠 것이다.
 
vlandex >> :

보류 중인 주문이 2개 있는데 그 중 하나가 작동했습니다. 두 번째 주문은 어떻게 삭제할 수 있나요?

나머지 보류 중인 주문을 모두 삭제합니다.

그리고 장점에 대한 답변이 필요하면 스튜디오에서 알고리즘의 일부입니다.

 //В конец кода отдельной функцией
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int OrdersDelete( int MagicNumber) //magic 
{
   for ( int i = 0 ; i < OrdersTotal (); i++)
   {
       // already closed
       if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES ) == false) continue ;
       // not current symbol
       if (OrderSymbol() != Symbol ()) continue ;
       // order was opened in another way
       if (OrderMagicNumber() != MagicNumber) continue ;
         if (OrderType() > 1 )
        OrderDelete(OrderTicket());
   }
   return ( 0 ); 
}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

int start()
{
 OrdersDelete(STUPID); //STUPID это мажик номер Вашего советчика
 трали вали ...