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

[삭제]  

std::async가 왜 그렇게 느린지 이해합니다. 사실 나는 linux + gcc / clang이 있고 비동기 뒤에 스레드 풀이 없으며 각각의 새 작업에 대해 매번 새 스레드가 어리석게 시작됩니다. 나를 혼란스럽게 한 것은 연속적으로 생성되고 즉시 소멸되는 두 개의 스레드가 동일한 ID를 갖는다는 것입니다.

 void f() {
   cout << this_thread::get_id() << endl;
}

int main()
{
   thread t1{f};
   t1. join ();

   thread t2{f};
   t2. join ();
   return 0 ;
}
// cout: 140448079447808
// cout: 140448079447808

Windows + msvc에 대한 비동기 테스트는 gcc가 10개 스레드를 시작한 테스트에서 msvc가 6개(4코어 CPU)를 시작한 것으로 나타났습니다. 이것은 작업에 대한 새 스레드의 어리석은 시작이 아니며 분명히 일종의 대기열이 있습니다.

결론: 스레드 풀을 통해 Windows에서만 다소 적절한 비동기.

В моём случае это точно, так как понял что пул статичный по количеству потоков, мне это не подходит.

풀은 고정되어 있지 않으며 크기를 변경할 수 있습니다. 그러나 async() :)에 대한 제어가 많다면 보시다시피 표준은 구현(스레드 풀 여부)조차 보장하지 않으며 풀이 있으면 영향을 미치지 않습니다( 컴파일러는 풀에 대해 1개의 스레드를 할당하려고 합니다.

그러나 Windows에서만 작성하는 경우 원칙적으로 비동기를 사용할 수 있습니다(지금은 이에 대해 부정적인 태도를 갖고 있지만).

추신: 왜 스레드 풀 없이 비동기가 필요한지, 전혀 이해가 되지 않습니다...

 
Vict :

std::async가 왜 그렇게 느린지 이해합니다. 사실 나는 linux + gcc / clang이 있고 비동기 뒤에 스레드 풀이 없으며 각각의 새 작업에 대해 매번 새 스레드가 어리석게 시작됩니다. 나를 혼란스럽게 한 것은 연속적으로 생성되고 즉시 소멸되는 두 개의 스레드가 동일한 ID를 갖는다는 것입니다.

Windows + msvc에 대한 비동기 테스트는 gcc가 10개의 스레드를 시작한 테스트에서 msvc가 6(4코어 CPU)을 시작한 것으로 나타났습니다. 이것은 작업에 대한 새 스레드의 어리석은 시작이 아니며 분명히 일종의 대기열이 있습니다.

결론: 스레드 풀을 통해 Windows에서만 다소 적절한 비동기.

풀은 고정되어 있지 않으며 크기를 변경할 수 있습니다. 그러나 async() :)에 대한 제어가 많다면 보시다시피 표준은 구현(스레드 풀 여부)조차 보장하지 않으며 풀이 있으면 영향을 미치지 않습니다( 컴파일러는 풀에 대해 1개의 스레드를 할당하려고 합니다.

그러나 Windows에서만 작성하는 경우 원칙적으로 비동기를 사용할 수 있습니다(지금은 이에 대해 부정적인 태도를 갖고 있지만).

추신: 왜 스레드 풀 없이 비동기가 필요한지, 전혀 이해가 되지 않습니다...

실험 결과와 새로운 정보를 고려할 때 MQL에서 멀티스레딩의 필요성에 대해 의견이 바뀌었나요?
[삭제]  
Реter Konow :
실험 결과와 새로운 정보를 고려할 때 MQL에서 멀티스레딩의 필요성에 대해 의견이 바뀌었나요?

글쎄, 여기에 나는 async - 게으른 사람들을 위한 높은 수준의 래퍼를 날개를 달았다. 일반적으로 저는 멀티스레딩을 반대하지 않습니다.

µl 단위로 멀티스레딩을 사용합니까? 아니, 난 안할거야. Peter, 저는 시장을 지나쳤고 솔직히 말해서 강력한 언어를 사용하는 폐쇄된 생태계에는 별로 관심이 없습니다. 쉬운 작업이 아닌 다른 C++를 만드는 이유는 무엇입니까? 가장 "진취적인" " 성배 "를 시장을 통해 엄격하게 판매하려면? 그게 미션입니다.

 
Vict :

글쎄, 나는 게으른 사람들을 위한 고수준 래퍼인 async를 사용해 왔다. 일반적으로 저는 멀티스레딩을 반대하지 않습니다.

µl 단위로 멀티스레딩을 사용합니까? 아니, 난 안할거야. Peter, 저는 시장을 지나쳤고 솔직히 말해서 강력한 언어를 사용하는 폐쇄된 생태계에는 별로 관심이 없습니다. 쉬운 작업이 아닌 다른 C++를 만드는 이유는 무엇입니까? 가장 "진취적인" 브랜드를 통해 엄격하게 "성배"를 판매하려면 t? 그게 미션입니다.

글쎄, 아마도 그 반대일 것이다. 가장 진취적인 사람들이 " 성배 "가 아닌 다른 것을 팔도록. 결국, 심각한 도구가 필요하지 않은 것은 "성배"입니다. 새로운 강력한 응용 프로그램이 나타나면 알고리즘 거래의 "성배 기생"이 감소하고 전문적인 접근 방식의 가치가 우세할 것입니다. 확실하지 않지만 아마도...
 
Vict :

µl 단위로 멀티스레딩을 사용합니까? 아니, 난 안할거야.

글쎄, 질문에 대한 최소한 하나의 진지한 대답: MQL 작업에서 멀티스레딩이 필요한 이유는 무엇입니까?

내가 틀리지 않았다면 이것이 필요한 이유를 5 번 물었고 대답은 한 번도 들리지 않았으며 멀티 스레딩에 대한 반성과 학습 NS를 연결하려는 시도가 있었지만 제 생각에는 "과거"

피터 코노우 :
글쎄, 아마도 그 반대일 것이다. 가장 진취적인 사람들이 "성배"가 아닌 다른 것을 팔도록. 결국, 심각한 도구가 필요하지 않은 것은 "성배"입니다.

베드로! 당신은 낮은 능력으로 인해 큰 소리로 말하는 재주가 있습니다!

내가 틀리지 않았다면 당신은 거래 Expert Advisors를 작성하는 기술이 전혀 없으며 한 번에 하나의 지표를 열고 닫는 것만으로도 이제 기록에 대한 거래에만 Expert Advisor를 생성하는 것이 필요하지 않다고 말합니다. 진지한 도구?

최소한 한 명의 거래 전문가를 작성해 보십시오. 흥미진진한 모험의 세계가 여러분을 기다립니다!

))))

 
Igor Makanu :

