전문 프로그래머로서 "터미널"에서 바라는 것. MQL5에 대한 소망이 있는 또 다른 주제. - 페이지 8

 
그러나 모든 JMP의 if() - 무조건 또는 조건은 여전히 분기 중입니다.
 
MQL5 개발자와의 인터뷰에서 이제는 인터프리터의 바이트 코드가 아니라 플랫폼의 x86 코드로 컴파일될 것이라고 말했습니다. 즉, 원칙적으로 터미널 작업을 위한 API를 분해하여 볼 수 있습니다. 이를 바탕으로 라이브러리를 작성하고 적어도 VC ++로 작성할 수 있습니다.
 

테스터 결과에서 위치를 더블 클릭하여 차트의 이벤트로 이동하는 것이 매우 편리할 것 입니다.

그동안 손으로 그 순간을 찾아야 하는데, 귀찮다.

 
majestic >> :

테스터 결과의 한 위치를 더블 클릭하면 차트의 이벤트로 이동하는 것이 매우 편리할 것입니다.

그동안 손으로 그 순간을 찾아야 하는데, 귀찮다.

이미 있는 것이 적합하지 않습니까?

 

MProgrammer, 차트를 그릴 dotnet 모듈이 왜 필요한가요? 또한 MQ는 이러한 차트 모듈을 타사 프로그래머에게 무료로 제공하는 데 어떤 관심을 가지고 있습니다.

이제 MQL4로 작성된 스크립트 또는 표시기를 사용하여 개체를 로드 및 표시하는 일반 파일을 통해 차트에 표시되어야 하는 C#에서 계산된 데이터를 제공할 수 없습니까? 즉, C# 프로그램 >> 데이터 >> 파일 >> 스크립트, 표시기 또는 Expert Advisor에 의한 동기 액세스입니다.

C# 또는 익숙한 다른 프로그래밍 언어로 Expert Advisor를 만들고 싶다면 다음과 같이 MT와 통신 체인을 만들 수 있습니다.


고문:

MQL4 Expert Advisor >> Dll >> 동기화 소켓 >> C# 프로그램(따옴표로 작업) >> (결과) >> 동기화 소켓 >> Dll >> MQL4 Expert Advisor(객체 그래프 표시, 열기 및 닫기 위치)


옵티마이저 또는 테스터용:

MQL4 스크립트 >> Dll >> 동기화 소켓 >> C# 프로그램(따옴표로 작업, 다중 실행) >> (결과) >> 동기화 소켓 >> Dll >> MQL4 Expert Advisor(개체 그래프 및 실행 위치 표시 테스터 후)


이 접근 방식의 장점:

- 모든 언어가 높기 때문에 익숙한 언어와 환경에서 프로그램을 개발할 수 있습니다. 레벨은 이제 소켓 작업을 지원합니다.

- 전략 프로그램의 디버그가 가능하다.

- 컴퓨팅 성능이 프로세서(여러 스레드)와 네트워크의 컴퓨터에 분산되어 있는 자신만의 옵티마이저를 만들 수 있습니다.

(물론 배포에는 많은 작업이 필요하지만 때로는 최적화 속도가 증가합니다). 예를 들어, 집에서 데스크탑 컴퓨터에서 옵티마이저를 실행하면 로컬 홈 네트워크를 통해 랩톱에 실행의 일부를 제공할 뿐만 아니라 친구의 컴퓨터, 심지어 최적화 모듈이 있는 직장 컴퓨터에도 제공할 수 있습니다. 또한 실행 중입니다(자신의 목적을 위한 사무실 용량의 무단 사용 :)).


빼기:

- DLL로의 데이터 전송은 MQL4에서 편리하게 구현되지 않습니다. 즉, 구조체와 구조체의 배열은 전달할 수 없으며 이중 배열만 가능하지만 MQL5는 이 문제를 해결하겠다고 약속했습니다.

msvc++가 다른 데이터 유형보다 double에서 더 빠르게 작동한다는 점을 감안할 때 기존 접근 방식이 편리하지는 않지만 훨씬 더 나을 수 있습니다.

- 통신 모듈을 만들고 이 비즈니스를 디버그해야 합니다(그러나 전문 프로그래머에게는 문제가 없습니다. 주제 작성자가 말했듯이 자신의 차트를 만드는 것보다 쉽습니다)


