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

 
Roman Sharanov :

hiçbir tarih verisi hiçbir şey söylemiyor mu?

Cevap için teşekkürler.

 
Igor Makanu :

Bir testçi gibi görünüyorsunuz ve tarihsel veri olmadığını yazıyor, F2'ye basın ve geçmişi yükleyin, ardından terminali yeniden başlatın

Her şey, çok teşekkür ederim, işe yarıyor.

 
Merhaba çocuklar! Tekrar yardımınıza ihtiyacımız var! Bana 1'den N () sayı dizisini nasıl yapacağımı söyle?
 int N() {   int n;                      
       n=N();
       return (n+ 1 );}
//+------------------------------------------------------------------+  
void OpenBS() { ....       
     if ( ((OpenB- Ask )/ma+TimeB/ 60 ) > N() ) { 
         if ( OrderSend ( Symbol (), OP_BUY , 0.01 , Ask , 3 , 0 , 0 , NULL , 123 , 0 , 1 )> 0 ) {N()} }}
N()'nin void OpenBS()'den dönmesini sağlamak için int ne değiştirilir?
 
Rustam Bikbulatov :
Merhaba çocuklar! Tekrar yardımınıza ihtiyacımız var! 1'den N() sayı dizisini nasıl yapacağımı söyle int, N() void OpenBS()'den dönecek şekilde nasıl değiştirilir?

Belki bu yüzden

 int N()
  {
   static int n= 0 ;                      
   n++;
   return n;
  }
 
Konstantin Nikitin :

Belki bu yüzden

Çok teşekkürler!!! Bana onları nasıl sıfırlayabileceğini söyleme? Örneğin siparişler varsa, o zaman bir hesaplama vardır. Sipariş yoksa sıfırlanır

 int N()
  {   static int n;
        { if ((fMarketOrdersBuy( OP_BUY )== 0 )) { 
        n= 0 ;}}
        { if ((fMarketOrdersBuy( OP_BUY )>= 1 )) {                       
        n++;}}
   return n;
  }
Bu yöntem neden çalışmıyor?
 
Rustam Bikbulatov :

Çok teşekkürler!!! Bana onları nasıl sıfırlayabileceğini söyleme? Örneğin siparişler varsa, o zaman bir hesaplama vardır. Sipariş yoksa sıfırlanır

 int N( const int r= 0 )
  {
   static int n= 0 ;                      
   n = (r== 0 ? n : r== 1 ? n+ 1 : 0 ); // 0-просто возвращаем n, 1-прибавляем 1, в любом другом случае обнуляем
/*
   n = (r>0 ? n+1 : r<0 ? 0 : n ); // 0-просто возвращаем n, больше 0 прибавляем 1, меньше 0 обнуляем
*/
   return n;
  }
 
Konstantin Nikitin :

Hiç hesaplama yok. Sıfır değer. Teşekkür ederim. Bunu halledeceğim)

 
Rustam Bikbulatov :

Hiç hesaplama yok. Sıfır değer. Teşekkür ederim. Bunu halledeceğim)

yani sormak lazım

N( 1 );   // прибавит 1, и вернет новый результат.
N(- 1 ); // обнулит и вернет 0
N();   // вернет тот результат который есть без изменений
 
Konstantin Nikitin :

yani sormak lazım

şeklinde nasıl yapılır?

         if ((fMarketOrdersBuy( OP_BUY )== 0 )) { 
        ...}
         if ((fMarketOrdersBuy( OP_BUY )>= 1 )) {                       
        ...}
 
Konstantin Nikitin :

yani sormak lazım

Bu işleve yapılan çağrıdan bağımsız olarak int'nin kendi kendine çalıştığını fark ettim. void türüne göre değiştirmek mümkün mü? Void sayı olarak sonuç vermiyor