글쎄, 질문에 대한 최소한 하나의 진지한 대답: MQL 작업에서 멀티스레딩이 필요한 이유는 무엇입니까?

내가 틀리지 않았다면 이것이 필요한 이유를 5 번 물었고 대답은 한 번도 들리지 않았으며 멀티 스레딩에 대한 반성과 학습 NS를 연결하려는 시도가 있었지만 제 생각에는 "과거"

베드로! 당신은 낮은 능력으로 인해 큰 소리로 말하는 재주가 있습니다!

내가 틀리지 않았다면 당신은 거래 Expert Advisors를 작성하는 기술이 전혀 없으며 한 번에 하나의 지표를 열고 닫는 것만으로도 플러스에서 독점적으로 거래하는 Expert Advisor를 만드는 것이 불가능하다고 말합니다. 심각한 도구가 필요하십니까?

최소한 한 명의 거래 전문가를 작성해 보십시오. 흥미진진한 모험의 세계가 여러분을 기다립니다!

))))

나는 주제에서 벗어나고 싶지 않지만 당신은 당신의 낮은 능력으로 인해 큰 소리로 말하는 재능도 있습니다. 이 경우 내 능력과 경험을 알지 못합니다. 지표를 작성한 적이 없는 것이 사실이지만 전문가를 작성하고 많이 작성했습니다. 그리고 내 개발을 무너뜨릴 예정이었던 MQL의 Sharpe에 대한 귀하의 진술은 무엇입니까? 그리고 내 접근 방식으로 심각한 일을 할 수 없다는 사실과 모든 것이 나에게 좋지 않게 작동한다는 사실 등? 높은 능력? )

