MQL의 비동기 및 다중 스레드 프로그래밍 - 페이지 16

 
Roman :

나는 이미 당신에게 썼습니다. 당신은 신경망을 구축하려고 노력하고 있습니다. 이 경우 비동기가 필요하지 않습니까?
그러나 간단한 활성화 함수에 신경망을 구축하고 있으므로 병렬 처리 부족이 발생하지 않았습니다.
그러나 코드가 국회의 글로벌 모델을 구축하기 시작하면 비동기의 아름다움을 이해하게 될 것입니다.

나쁜 예 - 필요하지 않습니다!

@Roffild 는 " 현대 사회에서 프로그래머는 특정 작업에 적합한 도구를 선택하기 위해 여러 언어를 알아야 합니다. "라는 주제에서 이미 썼습니다.

진실이다!

MQL에는 MO(NS)용 패키지 선택이 없습니다 - AlgLib만 - Habré에서 찾은 예를 고려하고 싶습니다. C# 또는 Python을 MQL에 연결하여 연결합니다. 코드를 MQL로 이식하지 않음

이제 프로그래밍 언어는 기능이 아니라 기성 프레임워크에 흥미가 있습니다! - MQL에 새로운 MO 패키지가 있으면 다른 작업과 문제가 있을 것입니다!

추신: 다시 한 번 당신은 크로스 플랫폼 언어인 Python과 Java에서 파생된 "수정 아이디어"를 고수했습니다. 언어의 이식성과 유연성에 대한 희생은 성능에 대한 손상이었습니다. 이제 이러한 언어 성능을 향상시키는 다양한 방법이 있지만 C와 같은 언어에서는 개발자가 항상 최대 성능을 달성하며 작업을 별도의 스레드로 나눌 필요가 없습니다(대부분의 경우)(클라이언트-서버 작업은 계산되지 않음 , 데이터 교환 속도에 문제가 있고 이것은 다른 특이성)

 
Igor Makanu :

나쁜 예 - 필요하지 않습니다!

@Roffild 는 " 현대 사회에서 프로그래머는 특정 작업에 적합한 도구를 선택하기 위해 여러 언어를 알아야 합니다. "라는 주제에서 이미 썼습니다.

진실이다!

MQL에는 MO(NS)용 패키지 선택이 없습니다 - AlgLib만 - Habré에서 찾은 예를 고려하고 싶습니다 . C# 또는 Python을 MQL에 연결하여 연결합니다. 코드를 MQL로 이식하지 않음

이제 프로그래밍 언어는 기능이 아니라 기성 프레임워크에 흥미가 있습니다! - MQL에 새로운 MO 패키지가 있으면 다른 작업과 문제가 있을 것입니다!

추신: 다시 한 번 당신은 크로스 플랫폼 언어인 Python과 Java에서 파생된 "수정 아이디어"를 고수했습니다. 언어의 이식성과 유연성에 대한 희생은 성능에 대한 손상이었습니다. 이제 이러한 언어 성능을 향상시키는 다양한 방법이 있지만 C와 같은 언어에서는 개발자가 항상 최대 성능을 달성하며 작업을 별도의 스레드로 나눌 필요가 없습니다(대부분의 경우)(클라이언트-서버 작업은 계산되지 않음 , 데이터 교환 속도에 문제가 있고 이것은 다른 특이성)

다음 사항을 지속적으로 무시합니다.

1. 외부 연결을 통한 프로그램 배포는 마켓을 통해 할 수 없습니다.

2. 외부 연결을 사용하는 프로그램은 모든 것을 올바르게 연결하기 위해 사용자가 "교수"여야 합니다. 이러한 프로그램을 사용하기 위한 지침은 발보입니다.

3. 외부 연결을 사용하는 프로그램은 개인적인 용도로만 사용하기에 적합하므로 작성 의미가 크게 좁아집니다.

4. 개인용 프로그램은 판매용 프로그램보다 품질이 낮습니다 . 원하는 모든 것을 스스로 할 수 있기 때문입니다. 한 번에 여러 언어에서 같은 전문가가 되는 것은 불가능합니다. 다섯 번째에서 열 번째까지 일부 언어를 알 수 있으며 이는 제품의 품질에 영향을 미칩니다.

5. 비동기와 멀티스레딩이 필요한 작업이 많다. MQL 프로그램은 아직 이러한 작업으로 성숙하지 않았지만, 그렇다고 해서 이러한 작업을 수행하지 않아도 되는 것은 아닙니다.

 
Roman :

