PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 40

 
olyakish :

hangi sayıyı koyduğuna bir örnek verirmisin

20 veya 0.00020?


Tabii ki, 20! Daima noktalarla ayarlayın:

   int       slippage,             // проскальзывание

Ama bu 5 haneli için yeterli değil! Yukarıda zaten tavsiye edilmişti, daha fazla yayılması mantıklı, ancak çifte yayılma daha iyidir!

 
borilunad :

Tabii ki, 20! Daima noktalarla ayarlayın:

Ama bu 5 haneli için yeterli değil! Yukarıda zaten tavsiye edilmişti, daha fazla yayılması mantıklı, ancak çifte yayılma daha iyidir!

Teşekkürler, farkındayım. Size hitap etmeyen bir soruyu cevapladınız.

 
olyakish :

Teşekkürler, farkındayım. Size hitap etmeyen bir soruyu cevapladınız.


Üzgünüm, incelediğinizi bilmiyordum! ;)
 

Terminalde bir kilitlenme günlüğü dosyası yazdığı bir mod var mı?

Terminal hatasız kapandığında sessiz çökmeler demek istiyorum.

Bazen terminalin optimizasyonda çökmesinin nedenini bulmak istiyorum. Strateji dll kullanır. Kodun tamamı, kendi günlüğü ile try - catch içine sarılmıştır, ancak herhangi bir hata göstermez, yine de, terminal bazen büyük genetik ile çöker. Genel sistem tanımlanmamıştır, 100 yinelemede düşebilir veya 10.000'de tamamen aynı bir parametre seti ve aralığı ile hayatta kalabilir.

Görev yöneticisi bellek sızıntılarını göstermiyor (aracın hala bu tür amaçlar için olduğunu anlıyorum, ancak yine de).

 
TomKein :

Terminalde bir kilitlenme günlüğü dosyası yazdığı bir mod var mı?

Terminal hatasız kapandığında sessiz çökmeler demek istiyorum.

Bazen terminalin optimizasyonda çökmesinin nedenini bulmak istiyorum. Strateji dll kullanır. Kodun tamamı, kendi günlüğü ile try - catch içine sarılmıştır, ancak herhangi bir hata göstermez, yine de, terminal bazen büyük genetik ile çöker. Genel sistem tanımlanmamıştır, 100 yinelemede düşebilir veya 10.000'de tamamen aynı bir parametre seti ve aralığı ile hayatta kalabilir.

Görev yöneticisi bellek sızıntılarını göstermiyor (aracın hala bu tür amaçlar için olduğunu anlıyorum, ancak yine de).

Bana göre test cihazındaki dll çalışmıyor yani süreç yavaşlamasın!
 

Neden hakkında hiçbir fikrin olmayan bir şeyi yayınlasın?

 
TomKein :

Terminalde bir kilitlenme günlüğü dosyası yazdığı bir mod var mı?

Terminal size bir çökme bildirirse, onu manuel olarak boşaltabilir ve sonra bununla ilgilenebilirsiniz.

Terminal, bir kilitlenme bildirim penceresi olmadan hemen kapanırsa, döküm kaydının sizin tarafınızdan uygulanması gerekecektir. Bir keresinde Chromium'dan bir proje çıkardım, buna breakpad deniyor , hemen hemen her projeye bağlanmak çok zor değil ve oldukça güvenilir bir şekilde dökümler yazıyor. Bir kerede, dllku ve terminal için hata ayıklandı.

 

Değişken adını dize olarak almanın bir yolu var mı?

 int varTakeProfit = 1 ;
Print ( VarName( varTakeProfit ), " = " , varTakeProfit ); // varTakeProfit = 1

string VarName( int Var )
{
   ???
}
 
#define VarName(x) #x


int varTakeProfit = 1;
Print( VarName( varTakeProfit ), " = ", varTakeProfit ); // varTakeProfit = 1

 
Andrey Khatimlianskii :

Değişken adını dize olarak almanın bir yolu var mı?

MQL'de böyle bir şey yok. Böyle bir sorun ortaya çıkarsa, aşağıdakileri yaparım:

 struct ValueAndName
{
   double    fValue;                     // Значение переменной
   string    sName;                       // Имя переменной

   ValueAndName( double _fValue, string _sName)
   {
      SetData(_fValue, _sName);
   }

   void SetData( double _fValue, string _sName)
   {
      fValue = _fValue;
      sName = _sName;
   }
};

VarAndName g_stVarTakeProfit( 12.0 , "VarTakeProfit" );
VarAndName g_stVarStopLoss( 20.0 , "VarStopLoss" );

void OnStart ()
{
   Print ( "Значение переменной " , g_stVarTakeProfit.sName, " равно: " , g_stVarTakeProfit.fValue);
   Print ( "Значение переменной " , g_stVarStopLoss.sName, " равно: " , g_stVarStopLoss.fValue);
}