시장에서 " grails " 외에는 (거의) 아무것도 판매되지 않는다는 것을 알기 위해 시장을 보는 것으로 충분합니다. 13000 "grails" 및 1000 유틸리티, 표시기 및 라이브러리. 아무렇게나. 따라서 "성배"는 리벳팅하기 쉽습니다. 특히 MT4에서는요. 그리고 수요가 많은 MQL 도구를 결정하는 "grails"의 생성이 애플리케이션 개발에 장벽을 둡니다.

 
Реter Konow :

나는 주제에서 벗어나고 싶지 않지만 당신은 당신의 낮은 능력으로 인해 큰 소리로 말하는 재능도 있습니다. 이 경우 내 능력과 경험을 알지 못합니다. 지표를 작성한 적이 없는 것이 사실이지만 전문가를 작성하고 많이 작성했습니다. 그리고 내 개발을 무너뜨릴 예정이었던 MQL의 Sharp에 대한 귀하의 진술은 무엇입니까? 그리고 내 접근 방식으로 심각한 일을 할 수 없다는 사실과 모든 것이 나에게 좋지 않게 작동한다는 사실 등? 높은 능력? )

시장에서 "성배" 외에는 (거의) 아무것도 판매되지 않는다는 사실을 확인하는 것으로 충분합니다. 13000 "grails" 및 1000 유틸리티, 표시기 및 라이브러리. 아무렇게나. 따라서 "성배"는 리벳팅하기 쉽습니다. 특히 MT4에서는요. 그리고 수요가 많은 MQL 도구를 결정하는 "grails"의 생성이 애플리케이션 개발에 장벽을 둡니다.

이상하게도, 거래 전문가를 썼다면 왜 기본 조치에 대한 "내 접근 방식"주제, 공개 주문의 속성을 얻는 방법에 대한 질문이 있습니까? (스프레드시트를 작성할 때) 지금처럼 테스트 Grail을 작성하는 데 노동력이 필요하지 않다는 큰 소리가 나요?

뭐, 다 할 줄 알면서 장난을 잘 치지 않았습니까?


Sharp에 대한 내 설명은 내 블로그와 @fxsaber 간행물의 KB에 있으며 모든 것이 작동하고 테이블도 있으며 @fxsaber 는 테이블이 작동하는 방식에 대한 그의 비전에 따라 테스트를 받았지만 이는 다소 어려운 기술 구현으로 판명되었습니다. 그는 다음을 표시해야 했습니다. 6000행 20열 10만 개 이상의 거래 내역 테이블 th! 두 번째 탭에서는 19개 열의 정보 형식으로 된 현재 열려 있는 주문, 모든 것이 작동하며 온라인이나 테스터에서 속도가 느려지지 않습니다.) . 각 소켓을 이동하고 접고 복원할 수 있으며 손실되는 것은 없으며 가장 중요한 것은 터미널과 PC를 전체적으로 로드하지 않는다는 것입니다(테스트 결과 프로세서 로드도 7-8% 이상 달성할 수 없었습니다) PC나 노트북에서)

추신: 나는 시장에 대해 아무 말도 하지 않고 조언도 하지 않습니다. 이전 게시물을 참조하십시오. 귀하와 저는 각각 거기에 게시되어 있지 않습니다. 능력 수준은 정확히 0입니다.)

PSPS: 당신은 응용 소프트웨어를 작성하는 속도 면에서 Sharp가 당신의 작업보다 열등하다는 것을 증명하기 위해))))) )))) - 글쎄, "내 접근 방식"주제에서 적어도 10,000 개의 셀 이있는 테이블을 배치하고 모든 것이 어떻게 작동하는지 확인하십시오.)

 
Igor Makanu :