...
하나의 스레드에서 비동기를 달성하는 것.

아니요, 멀티스레딩이 없는 비동기는 실제로 일종의 게임입니다. 최소한 하나의 추가 스레드가 필요합니다. EventLoop는 로드 가능한 표시기를 통해 수행할 수 있다고 생각합니다. 예를 들어 소켓을 통한 전문가 표시기 간의 통신. 작업이 나타나고, 지표가 픽업되고, 작업이 전송되고, 지표가 완료에 대해보고하고, 작업 상태가 전문가에게 요청되고, 지표가 삭제되었습니다. 목발을 통해, 하지만 여전히 멀티스레딩.

 
Roman :

예, 그 기사는 매우 좋습니다. 단일 솔루션의 경우 이 접근 방식에서 짜낼 수 있는 다른 것을 비틀어 보십시오.
제 경우에는 Andrey의 지시에 따라 작업 방향을 결정했습니다.

한 기사를 읽었다는 사실은 이미 좋습니다.

로만 :

스레드는 아니지만 EventLoop에서 제어하는 콜백 함수를 통해 호출을 차단하지 않습니다.
하나의 스레드에서 비동기를 달성하는 것.

문서에서 이것을 찾지 못한 방법은 무엇입니까?

아마도 당신은 그것을 읽을 수 있습니까?

 
Реter Konow :

다음 사항을 지속적으로 무시합니다.

우리는 당신과 다른 작업을 가지고 있습니다. 당신은 소프트웨어를 작성할 때 소프트웨어 개발과 구현 자체의 두 가지 큰 단계가 있다는 점을 고려하지 않습니다.

소프트웨어 개발에는 기성품 솔루션이 필요합니다. 개발 중에 소프트웨어가 계획대로 작업을 수행하지 않는 것으로 판명되면 이것은 쓰레기입니다. 그리고 구현 자체는 이미 특정 플랫폼의 기능 하에 기계적인 작업입니다.


피터 코노우 :

5. 비동기와 멀티스레딩이 필요한 작업이 많다. MQL 프로그램은 아직 이러한 작업으로 성숙하지 않았지만, 그렇다고 해서 이러한 작업을 수행하지 않아도 되는 것은 아닙니다.

자, 이제 함께 가자:

무역 터미널 에 왜 필요한지 질문에 답하십시오.

 
Koldun Zloy :

한 기사를 읽었다는 사실은 이미 좋습니다.

문서에서 이것을 찾지 못한 방법은 무엇입니까?

아마도 당신은 그것을 읽을 수 있습니까?

찾을 수 없다고 상상해보십시오.
콜백 및 이벤트 루프에 대한 검색은 문서에서 유사한 것을 찾지 못합니다.
실례가 되지 않는다면, 불필요한 풍자 없이 링크를 제공하십시오.

 
Igor Makanu :

1. 우리는 당신과 다른 작업을 가지고 있습니다. 당신은 소프트웨어를 작성할 때 소프트웨어 개발과 구현 자체의 두 가지 큰 단계가 있다는 점을 고려하지 않습니다.

소프트웨어 개발에는 기성품 솔루션이 필요합니다. 개발 중에 소프트웨어가 계획대로 작업을 수행하지 않는 것으로 판명되면 이것은 쓰레기입니다. 그리고 구현 자체는 이미 특정 플랫폼의 기능 하에 기계적인 작업입니다.


자, 이제 함께 가자:

2. 거래 터미널 에 왜 필요한지 질문에 답하십시오.

1. 내가 하는 일은 개발뿐이다. 6년 동안의 지속적인 개발에 나는 그것이 무엇인지 이해하지 못할 것입니다. )) 다른 프로그램의 컨텍스트에서 찢거나 어떤 프로그램에서 추상화된 기성 외국 솔루션은 고도로 전문화된 코드의 구조에 잘 통합되지 않고 끔찍한 비네그레트가 될 수 있다고 생각합니다. 작동하지 않으려면 시도해야합니다. 동시에 자체 솔루션을 개발하는 것보다 인건비가 많이 들고 코드의 최종 품질은 더 낮습니다. 발전 가능성은 말할 것도 없다. 이것이 발전의 현실이다. 그러나 이것은 우리의 질문과 관련이 없습니다. 일반적으로 이것은 어디에 있습니까?