점 및 Java용 소켓에서 직접 통신 모듈을 구현하고 싶습니다. 지금 저는 Delphi에 유사한 모듈이 있고 WM_COPYDATA 메시지를 사용하고 있습니다. 잘 작동하며 실생활에서 mt 및 거래와 관련된 프로그램에서 사용됩니다.

그건 그렇고, 나는 최근에 Java와 C++에서 실수와 정수에 대한 작업으로 테스트를 했습니다.

일반적으로 -server 모드에서 Java 시스템을 사용하는 경우 두 번째 또는 세 번째 실행부터 정수 작업에 대한 Java 테스트 속도가 MSVC ++ 프로그램을 추월합니다.

이중 데이터 유형의 경우 msvc++가 Java를 능가하지만 float 유형을 사용하는 경우 Java가 가장 선호됩니다. 즉, 실행 중에 Java 프로그램의 동적 최적화가 있습니다.

나는 C#에서 어떤 테스트도 하지 않았지만 Delphi에서는 실망했습니다. 속도 테스트에서 C++와 Java 모두에 뒤쳐집니다. 많은 작은 개체(정렬, 이동, 삭제, 생성)로 작업할 때일 수 있지만 델파이는 최상의 측면에서 스스로를 보여줄 것입니다.

 

친애하는, GOTO에 대해 몇 마디 말씀드리겠습니다.

이 모든 이야기는 일부 사람들이 향수를 가지고 기억하는 고대 개인용 컴퓨터가 등장하기 훨씬 전에 시작되었습니다.

"상황은 다익스트라의 유명한 글 " 고토 연산자의 해로움 "의 68년에 등장하면서 완전히 폭파되었고, 이것은 단 하나의 프로그램도 goto 연산자 없이는 할 수 없는 시기에 였습니다. 그것이 밝혀졌습니다. "프로그래머의 자질은 프로그램에서 사용한 점프 구문의 수에 반비례한다. 프로그래밍 분야는 물론 프로그래밍 방법론 전반에 걸쳐 혁명적인 충격이었다."

그런 다음 구조적 프로그래밍에 대한 일련의 작업이 있었습니다. 여기에서 시퀀스, 분기 및 루프의 3가지 기본 구조를 사용하여 GOTO 없이 모든 프로그램을 그릴 수 있음을 보여주었습니다. 어디선가 Hoare의 Structural Programming 책이 놓여 있었습니다. 정확히 기억은 나지 않지만, 아마도 Wirth가 그곳의 두 번째 저자였을 것입니다.

"69년에 파스칼 언어가 등장하여 가장 순수한 형태로 다익스트라의 아이디어를 실현했습니다."

" 그러면 goto 문을 사용할 수 있습니까, 사용할 수 없습니까? 1974년 Knuth의 기사 "Goto 문을 사용한 구조적 프로그래밍"이 나타났습니다.

등. 등.

간단히 말해서, 논의는 오래전에 중단되었고 GOTO의 사용은 권장되지 않으며 모든 종류의 중단, 연속, 종료, 중단, hende hox 및 기타 GOTO 대체가 나타났지만 연산자는 여러 언어로 보존되었습니다. MQL 개발자는 이 이야기에 익숙하다고 생각합니다. 이것이 MQL5에 GOTO가 없는 이유입니다. 그들은 전통적으로 동기를 자동으로 "숨긴다"는 것이 분명합니다. :-)

 

할아버지에게
누구나 프로그래머를 부끄럽게 하고 비난할 수 있고,
특히 부끄러움을 부끄럽게 할 수 있는 사람은 책 표지가 무슨 색인지 모르는 사람이다.
"구조적 프로그래밍"이며 작성자가 Yodan(Jordan)인지 모름
예, 그리고 GOTO 구타 날짜는 달에 미국인의 착륙으로 조정되지만 왜?
또한 C#이 출시된 후 일어난 사건에 대해 알지 못하며 그 이유는 무엇입니까?
그리고 마지막으로 - Dijkstra 시대에 프로그램의 GOTO 수가 50%에 도달했습니다.)))),
그러나 자격 이외의 이유로.
당신에게 더 명확하게하기 위해 이것은 누군가가 말할 것과 같은 것입니다 - 사소한 수리 횟수를 줄여 할아버지의 작업을 평가하기 위해
- 수리 횟수가 적을수록 할아버지의 자격이 높아집니다.

할아버지가 더 잘 일하게 하려면 도구를 치워라.

 
Korey писал(а) >>

