MQL5'te OOP hakkında sorular - sayfa 76

 
awsomdino :

Saber'den bir örnek almalı, gerçek amacını bilmiyorum ama onun eğer varsa ağacını gördüm) orada ihtiyacın olanı almalıydın. Buraya geldiğimde hemen nasıl yapacağıma dair bir sorum vardı ve nasıl uygulanacağını araştırdım, her şeyi yeniden okudum - gerçekten sadece zaman kaybettim, doğru uygulama yok, birçok makale ve her yerde kendim . Burada koddan pek bir şey anlamadığınızda ve 5 yol ayrımında durup nereye gideceğinizi düşünmeniz gerçekten sinir bozucu. Burada karlı bir ticaret sistemi bulup bulamayacağınıza dair bir soru bile yok, ilk soru - burada doğru optimal yolu bulabilecek misiniz) - Bu bizim sevgili MQL5'imiz.

bu yüzden açıkça karlı bir araç aramanız gerektiğini, aracı kullanabileceğiniz araçları aramanız gerektiğini söylüyor - sürekli ve hızlı bir şekilde aramanız gerekiyor

ve sinyallerinde TS sonucu gösterdi, sonra çalışmayı durdurdu, sonra TS'yi tekrar açtı (yeni parametrelerle seçtiğinden şüpheleniyorum), TS tekrar yükseldi, sonra tekrar çalışmayı durdurdu

onlar. her zaman çalışmak ve aramak zorunda kalacaksınız, soru EA uygulamasına koyduğunuz işlevsellikte, bu işlevsellik esnekse ve hızlı bir şekilde optimize etmenize ve nerede uygulanacağını araçları aramanıza izin veriyorsa, o zaman her şeye sahipsiniz

ancak belirli bir enstrüman üzerinde mevcut tüm geçmiş üzerinde testi geçecek tek bir EA aramak için…. Pekala, bunu zaten yaptım, orada hiçbir şey olmadığını düşünüyorum.

 

Igor burada koddan bahsediyoruz)

ve ben de sistemlerini sevmiyorum, yarı hile

Eskrim veya Kendo'ya dikkat etmeniz gerekiyor

 
awsomdino :

Igor burada koddan bahsediyoruz)

ve ayrıca sistemlerini sevmiyorum, hile yapmak

Genelde burada bir kitap okurum))) ("Aptalsız programlama")

Sistemini bilmiyorum ama tasarım bürolarından kodlar kullanıyorum - çok zaman kazandırdı, hatta diyebilirim ki - özellikle kodlarını sürekli desteklediği için alıp kullanabileceğiniz sağlam bir altyapı oluşturmuş.

 
awsomdino :

sınıflar, kalıtım, sanallaştırma, şablonlar, kendi kendini yetiştirmiş biri olarak bunu anlamak benim için çok zordu, biraz anladım ve bıraktım OOP, insanların robotlarında nasıl rahatsız olduklarını hayal bile edemiyorum - kullanmanız gereken tüm bunlar, sadece gösteriş yap. Yapılar maksimum

Bu çizime ihtiyacı olan Semka çizimiyle ayrıldı, sonra kendileri ve sevdikleri için para kazanmaya geldiler, geliştiriciler ona acımadı tabii. Peter, ticaret dışında her şey). Gereksiz işlevleriyle programcıların toz haline getirilmiş beyinleri

 #define LOG(dText) CLog::Get().Log(( string ) __LINE__ , __FUNCSIG__ ,dText)

class CLog{
   CLog() {}
public :
   static CLog* Get() { static CLog _log; return &_log;}
   void Log( string line, string sig, string text) { PrintFormat ( "Line: %s. Signature: %s. %s" ,line,sig,text);}
};
//+------------------------------------------------------------------+
void OnStart ()
{
   LOG( "Example 1" );
   Test();
}
//+------------------------------------------------------------------+
void Test(){
   string t= "Example 2" ;
   LOG(t);
}

Burada hem OOP hem de makro ikamesi ve hatta basit bir yalnızınız var (bu, hız bilenler içindir). Örnek olarak yazılmıştır ve bu nedenle, elbette, yapıcıda oturum açmak için bir dosya oluşturabilir, buna Log (...) yazabilir ve yıkıcıda kapatabilirsiniz. Bu, tüm bunların neden gerekli olduğunun bir örneğidir. Tabii ki, işlevler üzerinde de taksi yapabilirsiniz, ancak kendi dosyanızı korursanız, bir şekilde daha fazla kod olacak ve global değişkenler büyüteceksiniz ve bu, olduğu gibi Ortodoks değil)))

 
Vladimir Simakov :

