[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 381

 

동기화는 또한 상대적인 개념입니다. 무엇과 무엇을 동기화합니까? 원자적 접근을 제공하기 위한 동기화? 누가 줄을 설 것인가? Junko, MSDN의 코드를 가져오면 라이브러리에서 대기열이 정상적으로 구축될 수 있습니다. 모든 것이 그곳에서 올바르게 수행되기 때문입니다. 그리고 당신은 원숭이 안경처럼 그가하는 일을 이해하지 못하고 핥았습니다. 그리고 언제나처럼, 그들은 개그를 몰았다. 이해하지 못하기 때문입니다. 원자적 액세스 및 대기열을 제공하기 위해 동기화를 혼동하고 있습니다.

 
Sepulca :
프로세서 코어를 많이 샀습니다. 그리고 이제 우리는 대기열에 있는 누구를 위한 것인지 알아내지 못할 것입니다)))))))))

아니요, 이는 단일 코어 프로세서에도 적용되며 멀티태스킹은 운영 체제의 기능입니다.
 
Chiripaha :

나는 PauseBar의 증가를 확인했고 1분과 5분에 이 막대기를 얻었습니다. 그러나 나는 그들을 둘러싸는 방법을 알아낼 수 없습니다. 값이

~에

이전 막대의 값은 다음과 같습니다.

그러나 그것을 구현하려고 할 때 내 전체 표시기가 "이동"합니다. 이는 논리를 이해하지 못하여 삽입할 위치와 조건을 파악할 수 없기 때문입니다.


테스터의 이 옵션은 적절하게 작동합니다.
다음과 같이 돌아다녔습니다.

         if (FirstChanel) 
        { 
           if (Up[i- 2 ]== 0 && Down[i- 2 ]== 0 )
          {
            Up[i- 1 ]   = high;   
            Down[i- 1 ] = low; 
          } 
           else
          {
            Up[i- 1 ]   = Up[i- 2 ];   
            Down[i- 1 ] = Down[i- 2 ]; 
          }  
        }

그리고 그것이 어디에 있든 [i] 1 마디 뒤로 이동했습니다.

그리고 바로 여기:

   Comment ( "DrawChannel =" ,DrawChannel, "\n" ,
           "limit =" ,limit); // изначально значение было равно 1
  
   limit = Bars -IndicatorCounted()- 1 ; 
   if (limit > = 1 )                    limit = Bars - 1 ; // и это условие не выполнялось, поставил >= и начало считать
파일:
 
안녕하세요. 포럼을 이리저리 뒤져봐도 구체적인 답이 안나오는데 어드바이저가 한번에 여러개의 화폐쌍으로 작업이 가능한가요? 어드바이저가 설명에 거래되는 일부 사이트에는 그러한 기회가있는 것 같습니다. 고맙습니다.
 
Trendy :

포럼을 이리저리 뒤져봐도 구체적인 답이 안나오는데 어드바이저가 한번에 여러개의 화폐쌍으로 작업이 가능한가요?

어드바이저의 설명이 거래되는 일부 사이트에는 그러한 기회가있는 것 같습니다. 그러나 나는 확인하고 싶습니다.

혹시. 고문은 DC의 기호 수에 의해서만 제한됩니다.

귀하의 질문은 본질적으로 어리석기 때문에 답을 찾지 못했습니다.

가능하면 이 작업을 수행하는 방법에 대한 링크를 게시하십시오.

https://www.mql5.com/en/code
 
Integer :


1. 이해에 문제가 있는 것 같습니다. 대화 내용을 이해합니다.

2. 감사하지만 조언을 구하지 않았습니다. 게다가 대화는 더 이상 같은 스레드에 없는 것을 동기화하는 것입니다.

3. 그리고 과학에서도 그래야 합니다. 무슨 과학으로? 스스로? 언젠가는 필요한 것이 무엇인지 이해하게 될 것이지만 그것에 대해 혼란스러운 것은 없습니다. 프로그래밍 언어와 알고리즘은 바보가 발명하고 만든 것이 아닙니다. 그러나 어떤 이유로 동기화 및 대기열 생성 도구가 제공됩니다.

4. 나는 별로 틀리지 않다. 맞다면 .... 동기화가 있었다면. 그러나 조금 전에 여기에 제공한 코드에는 동기화가 없고 원자적 액세스만 있습니다.

3. 시스템 프로그래밍의 과학. 리히터를 읽으십시오. 그는 대기열에 있는 당신의 혼란을 밝혀줄 것입니다.

4. 동기화란 무엇입니까? 이것은 모든 리소스에 대한 원자적 액세스입니다. 내 코드가 이 작업을 수행합니다. 대기열은 시스템에 의해 구축됩니다. 모듈은 실행 시간에 비례하여 실행됩니다. 실행 순서는 중요하지 않습니다. 모든 것은 시스템에 의해 수행됩니다. 어리석은 생각이 아닙니다. 구체적인 예를 들어 그 반대를 증명해 보십시오. 로그를 분석합니다. 특별한 대기열 문제 없이 모든 것이 올바르게 실행되는 것을 볼 수 있습니다.

그런데 MQL4에는 언어로서 원자적 접근이 가능한 기능이 있습니다. C++에는 없습니다. WinAPI 함수의 래퍼로 직접 작성해야 합니다. 클래스에서 구현하는 것이 좋습니다.

