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

 
Vladimir Karputov :

O zaman bu doğru:

ve kapatmak mümkün değilse - günlük dosyasına bakın. Milyonlarca sebep olabilir : reddetme, ticaret yasağı, fiyat yok, durma seviyelerinin yakınlığı...

Teşekkür ederim. O zaman şöyle:


 void CloseSellPositions()
  {
   for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--) // returns the number of current positions
	{
          if (m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
             {
             if (m_position.PositionType()== POSITION_TYPE_SELL )
                m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
             }
	}


  }

Sadece parantez eklendi. Yeni başlayanların kafası karışmasın diye.

 

Merhaba. Dosyaları ayırmak için günlük yazmak için bir programda genellikle şöyle bir satır kullanırım:

 StringConcatenate (M, "Начинаем проверять время работы модулей. i=" ,i); Log.write(M, __FILE__ , __LINE__ );

Bu satırı nasıl kısaltacağımı söyler misin? Aslında, aslında burada sadece çıktı satırı ve çıktı aldığım değişkenin adı değişiyor.

Tanımlamada yapmaya çalıştım

 #define LOG(LogPerem,StrMes) StringConcatenate (M,StrMes, "" ); LogPerem.write(M, __FILE__ , __LINE__ );

ama böyle çağırırsanız artık çalışmıyor:

LOG(Log, "i=" ,i);
 
pivomoe :

Merhaba. Dosyaları ayırmak için günlük yazmak için bir programda genellikle şöyle bir satır kullanırım:

Bu satırı nasıl kısaltacağımı söyler misin? Aslında, aslında burada sadece çıktı satırı ve çıktı aldığım değişkenin adı değişiyor.

Tanımlamada yapmaya çalıştım

ama böyle çağırırsanız artık çalışmıyor:

Ön işlemciden anlayan var mı?

Sizin

LOG( "i=" ,i);
açılır
 StringConcatenate (M,i, "" ); "i=" .write(M, __FILE__ , __LINE__ );;

ve derleyiciye beslenen budur.

Komik bile değil. Sadece bir tarif var: rıhtımları, tercihen yerel olanları değil, yerel olanları zaten bir tür terminoloji anlayışını ima ediyor.

Bunu deneyin, belki yardımcı olur: https://metanit.com/cpp/c/3.1.php

С | Препроцессор
  • metanit.com
Препроцессор является обязательным компонентом компилятора языка Си. Препроцессор обрабатывает исходный текст программы до ее непосредственной компиляции. Результатом работы препроцессора является полный текст программы, который передается на компиляцию в исполняемый файл. Для управления препроцессором применяются директивы, каждая из которых...
 
Vladimir Simakov :

Komik bile değil. Sadece bir tarif var: rıhtımları, tercihen yerel olanları değil, yerel olanları zaten bir tür terminoloji anlayışını ima ediyor.

Bunu deneyin, belki yardımcı olur: https://metanit.com/cpp/c/3.1.php

birdenbire ne demek? Bu sana yardımcı oldu mu? define kullanarak hattımı kısaltabilir misin?


Sorumdaki kod satırını değiştirdim

LOG( "i=" ,i);

üzerinde

LOG(Log, "i=" ,i);
 
pivomoe :

Merhaba. Dosyaları ayırmak için günlük yazmak için bir programda genellikle şöyle bir satır kullanırım:

Bu satırı nasıl kısaltacağımı söyler misin? Aslında, aslında burada sadece çıktı satırı ve çıktı aldığım değişkenin adı değişiyor.

Tanımlamada yapmaya çalıştım

ama buna böyle derseniz, artık çalışmıyor:

Görünüm işlevlerinden bir sayfayla sorunumu çözdü:

 template < typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
void Write(T1 var1,T2 var2,T3 var3,T4 var4,T5 var5,T6 var6,T7 var7,T8 var8,T9 var9,T10 var10, string ffile, int line)
  {
   string Str;
   StringConcatenate (Str,var1,var2,var3,var4,var5,var6,var7,var8,var9,var10);
   write(Str,ffile,line);
  }; 

Şimdi böyle çağırdığım programda

   Log.Write( "Test1" , __FILE__ , __LINE__ );  
 
pivomoe :

birdenbire ne demek? Bu sana yardımcı oldu mu? define kullanarak hattımı kısaltabilir misin?


Sorumdaki kod satırını değiştirdim

üzerinde

Yapabilirim. LOG("Metin"); Bunun benim tarafımdan, forumun genişliğinde bir yerde nasıl uygulandığına dair bir örnek verildi - arayın.
 

İyi günler, sorun şu: verileri görüntülemek için özel bir gösterge çağıran bir danışman var, strateji test cihazında her şey yolunda gidiyor, ancak gerçek ticaret modunda danışman başlatıldığında gösterge görüntülenmiyor. Günlükte, başarılı bir şekilde yüklenen özel gösterge yazıyorlar, hışırdar gibi görünüyor, kısa mesaj gönderiyor, ancak göstergeler listesinde grafikte de yok. Aynı zamanda, tutamaçlarla grafiğin üzerine sürüklerseniz, bir şekilde verileri alır ve her şey normal şekilde görüntülenir. Gösterge, Göstergeler klasöründe, iCustom(NULL,0,"Gösterge adı",Count) işlevinde bulunur. Ayrıca #resource "\\Indicators\\Indicator name.ex5", iCustom(NULL,0,"::Indicators\\Indicator name.ex5",Count) eklemeyi denedim ama fark yok. Sebebi ne?

 

gösterge arabelleklerinin mevcut değerlerini kaldırmak için bir ayar var mı? resmi yeniden çiz


 
Bu konuyla ilgili olmayan yorumlar " MQL4 MT4 MetaTrader 4 Yeni Başlayanlardan Sorular " bölümüne taşındı.
 

Sevgili profesyoneller, lütfen bana danışman kodunda haftalık zaman dilimi için RSI değerlerini bir şekilde almanın mümkün olup olmadığını söyleyin, ancak böylece değerler Pazartesi'den değil, örneğin Çarşamba'dan başlayarak hafta için hesaplanır ( yani, Çarşamba'dan sonraki Çarşamba'ya kadar olan hafta için). Anladığım kadarıyla iRSI'nin yardımıyla bu işe yaramayacak mı?

Şimdiye kadar, hesaplama kodunu kendim yazmanın sadece bir yolunu görüyorum. Daha basit veya hazır bir çözüm var mı?