MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1085

 
Alexandr Nikolaev :
Sadece terminale yüklenen geçmişler arasında kapatılan ve silinen sipariş aramalarından Ticket ile OrderSelect çıkıyor mu? Kılavuzda bundan bahsedilmiyor.

Evet

burada, aslında, yalnızca terminalde bulabileceğiniz veriler EA tarafından kullanılabilir.

bu aynı zamanda çizelgelerin geçmişi için de geçerlidir, eğer sınırlandırırsanız danışman, terminalde görmediğiniz grafiğin çubuklarına da erişemez.


Alexey Mavrin :

OrdersHistoryTotal açıklamasında yazıyor.

bilete göre sipariş seçerken:

havuz parametresi yoksayılır

https://docs.mql4.com/en/trading/orderselect
 
Birisi bana adını bilmeden bir klasördeki en son dosyanın tanıtıcısını nasıl alacağımı söyleyebilir mi? Yani betiği çalıştırdığınızda, en son oluşturulan dosyaya erişmeniz gerekiyor ki bu, döngüye neyin eklenmesi gerektiğini çözemiyorum. MQL4
 
hoka777 :
Birisi bana adını bilmeden bir klasördeki en son dosyanın tanıtıcısını nasıl alacağımı söyleyebilir mi? Yani betiği çalıştırdığınızda, en son oluşturulan dosyaya erişmeniz gerekiyor ki bu, döngüye neyin eklenmesi gerektiğini çözemiyorum. MQL4

FileFindFirst , FileFindNext , FileGetInteger

 

bu giriş ne anlama geliyor?

 int tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 ;
 
Seric29 :

bu giriş ne anlama geliyor?

Bunun aynısı:

 int tf= 1 | 2 | 4 | 8 | 16 | 32 | 64 ;

Birisi, bir yerlerde, bayrakları bir şey için kullanıyor. Bu girdi, tf değişkeninde 7 bayrağın saklandığını ve hepsinin eğildiğini söylüyor.

 

Sipariş izleme.

Herkese merhaba, Lord forum kullanıcıları.

Fotokopi makinesi için siparişleri takip etme ihtiyacıyla karşı karşıya kaldı ve sorunun karmaşıklığı karşısında şaşırdı.

Görev.

Piyasa ve bekleyen emirlerin açılış, kapanış ve değişiklik işlemlerini mümkün olan en az gecikme ve sistem yükü ile takip edin.

Muhtemel çözümler.

1.   Her onay işaretinin tüm sipariş listesini izlemek henüz çok çekici değil.

2. MQL 5'in iyi OnTrade () ve OnTradeTransaction () işlevleri vardır, ancak MQL 4'te benzerlerini bulamadım.

3. Son sipariş satırları ve TP'leri ile manipülasyonları grafikte izlemek çekici görünüyor ve   SL kullanarak Ancak OnChartEvent , bu nesneler görünmez ve işlev tarafından işlenmez. Onları "göstermenin" bir yolu var mı?

4. Şimdi genel logdan bilgi alma olasılığını düşünüyorum. Ayrıca izlenmesi gerekecek, ancak daha az.

Henüz tatmin edici bir çözüm bulamadım, belki birileri çoktan kazmıştır?

 
Artyom Trishkin :

Bunun aynısı:

Birisi, bir yerlerde, bayrakları bir şey için kullanıyor. Bu girdi, tf değişkeninde 7 bayrağın saklandığını ve hepsinin eğildiğini söylüyor.

 int tf= 1 | 2 | 4 | 8 | 16 | 32 | 64 ;

Ve neden dikey bir çubukla nasıl kullanılacağı yazılıyor? Bu bayrağın her bir parçasına erişilebilir mi? İşte böyle bir kod.

     if ( _Period == 1440 ){diff= 86399 ; tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 ;} // выбор старшего ТФ, с него скрипт рисует на младших ТФ
     if ( _Period == 240 ) {diff= 14340 ; tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 ;}
     if ( _Period == 60 )  {diff= 3540 ;  tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 ;}
     if ( _Period == 30 )  {diff= 1740 ;  tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 ;}
     if ( _Period == 15 )  {diff= 840 ;   tf= 0x0001 | 0x0002 | 0x0004 ;}
     if ( _Period == 5 )   {diff= 240 ;   tf= 0x0001 | 0x0002 ;}  

    cl_timeM1=op_timeM1 + diff ;                     // координата даты и времени бара М1 по цене CLOSE старшего ТФ
    cl_NumBarM1= iBarShift ( NULL , PERIOD_M1 ,cl_timeM1); // индекс бара М1
    cl_priceM1= iClose ( NULL , PERIOD_M1 ,cl_NumBarM1);   // координата цены CLOSE бара М1
      
//--- трендовые линии -----------------------------------------------+ 
   for (i= 0 ;i< 1000000 ;i++){name1= "Point_" +i; if ( ObjectFind (name1)< 0 ) break ;}     // позволяет рисовать множество объектов с одинаковым именем, добавляя к имени порядковый номер
  
   ObjectCreate ( 0 ,name1, OBJ_TREND , 0 ,op_timeM1,op_priceM1,cl_timeM1,cl_priceM1); // создать объект трендовая линия с координатами цены и времени  
   ObjectSet(name1, OBJPROP_COLOR , clrWhite );                                     // задать цвет объекта
   ObjectSet(name1, OBJPROP_STYLE , STYLE_DASH );                                   // задать стиль объекта (пунктир, линия...)
   ObjectSet(name1, OBJPROP_RAY , false );
   Строчка ниже будет отрисовываться нужное количество раз или что?
   ObjectSet(name1, OBJPROP_TIMEFRAMES ,tf);    
 
Seric29 :

Ve neden dikey bir çubukla nasıl kullanılacağı yazılıyor?

"dikey çubuk" dediğiniz sürece bu kodu okuyamazsınız.

yardımı okuyun https://www.mql5.com/ru/docs/basis/operations/bit

 
Igor Makanu :

"dikey çubuk" dediğiniz sürece bu kodu okuyamazsınız.

yardımı okuyun https://www.mql5.com/ru/docs/basis/operations/bit

Okudum (kaç kez bilmiyorum) çünkü bu kullanıma dair hiçbir örnek yok ve buna neden ihtiyaç duyulduğu da net değil. bir örnek var

 int a= 305 ;
int b=a;      
int shift= 37 ; 
shift++; 
a=a>>shift;    // 38 в двоичном представлении будет выглядеть как '100110', младшие 5 бит '00110' представляют число 6 
b=b>>6;

Bir şekilde bu çizgi mümkün mü

 if ( _Period == 1440 ){diff= 86399 ; tf= 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 ;}

sayaçtan daha kısa yaz?

 
Seric29 :

Okudum (kaç kez bilmiyorum) çünkü bu kullanıma dair hiçbir örnek yok ve buna neden ihtiyaç duyulduğu da net değil. bir örnek var

O örneği okumadın.

Bit düzeyinde VEYA işlemi

x ve y'nin ikili gösterimlerinin bit düzeyinde VEYA işlemi. İfadenin değeri, x veya y'nin 0 içermediği tüm bitlerde 1 ve diğer tüm bitlerde 0 içerir.

b = x | y;

Misal:

 char a= 'a' ,b= 'b' ;
//--- операция ИЛИ
   char c=a|b;
   Print ( "a = " ,a, "  b = " ,b);
   Print ( "a | b = " ,c);
// Результат будет такой:
// a = 97   b = 98
// a | b = 99