정수 :

다시 한번, 만일을 대비하여 잠수함의 탱크 안에 있고 여전히 헬멧을 쓰고 있는 사람들을 위해. 여기에는 원자적 액세스만 표시됩니다. 여기서 기능을 수행하는 순서는 바람이 부는 대로입니다. 이 코드는 균일한 기능 실행을 제공하지 않습니다. 따라서 일부 기능이 아주 오랫동안 빠지지 않을 것이라는 보장은 없습니다. 프로세서의 주파수가 높다는 이유만으로 프로그래밍이 느리다는 것은 매우 높은 프로세서 주파수를 사용하더라도 터무니없는 일입니다.

탱크에 없는 사람들을 위해 다시 한 번. 실행 순서는 시스템에서 제공합니다. 균일 성능이란 무엇입니까? 실행 시간 과 횟수를 알 수 없는 스레드의 균일한 실행을 어떻게 보장할 수 있습니까? 왜 그렇게 귀찮게합니까? 그들은 이미 당신을 위해 생각하고 행동했습니다. 동기화 개체를 사용합니다.
물론 특별한 쓰레드 실행 큐가 필요한 경우를 제외하지는 않는다. 이것은 가장 높은 수준의 문제입니다 :-)) 이러한 코드는 피하는 것이 필요합니다. 여기에는 역설이 있기 때문입니다. 여러 스레드에서 작업을 실행한 다음 하나로 줄이는 이유는 무엇입니까? 단일 스레드 실행을 사용합니다. 그러면 동기화가 필요하지 않습니다.

대기열이 필요한 또 다른 경우가 있습니다. 그러나 스레드 실행 큐가 아니라 스레드에서 받은 데이터 처리 순서(스레드 작업 결과). 이것은 대기열에 대한 가장 일반적인 작업입니다.

정수 :

동기화는 또한 상대적인 개념입니다. 무엇과 무엇을 동기화합니까? 원자적 접근을 제공하기 위한 동기화? 누가 줄을 설 것인가? Junko, MSDN의 코드를 가져오면 라이브러리에서 대기열이 정상적으로 구축될 수 있습니다. 모든 것이 그곳에서 올바르게 수행되기 때문입니다. 그리고 당신은 원숭이 안경처럼 그가하는 일을 이해하지 못하고 핥았습니다. 그리고 언제나처럼, 그들은 개그를 몰았다. 이해하지 못하기 때문입니다. 원자적 액세스 및 대기열을 제공하기 위해 동기화를 혼동하고 있습니다.

그리고 또 그런 분들을 위해... :-))

동기화는 리소스에 대한 원자적 액세스를 제공하는 것입니다. 대기열은 시스템에 의해 구축됩니다. 실행은 보장되지만 순서는 보장되지 않습니다. MSDN에서 코드는 정확하지만 불편할 가능성이 큽니다. 쉬운 동기화를 위해 자신의 클래스를 작성하십시오. 나는 Andrey Postnikov의 수업 원칙에 따라 수업을 작성했습니다. 그는 친절하게 정확하게 동기화하는 방법을 보여주었습니다. 사실, 이것은 하나의 클래스가 아닙니다. 각 동기화 개체에 대한 클래스, 모든 것에 대한 또 다른 잠금 클래스, 대기 기능을 위한 네임스페이스가 나타났습니다.
사실, 모든 것은 이미 위에서 대답했습니다.

 

Junko, 당신은 희망이 없습니다. 생각하기 어렵다면 생각하지 말고 전혀 침을 뱉어라, 그것은 네 일이 아니다...

무언가가 테스트되고 입증되지 않았거나 분쟁이 발생하지 않았다면. 문제는 Vadim이 건설적인 대화를 할 수 없다는 것입니다. 동기화가 원자성 액세스만을 위한 것이지 대기열 작성을 위한 것이 아님을 스스로 확인하는 것이 좋습니다. Vadim, 당신은 지금 그것을 이해하지 않고 자신과 논쟁하고 있습니다.

 
Integer :

Junko, 당신은 희망이 없습니다. 생각하기 어렵다면 생각하지 말고 전혀 침을 뱉어라, 그것은 네 일이 아니다...

무언가가 테스트되고 입증되지 않았거나 분쟁이 발생하지 않았다면. 문제는 Vadim이 건설적인 대화를 할 수 없다는 것입니다. 동기화가 원자성 액세스만을 위한 것이지 대기열 작성을 위한 것이 아님을 스스로 확인하는 것이 좋습니다.

내가 왜 ... 나는 프로그래머가 아닙니다 :-))
 
Zhunko :

동기화는 리소스에 대한 원자적 액세스를 제공하는 것입니다.
대기열은 시스템에 의해 구축됩니다.


큰 박수! 378페이지의 코드 주제에 대해. 터미널이 대기열의 순서를 조절하더라도 어떤 경우에 함수가 실행되었고 어떤 경우에 거부되었는지 알 수 없습니다.
 
또한 시스템 규제에 대해. 여러 스레드가 생성되면 - 예, 시스템이 조절합니다. 그러나 옆에서 누군가가이 개울로 올라 갔다면 이미 모든 것에 대해 스스로 생각할 필요가 있습니다. 시스템에서 기적은 없을 것입니다.