MQL5의 OOP에 대한 질문 - 페이지 76

 
awsomdino :

Saber의 예를 들어야 합니다. 그의 진정한 목표는 모르지만 그의 if else 트리를 봤습니다. 거기에서 필요한 것을 얻어야 했습니다. 여기에 왔을 때 즉시 수행하는 방법에 대한 질문이 있었고 구현 방법을 찾고 모든 것을 다시 읽었습니다. 정말 시간만 낭비했습니다. . 여기 코드에서 많은 것을 이해하지 못하고 5차로 갈림길에 서서 어디로 가야할지 생각하면 정말 답답합니다. 여기에서 수익성 있는 거래 시스템을 찾을 수 있는지 여부에 대한 질문조차 없습니다. 첫 번째 질문은 - 여기에서 올바른 최적의 방법을 찾을 수 있습니까? - 이것은 우리의 친애하는 MQL5입니다.

그래서 그는 수익성있는 차량을 찾고 차량을 사용할 수있는 도구를 찾아야한다고 공개적으로 말합니다. 지속적으로 필요하고 신속하게 검색해야합니다.

그리고 그의 신호에서 TS는 결과를 보여주고 작동을 멈췄고 그는 TS를 다시 켰습니다(그가 새로운 매개변수를 선택했다고 생각합니다). TS가 다시 올라갔다가 다시 작동을 멈췄습니다.

저것들. 항상 작업하고 검색해야 합니다. 문제는 EA 구현에 넣는 기능에 있습니다. 이 기능이 유연하고 적용할 도구를 빠르게 최적화하고 검색 할 수 있다면 모든 것을 갖추게 됩니다.

그러나 하나의 특정 기기에서 사용 가능한 전체 기록에 대한 테스트를 통과할 하나의 단일 EA를 찾으려면 .... 글쎄, 나는 이미 이것을 했고 거기에는 아무것도 없다고 생각합니다.

 

Igor 우리는 여기에서 코드에 대해 이야기하고 있습니다)

그리고 그의 시스템도 마음에 들지 않습니다.

펜싱이나 검도에주의를 기울여야합니다.

 
awsomdino :

Igor 우리는 여기에서 코드에 대해 이야기하고 있습니다)

그리고 나는 또한 그의 시스템이 마음에 들지 않는다.

나는 일반적으로 여기에서 책을 읽습니다))) ("바보 없이 프로그래밍")

나는 그의 시스템을 모르지만 디자인 국의 코드를 사용합니다. 그는 많은 시간을 절약했습니다. 그는 특히 그의 코드를 지속적으로 지원하기 때문에 가져갈 수 있고 사용할 수 있는 강력한 인프라를 만들었습니다.

 
awsomdino :

클래스, 상속, 가상화, 템플릿, 독학으로 이것을 이해하는 것이 매우 어려웠습니다. 조금 이해하고 OOP를 포기했습니다. 사람들이 로봇에서 어떻게 귀찮게하는지 상상조차 할 수 없습니다. 사용해야합니다. 이 모든 것, 그냥 과시하십시오. 최대 구조

Semka는이 그림이 필요한 그림을 가지고 떠났고 자신과 사랑하는 사람들을 위해 돈을 벌기 위해 왔습니다. 물론 개발자는 그를 불쌍히 여기지 않았습니다. Peter, 무역 이외의 모든 것). 불필요한 기능을 가진 프로그래머의 두뇌 가루

 #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);
}

여기에 OOP와 매크로 대체가 있으며 단순한 외톨이도 있습니다(속도에 대한 감정가를 위한 것입니다). 예를 들어 작성했으므로 당연히 생성자에 로깅하기 위한 파일을 만들고 Log(...)로 쓰고 소멸자에서 닫을 수 있습니다. 이것이 모두 필요한 이유의 예입니다. 물론, 당신은 또한 함수를 택할 수 있지만, 당신이 당신 자신의 파일을 유지한다면, 어떻게든 더 많은 코드가 있을 것이고, 당신은 전역 변수 를 키울 것입니다, 그리고 이것은 말하자면, 정통이 아닙니다))))

 
Vladimir Simakov :

여기에 OOP와 매크로 대체가 있으며 단순한 외톨이도 있습니다(속도에 대한 감정가를 위한 것입니다). 예를 들어 작성했으므로 당연히 생성자에 로깅하기 위한 파일을 만들고 Log(...)로 쓰고 소멸자에서 닫을 수 있습니다. 이것이 모두 필요한 이유의 예입니다. 물론, 당신은 또한 함수를 택할 수 있지만, 당신이 당신 자신의 파일을 유지한다면, 어떻게든 더 많은 코드가 있을 것이고, 당신은 전역 변수 를 키울 것입니다, 그리고 이것은 말하자면, 정통이 아닙니다))))

감사합니다 예를 저장하겠습니다

 
awsomdino :

감사합니다 예를 저장하겠습니다

비결은 저장하는 것이 아니라 이해할 필요가 있다는 것입니다. 이해하는 사람은 외톨이가 여기에 필요하지 않고 nafik이 필요하지 않다고 즉시 쓰지만 모든 것이 다음으로 축소 될 수 있습니다.

 #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 :

비결은 저장하는 것이 아니라 이해할 필요가 있다는 것입니다. 이해하는 사람은 외톨이가 여기에 필요하지 않고 nafik이 필요하지 않다고 즉시 쓰지만 모든 것이 다음으로 축소 될 수 있습니다.

고마워, 이것은 내가 오랫동안 이해하는 코드입니다)

그건 그렇고, 기본 형식으로 코드를 작성하는 것이 더 낫습니다. 너무 뉘앙스에있어 매우 붙어있었습니다.

 _Symbol
Symbol ();

symbolinfo 및 기타 명확한 점, 주의와 시간을 크게 망쳤습니다.

내가 말할 수있는 것은 아직 100 % 정보가 없으며 무엇을 사용해야하는지에 대한 질문이 있습니다. 날뛰다.

 
Vladimir Simakov :

비결은 저장하는 것이 아니라 이해할 필요가 있다는 것입니다. 이해하는 사람은 외톨이가 여기에 필요하지 않고 nafik이 필요하지 않다고 즉시 쓰지만 모든 것이 다음으로 축소 될 수 있습니다.

이해하는 사람은 여기에 OOP가 필요하지 않다고 쓸 것입니다 . 함수 호출 로 대체할 수 있습니다.

그런 다음 다시 두 개의 캠프와 여러 페이지에 대한 혼란)))

 
Igor Makanu :

이해하는 사람은 여기에 OOP가 필요하지 않다고 쓸 것입니다 . 함수 호출 로 대체할 수 있습니다.

그런 다음 다시 두 개의 캠프와 여러 페이지에 대한 혼란)))

잘하셨어요! 바르게! 하지만 이것은?

 #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);}
};

이미 더 어렵다는 데 동의합니다)))

 
Vladimir Simakov :

잘하셨어요! 바르게! 하지만 이것은?

이미 더 어렵다는 데 동의합니다)))

수업이 있고 버기가있는 곳)

* 및 &는 놀라게 할 수 있습니다.

복잡하지 않은 코드, 클래스의 유일한 편리함, 소멸자가 있는 생성자, 다른 이점은 아직 보지 못하고,

구조는 연구하기에 더 편리하고 덜 혼동됩니다. 내가 말하는 것은 구조에 있습니다)

많은 사람들은 구조의 가능성을 모르거나 이해하지도 못합니다. Barabashka는 최근에야 그의 코드에서 널리 사용되기 시작했습니다.