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

 
Igor Makanu :

MT 개발자는 내장 컴파일러 메커니즘을 사용하는 것이 일반 함수를 호출하는 것보다 빠를 것이라고 항상 작성합니다.

시간과 관심이 있다면 ArrayCopy로 내 버전과 당신 버전의 속도를 확인하십시오.

속도는 조금 이따 확인할게요 지금은 PC방이 레슨으로 바쁘네요

나는 ArrayCopy 에 대해 흥분했습니다. 거기에 배열 배열이 있습니다. 이것은 복사되지 않습니다. 요소별로 복사해야 합니다. 네, 당신의 선택이 최선입니다.
 
Alexey Navoykov :
나는 ArrayCopy에 대해 흥분했습니다. 거기에 배열의 배열이 있습니다. 이것은 복사되지 않을 것입니다. 요소별로 복사해야 합니다. 네, 당신의 선택이 최선입니다.

휴 ... 적어도 뭔가가 정리되었습니다))))


다시 말하지만 과제는 MQL이 C와 유사한 언어라는 일반적인 의견이 있지만 IMHO, 이제 "Pluses"보다 Sharp에 더 가깝지만 가능한 한 빨리 C#과 MQL 간에 예제를 이식하는 것입니다.

위 링크에서 실제 예제를 제공했는데 거의 99%가 코드를 복사하여 MQL로 재현(포팅)했습니다. 5-10분 동안 작업

추신: 첨부하고 싶지만 이 코드는 랩톱에 있는 것 같습니다. 기억이 나지 않고 찾아봐야 하지만 컴퓨팅 성능이 있는 집에서 ... 모든 손이 데크에 있음)))

 
Igor Makanu :

휴 ... 적어도 뭔가가 정리되었습니다))))


다시 말하지만 과제는 MQL이 C와 유사한 언어라는 일반적인 의견이 있지만 IMHO, 이제 "Pluses"보다 Sharp에 더 가깝지만 가능한 한 빨리 C#과 MQL 간에 예제를 이식하는 것입니다.

위 링크에서 실제 예제를 제공했는데 거의 99%가 코드를 복사하여 MQL로 재현(포팅)했습니다. 5-10분 동안 작업

추신: 첨부하고 싶지만 이 코드는 랩톱에 있는 것 같습니다. 기억이 나지 않고 찾아봐야 하지만 컴퓨팅 성능이 있는 집에서 ... 모든 손이 데크에 있음)))

그는 명왕성의 궤도에 관해서는 달과 예리한 것까지 플러스입니다. 일반적으로 모든 것이 WinApi의 이미지로 이루어진다는 것이 일반적인 인상입니다. 예, 모두 전문가에 관한 것입니다.

 
Vladimir Simakov :

그는 명왕성의 궤도에 관해서는 달과 예리한 것까지 플러스입니다. 일반적으로 모든 것이 WinApi의 이미지로 이루어진다는 것이 일반적인 인상입니다. 예, 모두 전문가에 관한 것입니다.

당신은 논쟁할 수 있고 당신은 많이 논쟁할 수 있지만, 이미 STL 포팅에 문제가 발생했습니까?

분쟁 프로세스의 속도를 높이려면 .... 플러스에서 STL을 제거한 다음 포인터로 작업하십시오. 결과적으로 MQL 기능을 얻지 마십시오.

그러나 동일한 "remove mine"이 C#에 적용되면 Sharpe의 나머지 부분은 MQL의 기능 측면에서 매우 적절하게 유사할 수 있습니다.

;)

 
Igor Makanu :

당신은 논쟁할 수 있고 당신은 많이 논쟁할 수 있지만, 이미 STL 포팅에 문제가 발생했습니까?

분쟁 프로세스의 속도를 높이려면 .... 플러스에서 STL을 제거한 다음 포인터로 작업하십시오. 결과적으로 MQL 기능을 얻지 마십시오.

그러나 동일한 "remove mine"이 C#에 적용되면 Sharpe의 나머지 부분은 MQL의 기능 측면에서 매우 적절하게 유사할 수 있습니다.

;)

C에서 포인터를 제거하면 C가 없고 stl은 라이브러리일 뿐입니다)))

그리고 날카로운 물체에서 무엇을 제거하도록 제안합니까?))) 동일한 효과가 나타납니다.

그건 그렇고, mql의 템플릿은 여전히 C#의 일반 템플릿이 아니라 C의 템플릿입니다(컴파일 시간). 그리고 Sharpe에는 매크로 대체가 없습니다)).

 
Vladimir Simakov :