할아버지에게
누구나 프로그래머를 부끄럽게 하고 비난할 수 있고,
특히 부끄러움을 부끄럽게 할 수 있는 사람은 책 표지가 무슨 색인지 모르는 사람이다.
"구조적 프로그래밍"이며 작성자가 Yodan(Jordan)인지 모름
예, 그리고 GOTO 구타 날짜는 달에 미국인의 착륙으로 조정되지만 왜?
또한 C#이 출시된 후 일어난 사건에 대해 알지 못하며 그 이유는 무엇입니까?
그리고 마지막으로 - Dijkstra 시대에 프로그램의 GOTO 수가 50%에 도달했습니다.)))),
그러나 자격 이외의 이유로.
당신에게 더 명확하게하기 위해 이것은 누군가가 말할 것과 같은 것입니다 - 사소한 수리 횟수를 줄여 할아버지의 작업을 평가하기 위해
- 수리 횟수가 적을수록 할아버지의 자격이 높아집니다.

할아버지가 더 잘 일하게 하려면 도구를 치워라.

친애하는 한국, 나는 만일을 대비하여 내 게시물을 여러 번 다시 읽었습니다 ... 하나님에 의해 나는 누군가를 비방하거나 수치심을 주려는 암시를 보지 못합니다.

예, 이것은 내 생각에 없었습니다. 나는 30 년 전에 토론의 주제를 만났습니다 ... 그리고 할아버지는 다리가 어디에서 자라는지 말하기로 결정했습니다. :-)

그리고 "Structural Programming"에 관해서는 - 예, W. Dahl, E. Dijkstra, K. Hoar "Structural Programming", M., "Mir", 1975년과 같은 두꺼운 노란색 페이퍼백 책이 있습니다.

그리고 마지막으로, 나는 지난 일에 대해 이야기하고 있으며, 지난 세기의 모든 책을 가지고 있으며, 나는 실제 프로그래머가 아니기 때문에 정말로 "C #의 출시 이후의 사건을 모릅니다" 오랫동안. 그래서 나는 작은 회사에서 장비 파수꾼으로 앉아 있습니다 :-). 그런데 MQL5에 관심이 생겨서 예전의 일을 떨쳐내고 슬슬 동면에서 빠져나와야 할 것 같습니다. 프로그래밍을 해야 할 부분이 많고, 여기에 특별한 도움을 기대하는 사람이 없어서 포럼에 오게 되었습니다. 당신 같은 사람들을 위해, 친애하는, 모든 희망 ... 그냥 맹세하지 마십시오 - 나는 좋아하지 않습니다 ...

 

할아버지에게

1. 당신의 아바타를 보니 - 뱃사람 같은 가슴이 보여요 + '할아버지'라는 별명이 있어요 - 네, 배의 정비사를 의미합니다. 특히 모피의 머리가 교환 거래에 들어갔다.
2. 포럼에서 "욕설" 수준은 허용, 거래는 이기심, 이기심 없이 거래 방법이 없습니다)))
저것들. 여기에서 자주 그리고 아주 사소한 경우에 맹세하십시오.
3. 당신이 개인적으로 욕을 하고 싶었는지 아닌지, 하지만 당신은 욕설에 빠졌습니다. 특히 MQL-4가 언어로서 그리고 환경으로서 여전히 동일하기 때문에 = )))
"4글자 연산자"에 대한 수치심에 합류하게 된 것입니다.
그리고 1인칭의 깊은 생각을 이해하지 못한 것에 대한 수치심도 있습니다 - MQL의 창조자))))
- 구멍이 뚫린 매체에 구멍이 뚫린 구멍의 모양을 기억한다면 MQL과 MT-4의 가격을 곧 이해하게 될 것입니다.
4. goto는 후추의 도움으로 가슴에서 찢겨지고 무분별한 수치심으로 찢어집니다. 정신적 비참함과 수치심으로 추정됩니다.
증거를 위해 이 스레드를 확인하십시오.
= 프로그래머로부터 goto 연산자를 빼앗아 지금 점프하도록 놔두었습니다.
5.
그러나 주제:
수치스러운 단어 goto는 생략할 수 있지만 수치스러운 단어 goto 자체와 그 수치스러운 단어 goto 연산자는 이어야 합니다.

 

반드시, 그래야만 합니다. 단지 예술을 위해서입니다. goto가 간결하고 우아하게 코딩하는 유일한 방법인 상황이 있습니다.