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

 
Roman :


다음은 하나의 스레드에서 선형 비동기 코드를 작성하는 예시적인 예입니다.

CTask *task2   = obj2.CALLBACK_FUNC(DeleteOrdersLimits(Magic));   //Выполняется асинхронно в пуле потоков

이것은 작동하지 않습니다:

이고르 마카누 :

그러나 다중 스레드 응용 프로그램을 사용할 때 이러한 스레드의 제어는 개발자에게 골칫거리이며 계산 준비 상태를 확인하지 않았습니다. 알 수 없는 시간에 나타날 버그가 있습니다.

좋아, 나는 그런 아름다운 이름을 가진 주제에서 구독을 취소하고 싶었습니다 - 나는 그것을 썼습니다, 나는 그렇게 썼습니다 ... 나는 돈키호테와 풍차와의 영원한 투쟁을 기억했습니다))))

괜찮은 전문가 팀이 모였습니다. 할 이야기가 더 있는 것 같습니다.

 
Yuriy Asaulenko :

....

추신: Sharps나 Python에서 두 단계로 작성할 수 있는데 왜 GUI 등이 필요합니까? 더욱이 사용자는 그것이 무엇에 쓰여졌는지 신경 쓰지 않으며 구현의 세부 사항이 아닌 기능이 필요합니다. 즉, 프로그래머는 그러한 제품이 필요하지 않으며 사용자는 전혀 신경 쓰지 않으며 가격은 그에게 중요하며 Sharps에서는 분명히 더 저렴하고 기능적입니다.

1. Sharp 프로그램의 구매자는 어디에서 찾을 것입니까?

2. 이러한 프로그램의 안전성을 어떻게 증명할 수 있습니까?

3. 경험 많은 프로그래머인 당신은 TS 개발에 적용된 언어를 포기할 것을 제안합니다. 왜냐하면 ... 몇 년 동안 그 이유를 이해하지 못했기 때문입니다.

4. Sharp의 GUI를 사용하고 논리를 MCL로 작성하기 위해 하이브리드 프로그램을 만들려는 경우 Sharp의 테이블을 Expert Advisor와 연결해 보십시오. 이미 6개월이 지났고 이를 수행하는 방법을 보여주는 기사는 아직 게시되지 않았습니다. 아주 심각한 문제가 있다고 생각합니다. 버튼 수준의 GUI - 일반 라이브러리를 만들 수 있습니다.

요컨대 MKL을 떠나라는 당신의 제안은 무언가를 제안하는 것과 같습니다. 나는 무엇을하고 거기에 갈지 모릅니다.

 
Igor Makanu :

이것은 작동하지 않습니다:

라이브러리 중 하나의 C 및 C++에서 작동합니다))
mql과 C++의 차이점은 무엇입니까?
그것은 개발자의 바람일 것이고 그들이 mql에서 이 기능을 구현하는 것은 매우 현실적입니다.
결국, 아이디어 자체는 주목할 가치가 있습니다. 이러한 기술이 더 많이 알려질수록.
그리고 아마도 에이전트에 대한 작업은 스레드 풀에서 비슷한 방식으로 구현됩니다.

 
Реter Konow :

1. Sharp 프로그램의 구매자는 어디에서 찾을 것입니까?

2. 이러한 프로그램의 안전성을 어떻게 증명할 수 있습니까?

3. 경험 많은 프로그래머인 당신은 TS 개발에 적용된 언어를 포기할 것을 제안합니다. 왜냐하면 ... 몇 년 동안 그 이유를 이해하지 못했기 때문입니다.

4. Sharp의 GUI를 사용하고 논리를 MCL로 작성하기 위해 하이브리드 프로그램을 만들려는 경우 Sharp의 테이블을 Expert Advisor와 연결해 보십시오. 이미 6개월이 지났고 이를 수행하는 방법을 보여주는 기사는 아직 게시되지 않았습니다. 아주 심각한 문제가 있다고 생각합니다. 버튼 수준의 GUI - 일반 라이브러리를 만들 수 있습니다.

요컨대 MKL을 떠나라는 당신의 제안은 무언가를 제안하는 것과 같습니다. 나는 무엇을하고 거기에 갈지 모릅니다.

1. 옆에서 구매자를 찾습니다. 시장에서 세상은 쐐기처럼 수렴하지 않았습니다.

마케팅은 비즈니스가 아닙니다. 여기에서 MK에게는 이것이 비즈니스의 일부입니다.)

2., 3., 4. 나에게 MKL(또는 모든 터미널의 다른 언어)은 터미널과 차량 간의 인터페이스 언어에 불과합니다. TS는 터미널에 의존하지 않아야 하며 적절한 인터페이스를 통해 모든 터미널에 연결할 수 있어야 합니다.