C에서 포인터를 제거하면 C가 없고 stl은 라이브러리일 뿐입니다)))

그리고 날카로운 물체에서 무엇을 제거하도록 제안합니까?))) 동일한 효과가 나타납니다.

그건 그렇고, mql의 템플릿은 여전히 C#의 일반 템플릿이 아니라 C의 템플릿입니다(컴파일 시간). 그리고 Sharpe에는 매크로 대체가 없습니다)).

Igor Makanu 와 논쟁하는 데 시간과 에너지를 낭비할 가치가 없다고 생각합니다.
연습생 수준의 진부한 문제를 이해하지 않고 상급자 수준의 높은 문제에 대해 이야기하려고 합니다.


 
Igor Makanu :

당신은 논쟁할 수 있고 당신은 많이 논쟁할 수 있지만, 이미 STL 포팅에 문제가 발생했습니까?

분쟁 프로세스의 속도를 높이려면 .... 플러스에서 STL을 제거한 다음 포인터로 작업하십시오. 결과적으로 MQL 기능을 얻지 마십시오.

그러나 동일한 "remove mine"이 C#에 적용되면 Sharpe의 나머지 부분은 MQL의 기능 측면에서 매우 적절하게 유사할 수 있습니다.

;)

STL은 라이브러리일 뿐입니다. 그것의 사용 여부는 어떤 식으로든 언어의 기능에 영향을 미치지 않습니다. 그들은 여전히 MQL보다 2배 더 높을 것입니다.

그리고 Sharpe는 어레이에서만 MQL과 유사합니다. 다른 모든 측면에서 MQL은 1999년 이전의 C++와 유사합니다.

 
Sergey Dzyublik :

Igor Makanu 와 논쟁하는 데 시간과 에너지를 낭비할 가치가 없다고 생각합니다.
연습생 수준의 진부한 문제를 이해하지 않고 상급자 수준의 높은 문제에 대해 이야기하려고 합니다.

논쟁하지 말고 시간을 낭비하지 마십시오. Sergey Dzyublik 주제에 글을 쓰지 않은 것 같습니다. 대답하십시오! ;)

스레드의 제목을 보았습니까? - 내 질문이 이 주제에 해당합니까? - 일반적으로 아무도 오늘의 과제로 당신의 자아를 기쁘게 하도록 설정하지 않았습니다.)))

블라디미르 시마코프 :

C에서 포인터를 제거하면 C가 없고 stl은 라이브러리일 뿐입니다)))

예,이 모든 것이 명확하지만 고급 언어는 이제 기성품 솔루션에 대해 흥미 롭습니다. 그렇지 않으면 여전히 반나절 동안 앉아있을 것입니다 인쇄 () 작성)))

알렉세이 나보이코프 :

그리고 Sharpe는 어레이에서만 MQL과 유사합니다. 다른 모든 측면에서 MQL은 1999년 이전의 C++와 유사합니다.

아마 요점에

 
Igor Makanu :

당신은 논쟁할 수 있고 당신이 많이 논쟁할 수 있지만, 이미 STL 포팅에 문제가 발생했습니까?

std::vector를 C++에서 MQL로 이식하는 동안 발생한 주요 문제:
1) 버그 (그리고 그게 다가 아닙니다).
2) 표준 기능은 특정 데이터 유형에 대해서만 적절하게 작동합니다(최대 속도를 위해 유형에 따라 조건부 컴파일을 지원하는 범용 ArrayCopy, ArrayFill을 수동으로 작성해야 함).
3) 표준 함수는 특정 데이터 유형에 대해 매우 느리게 작동합니다(간단한 데이터 유형에 대해 Resize+Reserve로 빠르게 작업하려면 ArrayResize를 수동으로 작성해야 함).
4) 그리고 네 번째 위치는 기능 부족입니다. "typedef 선언"이 없습니다(#define 우회, 클래스 및 구조 상속, 단순 유형에 대한 래퍼 클래스 사용).


 
MQL이 어떤 언어인지는 별로 중요하지 않습니다. 가장 중요한 것은 이론상 동일한 C ++보다 높은 수준이어야 하고 그 위의 코드는 더 간단하고 간결해야 한다는 것입니다. 그러나 실제로는 그 반대입니다. MQL 코드는 훨씬 더 복잡하고 서투르다. 목발로 많은 일을 해야 합니다.