[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 517

 
Hayır, nedir?
 
StrToDouble
 
2 bekleyen emir var, biri işe yaradı, ikincisi nasıl silinir?
 
Aynı soruyu tekrar tekrar sormayacaksın. Tam olarak neye ihtiyacın olduğunu yaz, senin için reçete yazacağım.
 
zhuki >> :
Вы не однократно задаёте один и тот же вопрос. Пишите точно, что надо я вам пропишу.

2 bekleyen emir var, biri çalıştı, ikincisini nasıl silebilirim?

 
                   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());
                  }
Yani 2 veya zaten bir tane var. Bu parça bekleyen tüm siparişleri kaldıracak. Böyle?
 
Bir sistem yazdı. bir soruna rastladı.
bir uzman var
 #include <H1.mqh>

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

string f1();
string f2();
ve iki kitaplık, ilk B1
 #property library
#property stacksize   8192

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

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

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

İlk kütüphaneden fonksiyonu sorunsuz bir şekilde çağırabilmek için uzmana ihtiyacım var ve B1'den gelen fonksiyon B2'den gelen fonksiyonu kullanıyor,
ama terminal diyor
2010.04.13 20:25:03 B2 EURUSD,M30: 'f1' işlevi bulunamadı
nasıl düzeltilir? Bir kitaplıktaki işlevlerin başka bir kitaplıktan işlevleri çağırması genellikle mümkün müdür?
 
Bunu Başlarken Expert Advisor'da yapıyorum ve bir kenenin gelmesi için nelerin müsait olduğunu belirliyorum. Örneğin.
 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++;
      }}
ayrıca sipariş sayısı ile çalışabileceğinizi belirlemek için. Örneğin, bekleyen siparişlerin kaç tanesi BL+SL+BS+SS vb.
İhtiyacın var?
 
Sadece anlayamıyorum, her şeyi kişiselleştirin, düzelteceğim.
 
vlandex >> :

2 bekleyen emir var, biri çalıştı, ikincisini nasıl silebilirim?

Kalan tüm bekleyen siparişleri siler.

Ve esas hakkında bir cevaba ihtiyacınız varsa, o zaman stüdyodaki algoritmanın bir parçası.

 //В конец кода отдельной функцией
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
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 это мажик номер Вашего советчика
 трали вали ...