2. 잘못된 질문을 하고 있습니다. 주요 질문은 "최종 사용자에게 왜 이것이 필요합니까?"입니다. 그런 다음 사용자에게 제공되는 기회는 항상 적습니다. 따라서 관심을 잃지 않도록 추가해야합니다. 가능성이 소진되고 기술적인 제한으로 인해 새로운 가능성이 추가되지 않으면 사용자는 떠나게 됩니다. 사용자를 단말기에 머물게 하는 기능이 필요하고 이를 위한 프로그램의 배포가 필요합니다. 따라서 배포할 수 없는 소프트웨어는 어떤 언어를 사용하든 커뮤니티에 의미가 없습니다.


사실, 당신은 자신의 필요만 보고 다른 사용자의 필요는 고려하지 않습니다. 당신은 이 커뮤니티에서 장사를 하고 싶지도 않고 하고 싶지도 않으며 시장에서 돈을 벌기 위한 동기만을 방송합니다. 그리고 시장에서는 프로그램 없이도 수익을 올릴 수 있습니다.

 
Igor Makanu :

나쁜 예 - 필요하지 않습니다!

@Roffild 는 " 현대 사회에서 프로그래머는 특정 작업에 적합한 도구를 선택하기 위해 여러 언어를 알아야 합니다. "라는 주제에서 이미 썼습니다.

진실이다!

MQL에는 MO(NS)용 패키지 선택이 없습니다 - AlgLib만 - Habré에서 찾은 예를 고려하고 싶습니다. C# 또는 Python을 MQL에 연결하여 연결합니다. 코드를 MQL로 이식하지 않음

이제 프로그래밍 언어는 기능이 아니라 기성 프레임워크에 흥미가 있습니다! - MQL에 새로운 MO 패키지가 있으면 다른 작업과 문제가 있을 것입니다!

추신: 다시 한 번 당신은 크로스 플랫폼 언어인 Python과 Java에서 파생된 "수정 아이디어"를 고수했습니다. 언어의 이식성과 유연성에 대한 희생은 성능에 대한 손상이었습니다. 이제 이러한 언어 성능을 향상시키는 다양한 방법이 있지만 C와 같은 언어에서는 개발자가 항상 최대 성능을 달성하며 작업을 별도의 스레드로 나눌 필요가 없습니다(대부분의 경우)(클라이언트-서버 작업은 계산되지 않음 , 데이터 교환 속도에 문제가 있고 이것은 다른 특이성)

이고르, 당신은 때때로 자신과 모순됩니다.
지난번에 mql 계산 속도가 C++ 속도와 비슷하다고 썼습니다.
이것은 사실이며 많은 사람들이 그것에 대해 알고 있습니다.
그러나 그런 다음 느린 언어로 입력할 때 계산을 전송하기 위해 타사 프레임워크를 연결하는 예를 제공합니다.
그리고 당신은 패키지의 제3자 연결을 위해 캠페인을 벌이고 있습니다. 즉, 기성 프레임워크를 위해 속도를 희생합니까?
따라서 Peter가 쓴 것처럼 프로그램의 이식성을 완전히 잃게 됩니다.
얼음 결정이 아닙니다. 개인 사용의 경우 예, 대량 솔루션의 경우 아니요.

 
Roman :

찾을 수 없다고 상상해보십시오.
콜백 및 이벤트 루프에 대한 검색은 문서에서 유사한 것을 찾지 못합니다.
실례가 되지 않는다면, 불필요한 풍자 없이 링크를 제공하십시오.

검색을하지 않고 모든 것을 읽을 필요가 있습니다. 나는 당신에게 많은 놀라움이 있다고 확신합니다.

링크가 없습니다.

나는 스스로 무언가를 시도하는 사람들을 한 번 이상 여기에서 도왔습니다.

뭐 했어?

포럼에서 혀만 긁으십니까?

글쎄, 내가 당신을 도울 것입니다.


 
MKL의 흐름은 다음과 같습니다. 시장 판매자에게만 필요합니다. 나머지는 이미 흐름이 있습니다. 복잡한 처리가 필요하십니까? - 이벤트를 DLL에 전달하고 스레드를 생성 및 분리(분리)하고 터미널 스레드를 해제하고 적어도 영원히 처리합니다.)
대부분의 흐름이 대처하지 못할 것이며 MKL의 모든 사용자 중 10~2명이 필요할 것입니다. MK가 시장에서 거래하려는 100명의 프로그래머를 위해 귀찮게 할 것인가?