Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 373

 
Alexey Viktorov :

Tekrar.

Tüccarın eylemlerinden bahsetmiyorum, herkesin görmesi için yayınladığınız günlüklerden (satırlardan) bahsediyorum.

Diyelim ki terminal loglarında sipariş açma satırının olmaması ve ilk değişikliğinin olması umurlarında değil...

Ama neden aracının günlüklerinde bu siparişin başka bir geçmişi yok ? Siparişin işe yaradığına dair kayıt nerede? Ve etkinleştirilmeden önce değiştirildi mi?

günlükler var, nedense onları mesaja ekleyemiyorum. ve ayak bezleri bir şekilde uygunsuz bir şekilde yayıldı.

----------------------------

uzmanlar için başka bir soru

Aracının geçmiş tarihler için günlük raporları yeniden göndermesi için MT4'te teknik bir olasılık var mı?

örneğin, 2 hafta boyunca rapor almadılar - onları yeniden oluşturmak ve tüccarın e-postasına göndermek mümkün mü?

 
valeriy odintsov :

günlükler var, nedense onları mesaja ekleyemiyorum. ve ayak bezleri bir şekilde uygunsuz bir şekilde yayıldı.

Mesaja günlük eklemek gerekli değildir.

Dikkatinizi komisyoncu günlüğünün sadece bir satırına çektim. Geciktiricinin aktivasyonunu kaydeden.

 

Lütfen bana nasıl yapacağımı söyleyin - MQL4'te alt TF zamanında alt TF'deki üst TF'nin değerini almam gerekiyor.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

 
-Aleks- :

Lütfen bana nasıl yapacağımı söyleyin - MQL4'te alt TF zamanında alt TF'deki üst TF'nin değerini almam gerekiyor.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

iBarShift() işlevi hakkında yardım okuyun
 
Vitalii Ananev :
iBarShift() işlevi hakkında yardım okuyun
Datetime , pos değişkeninin değerlerini almam gerektiği ortaya çıktı ama nasıl yapacağım?
 
-Aleks- :
Datetime , pos değişkeninin değerlerini almam gerektiği ortaya çıktı ama nasıl yapacağım?
pos değişkeni çubuğun sıra numarasını içeriyorsa, Time[pos] işlevini veya iTime (Symbol(),Period() ,pos) işlevini kullanarak bu çubuğun zaman değerini alabilirsiniz.
 
Vitalii Ananev :
pos değişkeni çubuğun sıra numarasını içeriyorsa, Time[pos] işlevini veya iTime(Symbol(),Period() ,pos) işlevini kullanarak bu çubuğun zaman değerini alabilirsiniz.

Evet, ama gün ortasında barın değerine nasıl ulaşacağımı anlayamıyorum?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Çubuğun maksimum değerlerini alıyorum ...

Ve örneğin her 15 dakikada bir gün içinde bir değişiklik yakalamam gerekiyor.

 
-Aleks- :

Evet, ama gün ortasında barın değerine nasıl ulaşacağımı anlayamıyorum?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Çubuğun maksimum değerlerini alıyorum ...

Ve örneğin her 15 dakikada bir gün içinde bir değişiklik yakalamam gerekiyor.

Ne yapmak istediğini tam olarak anlamıyorum. Yanlışsam düzelt. Her N dakikada bir günün maksimum değerlerini almak ister misiniz?
 
Vitalii Ananev :
Ne yapmak istediğini tam olarak anlamıyorum. Yanlışsam düzelt. Her N dakikada bir günün maksimum değerlerini almak ister misiniz?
Doğru.
 
-Aleks- :
Doğru.
O zaman belirli bir süre sonra iHigh(Symbol(), PERIOD_D1 ,0); değerini almanız yeterlidir. Bunu yalnızca henüz tam olarak oluşmamış günlük mum için yapmak mantıklıdır. Ancak geçmiş günlerin değerlerini alırsak, herhangi bir zamanda aynı olacaktır.