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

 

geldi, değişti

   uint n= 0 ;

hatalar gitti. Teşekkür ederim.

 
Sergey Voytsekhovsky :

geldi, değişti

hatalar gitti. Teşekkür ederim.

Bunlar hata değil uyarıdır.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

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

Artyom Trishkin , 2019.05.20 15:16

n ve period_find değişkenlerinin türleri nelerdir? En önemli şey gösterilmedi ...

O zaman dene:

 for (n= 0 ; n<( int )period_find; n++)

Genel olarak - neden OnTick() işleyicisi düzeyinde bir döngü değişkeni bildiriyorsunuz?

Böyle mümkün mü:

 for ( int n= 0 ; n<( int )period_find; n++)

Ve n bildirimini OnTick()'ten kaldırın - orada buna gerek yok.


 
Artyom Trishkin :

Bunlar hata değil uyarıdır.


Harika, şimdi düzelteceğim.

Bunu küstahlık olarak algılamayın, bu durumda "Okların" oluşturulduğu fiyatların değerlerini nasıl elde edeceğime dair bir ipucu verin. Zaten indekslerine sahip olduğum gerçeğine dayanarak. ???

 

Şimdi bir arkadaşına yemin ediyor:

'n' - bildirilmemiş tanımlayıcı Test_iCustom.mq5 82 48

Görünüşe göre n, bulunan dizin olarak döngü dışında kullanıldığı için ???
 
         for(int n=0; n<(int)period_find; n++)
            {
               if(Buf_Arrow_Buy[n]!=EMPTY_VALUE)break;
            }
         Last_Arrow_Buy_volume = Buf_Arrow_Buy[n];
         Last_Arrow_Buy_index  = n;
 
Sergey Voytsekhovsky :

Harika, şimdi düzelteceğim.

Bunu küstahlık olarak algılamayın, bu durumda "Okların" oluşturulduğu fiyatların değerlerini nasıl elde edeceğime dair bir ipucu verin. Zaten indekslerine sahip olduğum gerçeğine dayanarak. ???

Aynı anda birden fazla fiyat alıyorsanız, iOpen( ) veya CopyOpen () veya CopyRates() .

Bana göre göstergede çubukların açılış fiyatlarında grafikte oklar yer alıyor.

Документация по MQL5: Доступ к таймсериям и индикаторам / iOpen
Документация по MQL5: Доступ к таймсериям и индикаторам / iOpen
  • www.mql5.com
Значение цены открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError(). Функция всегда возвращает актуальные данные, для этого она при каждом вызове делает запрос к таймсерии по указанным символу/периоду. Это означает...
 
Artyom Trishkin :

Aynı anda birden fazla fiyat alıyorsanız, iOpen( ) veya CopyOpen () veya CopyRates() .

Bana göre göstergede çubukların açılış fiyatlarında grafikte oklar yer alıyor.

Evet, şunu söylüyor:

SetArrow(prefix+ "ChartArrowUP_" + TimeToString (time[i]),InpColorBullishArrow,time[i],open[i],( char ) 241 , ANCHOR_TOP ,InpArrowSize);

iOpen() 'i deneyeceğim.

Ve n yerine başka bir değişken ekleyin veya bunu yapabilirsiniz:?

   int n= 0 ;
   
   if ( CopyBuffer (CrossAD, 1 , 0 , period_find, Buf_Arrow_Buy) != period_find)
      {  
         Print ( "НЕ удалось правильно скопировать данные из 1-го буфера индикатора iCrossAD, error code %d" , GetLastError ());
         return ;
      }
         for (n= 0 ; n<( int )period_find; n++)
            {
               if (Buf_Arrow_Buy[n]!= EMPTY_VALUE ) break ;
            }
         Last_Arrow_Buy_volume = Buf_Arrow_Buy[n];
         Last_Arrow_Buy_index  = n;
         Print ( "Last_Arrow_Buy_volume = " ,Last_Arrow_Buy_volume, ", Last_Arrow_Buy_index = " ,Last_Arrow_Buy_index);
 
Sergey Voytsekhovsky :

Bir döngü değişkeninin kapsamı , döngü gövdesiyle sınırlıdır. Ara vermeden önce istediğiniz değerleri atayın:

 //+------------------------------------------------------------------+
for ( int i= 0 ; i<( int )period_find; i++)
  {
   if (Buf_Arrow_Buy[i]!= EMPTY_VALUE )
     {
      Last_Arrow_Buy_volume = Buf_Arrow_Buy[i];
      Last_Arrow_Buy_index  = i;
       break ;
     }
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin :

Bir döngü değişkeninin kapsamı , döngü gövdesiyle sınırlıdır. Ara vermeden önce istediğiniz değerleri atayın:

Anlaşıldı, bu şekilde çalışıyor, hiçbir uyarı yok.

Lütfen bana, break'den önce, döngü gövdesindeki hesaplamalarla nasıl daha koşer olduğunu söyleyin ; veya bir döngüden hesaplamalar yapmak daha iyidir???

 
Sergey Voytsekhovsky :

Anlaşıldı, bu şekilde çalışıyor, hiçbir uyarı yok.

Lütfen bana, break'den önce, döngü gövdesindeki hesaplamalarla nasıl daha koşer olduğunu söyleyin ; veya bir döngüden hesaplamalar yapmak daha iyidir???

Hesaplamalar nelerdir?