나는 처음부터 이 개념을 가지고 있다. 이 모든 것이 실현 가능하며 아무런 문제가 없습니다. 여기서 MCL이 DLL의 도움으로 수행하는 작업을 가정해 보겠습니다.


라이브러리를 MCL로 가져오지 않습니다. 데이터베이스에서 TF 1m 및 유리의 역사를 볼 수 있습니다. 이 모든 것은 플레이가 진행됨에 따라 실시간으로 채워집니다.
 
타이머에서 들어오는 명령을 처리하고 작업 완료에 대해 알림을 보내는 메시지 대기열을 만들었습니다. 별도의 스레드를 직접 생성할 필요가 없습니다.
 
Yuriy Asaulenko :

1. 옆에서 구매자를 찾습니다. 시장에서 세상은 쐐기처럼 수렴하지 않았습니다.

마케팅은 비즈니스가 아닙니다. 여기에서 MK에게는 이것이 비즈니스의 일부입니다.)

2., 3., 4. 나에게 MKL(또는 모든 터미널의 다른 언어)은 터미널과 차량 간의 인터페이스 언어에 불과합니다. TS는 터미널에 의존하지 않아야 하며 적절한 인터페이스를 통해 모든 터미널에 연결할 수 있어야 합니다.

나는 처음부터 이 개념을 가지고 있다. 이 모든 것이 실현 가능하며 아무런 문제가 없습니다.

1과 2 - 대답하지 않았습니다. 검색 위치가 명확하지 않고 프로그램이 안전하다고 확신시키는 방법이 명확하지 않습니까? 그리고 미적용 언어로 작성된 TS를 모든 종류의 플랫폼에 연결하는 방법에 대한 10페이지 분량의 출시 지침을 읽으라고 제안하시겠습니까? ))

멀티플랫폼 TS - 베팅하시겠습니까? - 프로그래머를 배우면 그 방법을 이해할 수 있을 것입니다!

알다시피, 당신은 매번 나를 웃게 만듭니다. 진지하게. 고도로 전문화된 과제를 해결하기 위해 응용 언어를 사용하는 것이 아니라, UNIVERSALITY를 위해 이러한 문제를 UNIVERSAL 언어로 해결하는 것을 요구하는 실무 프로그래머! 실용성과 편리성은 모든 문구에서 단순히 풍부합니다.

 
Yuriy Asaulenko :
....


라이브러리를 MCL로 가져오지 않습니다. 데이터베이스에서 TF 1m 및 유리의 역사를 볼 수 있습니다. 이 모든 것은 플레이가 진행됨에 따라 실시간으로 채워집니다.

아니요. 1분에 한 번씩 플랫폼에서 데이터를 전달하고 있습니다. 실시간 상호작용을 보여주고 초당 두 번 이상 데이터로 테이블을 채우게 됩니다. 그리고 데이터는 양방향으로 전송되어야 합니다. MKL에서 샤프까지 그리고 그 뒤로.

 
Реter Konow :

알다시피, 당신은 매번 나를 웃게 만듭니다. 진지하게. 고도로 전문화된 과제를 해결하기 위해 응용 언어를 사용하는 것이 아니라 UNIVERSAL 방식으로 UNIVERSALITY를 위해 이러한 문제를 해결하는 것을 요구하는 실용적인 프로그래머! 모든 문구에서 실용성과 편리함이 넘쳐납니다.

솔직히 님의 글도 재미있게 읽고 있습니다. 특히 사업에 대해.

나는 아무에게도 전화하지 않으며 아무 것도 팔지 않습니다. 스레드를 사용하려면 C++/C#을 사용하고 문제가 없습니다. 또는 MKL에 흐름이 없다고 영원히 신음할 수 있습니다.

 
Реter Konow :

아니요. 플랫폼에서 1분에 한 번씩 데이터를 전송하는 것은 바로 당신입니다. 실시간 상호작용을 보여주고 초당 두 번 이상 데이터로 테이블을 채우게 됩니다. 그리고 데이터는 양방향으로 전송되어야 합니다. MKL에서 샤프까지 그리고 그 뒤로.

1분에 한 번. 기술 감정가.)) 이벤트 -OnTick이 있고 그것에 대한 DLL 함수를 호출하고 촛불에 대한 현재 데이터를 전송합니다. 모두.)

좋아, 가자

 
Yuriy Asaulenko :

...

스레드를 사용하려면 C++/C#을 사용하고 문제가 없습니다.

우리는 그들이 필요하지 않습니다. 다른 언어의 가능성은 여기 커뮤니티에서 프로그램 수준이 성장하는 데 도움이 되지 않습니다. 개인적으로 사용하기 위한 추하고 못생긴 잡종이 있을 것이고 그게 전부입니다.