Burada hem OOP hem de makro ikamesi ve hatta basit bir yalnızınız var (bu, hız bilenler içindir). Örnek olarak yazılmıştır ve bu nedenle, elbette, yapıcıda oturum açmak için bir dosya oluşturabilir, buna Log (...) yazabilir ve yıkıcıda kapatabilirsiniz. Bu, tüm bunların neden gerekli olduğunun bir örneğidir. Tabii ki, işlevler üzerinde de taksi yapabilirsiniz, ancak kendi dosyanızı korursanız, bir şekilde daha fazla kod olacak ve global değişkenler büyüteceksiniz ve bu, olduğu gibi Ortodoks değil)))

teşekkürler, örneği kaydedeceğim

 
awsomdino :

teşekkürler, örneği kaydedeceğim

İşin püf noktası, kaydetmenin değil, anlamanın gerekli olmasıdır. Anlayan hemen burada yalnızlığa gerek olmadığını ve nafik'e gerek olmadığını yazacak ama her şey şuna indirgenebilir.

 #define LOG(dText) CLog::Log(( string ) __LINE__ , __FUNCSIG__ ,dText)

class CLog{
public :
   static void Log( string line, string sig, string text) { PrintFormat ( "Line: %s. Signature: %s. %s" ,line,sig,text);}
};
//+------------------------------------------------------------------+
void OnStart ()
{
   LOG( "Example 1" );
   Test();
}
//+------------------------------------------------------------------+
void Test(){
   string t= "Example 2" ;
   LOG(t);
}
 
Vladimir Simakov :

İşin püf noktası, kaydetmenin değil, anlamanın gerekli olmasıdır. Anlayan hemen burada yalnızlığa gerek olmadığını ve nafik'e gerek olmadığını yazacak ama her şey şuna indirgenebilir.

teşekkür ederim, bu uzun zamandır anladığım bir kod)

bu arada, varsayılan biçimde kod yazmak daha iyi, öyle nüanslardaydı ki çok takıldım

 _Symbol
Symbol ();

symbolinfo ve diğer açık noktalar, dikkati ve zamanı büyük ölçüde bozdu

ne diyeyim hala %100 bilgi yok ve bunlardan ne kullanılması gerektiği soruluyor. çılgın.

 
Vladimir Simakov :

İşin püf noktası, kaydetmenin değil, anlamanın gerekli olmasıdır. Anlayan hemen burada yalnızlığa gerek olmadığını ve nafik'e gerek olmadığını yazacaktır ama her şey şuna indirgenebilir.

anlayan biri buraya OOP'ye gerek olmadığını yazar, onu bir işlev çağrısı ile değiştirebilirsiniz.

ve sonra tekrar iki kampa ve birkaç sayfa için bir karmaşaya))))

 
Igor Makanu :

anlayan biri buraya OOP'ye gerek olmadığını yazar, onubir işlev çağrısı ile değiştirebilirsiniz.

ve sonra tekrar iki kampa ve birkaç sayfa için bir karmaşa)))

Aferin! Doğru şekilde! Ama bu?

 #define LOG(dText) CLog::Ptr().Log(( string ) __LINE__ , __FUNCSIG__ ,dText)

class CLog{
   int cHndl;
   CLog():cHndl( FileOpen ( MQLInfoString ( MQL_PROGRAM_NAME )+ _Symbol +( string )( int ) TimeCurrent ()+ ".log" , FILE_TXT | FILE_WRITE )){}
  ~CLog() { FileClose (cHndl);}
public :
   static CLog* Ptr() { static CLog _log; return &_log;}
   void Log( string line, string sig, string text){
       string _text= StringFormat ( "Line: %s. Signature: %s. %s" ,line,sig,text);
       PrintFormat (_text);
       FileWrite (cHndl,_text);}
};

Zaten daha zor olduğunu kabul edin)))

 
Vladimir Simakov :

Aferin! Doğru şekilde! Ama bu?

Zaten daha zor olduğunu kabul edin)))

sınıfların olduğu ve arabanın olduğu yer)

* ve & şaşırtabilir

karmaşık kod değil, sınıftaki tek kolaylık, yıkıcılı bir kurucu, henüz başka bir avantaj görmüyorum,

yapılar çalışmak için daha uygun ve daha az kafa karıştırıcı., neden bahsediyorum, yapılarda)

birçoğu yapıların olanaklarını bile bilmiyor veya anlamıyor. Barabashka, kodlarında ancak son zamanlarda yaygın olarak kullanılmaya başlandı.