이상하게도, 거래 전문가를 썼다면 왜 기본 조치에 대한 "내 접근 방식"주제 , 공개 주문의 속성을 얻는 방법에 대한 질문이 있습니까? (스프레드시트를 작성할 때) 지금처럼 테스트 Grail을 작성하는 데 노동력이 필요하지 않다는 큰 소리가 나요?

뭐, 다 할 줄 알면서 장난을 잘 치지 않았습니까?


Sharp에 대한 내 설명은 내 블로그와 @fxsaber 간행물의 KB에 있으며 모든 것이 작동하고 테이블도 있으며 @fxsaber 는 테이블이 작동하는 방식에 대한 그의 비전에 따라 테스트를 받았지만 이는 다소 어려운 기술 구현으로 판명되었습니다. 그는 다음을 표시해야 했습니다. 6000개 이상의 행 x 20개 열 ~ 12,000개 값의 거래 내역 테이블 19개의 정보 열 형태로 된 두 번째 탭의 현재 미결 주문에서 모든 것이 작동하며 온라인이나 테스터에서 속도가 느려지는 것은 없습니다.) . 각 소켓을 이동하고 접고 복원할 수 있으며 손실되는 것은 없으며 가장 중요한 것은 터미널과 PC를 전체적으로 로드하지 않는다는 것입니다(테스트 결과 프로세서 로드도 7-8% 이상 달성할 수 없었습니다) PC나 노트북에서)

추신: 나는 시장에 대해 아무 말도 하지 않고 조언도 하지 않습니다. 이전 게시물을 참조하십시오. 귀하와 저는 각각 거기에 게시되어 있지 않습니다. 능력 수준은 정확히 0입니다.)

내 전략에는 주문 내역이 필요없고 작업하지 않았지만 이것이 주문을 여는 방법 등을 모른다는 것을 의미하지는 않습니다. 또한 오랫동안 전문가들과 함께 일했습니다. 그러나 모든 것이 매우 간단합니다(특히 제 접근 방식에서). 나는 거래 전문가 고문을 만드는 데 어려움이 없습니다. 그래픽 생성의 복잡성 수준이 훨씬 높아서 전문가는 많지만 그래픽은 거의 없습니다. ( @fxsaber 에게 물어보세요.) 그리고 오랫동안 Sharp의 테이블을 연결하는 방법에 대한 기사를 기다리고 있습니다. (당신만이 내 수준의 연결 용이성을 달성하지 못할 것입니다. 내 말을 믿으십시오. :))

시장 판매자의 지위는 사람을 생각하기 어렵게 만들고 알고리즘 거래의 실존적 문제에 눈을 뜨게 합니다.))

 
Igor Makanu :
...

PSPS: 당신은 응용 소프트웨어를 작성하는 속도 면에서 Sharp가 당신의 작업보다 열등하다는 것을 증명하기 위해))))) )))) - 글쎄, "내 접근 방식"주제에서 적어도 10,000 개의 셀 이있는 테이블을 배치하고 모든 것이 어떻게 작동하는지 확인하십시오.)

저는 MQL4에서 1000개의 행으로 테이블을 배치했으며 각 행에는 20개 이상의 셀이 있었습니다. 총 20만개 이상 . 세포. 당신은 그녀를 보았다. 그녀는 매우 열심히 일했습니다. 내 말을 못 믿겠다면 다시 한 번 보세요. 강조하겠습니다 - MQL4. 상위 5개에서는 10배 더 빠르게 작동합니다.

 
Реter Konow :

저는 MQL4에서 1000개의 행으로 테이블을 배치했으며 각 행에는 20개 이상의 셀이 있었습니다. 총 20,000개 이상의 세포. 당신은 그녀를 보았다. 그녀는 매우 열심히 일했습니다. 내 말을 못 믿겠다면 다시 한 번 보세요. 강조하겠습니다 - MQL4. 상위 5개에서는 10배 더 빠르게 작동합니다.

적어도 백만 개의 세포. 화면에서 최대 1000개를 볼 수 있다면 왜 모두 업데이트/그리나요?