사용자 지정 지표를 사용할 때 Expert Advisor의 속도를 높이는 이론(기능 - iCustom) - 페이지 9

 
-Aleks- :
고맙습니다.
이것은 MT4의 경우입니다. MT5에서는 두 경우 모두에 하나의 인스턴스가 있습니다.
 
Dmitry Fedoseev :
이것은 MT4의 경우입니다. MT5에서는 두 경우 모두에 하나의 인스턴스가 있습니다.

알았습니다.

Renat은 침묵하고 메모리 버그가 언제 수정될지 모르기 때문에 스크립트 코드를 전문가에게 전송하는 비용을 지불하기로 결정했습니다.

 
표시기가 MT4 어드바이저 코드에 등록되었지만 호출되지 않은 경우 알려주세요(사용자가 설정에서 전화를 걸지 않았거나 알고리즘이 이를 제공하지 않거나 표시기 A를 지속적으로 호출하는 선택을 제공합니다 또는 B), 메모리가 할당 됩니까?
 
-Aleks- :

그러나 이것이 사실이 아니라면 지표의 정보를 하나의 당밀로 결합하지 않는 이유는 무엇입니까?

Expert Advisor의 성능을 측정하여 이 주제에 대한 실험을 수행할 것을 제안합니다.

이렇게 하려면 버퍼가 1보다 큰 사용자 지정 표시기를 가져와서 추가 버퍼를 추가해야 합니다.

알고리즘은 논리적입니다(수학적 없음).

1. 버퍼 값을 표시기의 정수로 변환해 보겠습니다. 숫자당 자릿수에 따라 총 3개의 버퍼가 있습니다. 1.21101; 1.13; 5가 되었습니다: 121101;113;5

2. 우리는 첫 번째 숫자 다음에 몇 자릿수를 배치해야 하는지 고려합니다. 우리의 경우 4이고 다음 숫자의 다음 숫자는 1이고 이 값은 승수의 거듭제곱입니다.

1.21101*10^4=1211010000

1.13*10^1=113

5*10^0=5(0 확인)

3. 숫자를 더하고 1211011135를 얻습니다.

4. 버퍼 4에 값 쓰기

5. EA 4에 표시기 버퍼를 요청하고 값을 역순으로 구성 요소로 분해합니다. 나중에 EA 작업에 사용할 수 있는 3자리를 얻습니다.

누군가이 접근 방식의 속도를 비교할 수 있습니까? 합리적인 결정이 있습니까?

얼마 전에 나는이 이론을 확인했습니다. 그래픽 버퍼에는 다른 버퍼의 값을 붙일 수없는 심각한 제한이 있음이 밝혀졌습니다. 특히 계측기 가격이 표시되는 경우에는 더욱 그렇습니다. 그러나 표시기 기능을 계산하는 동일한 원리에 따라 방법을 만들고 Expert Advisor에 기능을 내장했으며 이제 한 번의 요청으로 한 번에 세 개의 가상 표시기 버퍼를 얻습니다. 이 경우 성능 이득은 숫자에 비례합니다 요청에 대한 함수 응답.