MA 피드 축적 감지를 알고리즘화하는 방법은 무엇입니까? - 페이지 2

 
Dmitry Fedoseev :

더 이상 발명하기에는 너무 게으르다. 원칙적으로 문제가 해결된다는 암시가 있습니다.

이 모든 피드는 이전 가격의 히트맵일 뿐입니다. 옆모습.😉

그리고 평균과 달리 온도 지도는 미래로 확장될 수 있습니다. 그리고 정전, 그들은 마구를 찾기 쉽습니다.
 
Maxim Kuznetsov :
이 모든 피드는 이전 가격의 히트맵일 뿐입니다. 옆모습.😉

그리고 평균과 달리 온도 지도는 미래로 확장될 수 있습니다. 그리고 정전, 그들은 마구를 찾기 쉽습니다.

응!

기성품 고정 관념이있을 때 모든 것이 간단합니다.

그리고 그것들을 개발하는 것은 쉬운 일이 아닙니다 ...

방향을 주셔서 감사합니다!
 
Mikhail Toptunov :

응!

기성품 고정 관념이있을 때 모든 것이 간단합니다.

그리고 그것들을 개발하는 것은 쉬운 일이 아닙니다 ...

방향을 주셔서 감사합니다!

히트맵 계산을 위한 대략적인 알고리즘(예: 100bar):

1에서 100까지의 모든 닫기:

닫기[N]=X는 시리즈 히트맵의 합계를 히트맵에 추가합니다[Resolution(X)]+={X/N} + {X/(N+1)}+{X/(N+2)} .. 최대 100 .
중괄호가 평균의 "구성요소"라는 사실을 방금 강조했습니다.
Resolution(X) - "해상도", 예를 들어 라운드당 10포인트((X-MininalX)/Point/10)

필요한 로컬 최대값을 찾을 수 있는 벡터를 얻습니다.

이 벡터는 사실상 수직 가격 프로필입니다.

 

일단 시작...

곡선의 직접 누적을 간단하고 빠르게 감지할 수 있습니다.

alg.: 축에서 D 내 점의 최대 클러스터를 검색합니다. (그리기는 쉬울지 모르지만 아티스트는 아님)

보조 축의 각 X 포인트는 X+D 수준에서 +1을 표시하고 XD 수준에서 -1을 표시합니다.

그런 다음 추가 축을 따라 달리고 마크의 증가하는 양을 계산합니다. 동시에 최대값, 기간 및 위치를 기억합니다.

모두.

그러나 세로 프로필 또는 온도 지도가 있는 옵션이 더 낫지만 길고 리소스가 많이 필요합니다.

1) 가격에서 직접 계산되기 때문입니다. 2) SMA와의 연결을 유지합니다. 3) 주문서와 관련이 있습니다. 4) 가변적입니다. 감쇠, 흐림 효과로 "재생"하고 자신만의 것을 찾을 수 있기 때문입니다.

 
Mikhail Toptunov :

MA 반복을 가격별로, 기간별로 다시 계산해 보았습니다.

다음과 같이 했습니다.

- 각 MA가 한 방향에서 다른 방향으로 전환되는 순간 결정 - signal1

- 데이터를 수신한 후 막대에서 signal1 의 반복 횟수를 셉니다.

하지만 결과는 너무 시끄러웠다


그런 다음 현재 막대의 MA 누적이 다음 막대에서 감소하는 기간을 갖는 것으로 나타났습니다. 즉, 지혈대가 기간 동안 아래쪽으로 이동했습니다.

signal1에 의해 데이터를 체인으로 연결하기 시작하여 결과 데이터에서 전환 순간을 찾았습니다.


그러나 모든 것이 정확히 잘못된 방식으로 작동하고 소음이 발생하며 표시되지 않습니다.



젠장, 템플릿이 작동하지 않습니다, 상단 창이 비어 있습니다


이상적으로 작업은 파란색 마커로 표시된 값을 얻는 것입니다

Maxim이 귀하에게 올바르게 씁니다.

최대 기간으로 석사를 취득하고 최소 기간으로 취득하십시오.

그리고 모든 것이 내 생각에 있으며 여기에 있습니다 - 피드

템플릿은 쾅하고 작동하며 모든 것이 훌륭하게 보이고 매우 명확합니다.


 

다른 옵션

하나

파일:
22.mq5  4 kb
 

그리고 하나 더

파일:
23.mq5  6 kb
 
이를 위해 일주일 또는 한 달 동안 앉을 수 있습니다 ...
 
Maxim Kuznetsov :

히트맵 계산을 위한 대략적인 알고리즘(예: 100bar):

1에서 100까지의 모든 닫기:

닫기[N]=X는 시리즈 히트맵의 합계를 히트맵에 추가합니다[Resolution(X)]+={X/N} + {X/(N+1)}+{X/(N+2)} .. 최대 100 .
중괄호가 평균의 "구성요소"라는 사실을 방금 강조했습니다.
Resolution(X) - "해상도", 예를 들어 라운드당 10포인트((X-MininalX)/Point/10)

필요한 로컬 최대값을 찾을 수 있는 벡터를 얻습니다.

이 벡터는 사실상 수직 가격 프로필입니다.

공식을 통합하려고 하는데... 너무 빡빡해서...

 #define           Pmax 100    //размер массива по периоду

void ...
{
   for ( int p= 5 ; p<=Pmax; p++) // отбор по периодам
       for ( int b=rates_total-Pmax; b<rates_total; b++)
        {
         double pr=sm.d[p- 1 ].m[b]; // массив значений цен МА        p-период, b-бар        
        }
}

나는 각 막대에 대한 각 기간의 값을 가지고 있습니다 - pr

계산이 끝나면 무엇을 얻어야 합니까?:

- 각 막대에 대한 수직 벡터(값 배열),

첫 번째 막대의 값을 계산하면

heatmap[ Round(( pr -MininalX)/Point/10) ]+=pr;

MininalX - 100 MA 기간의 최소 가격 값

내가 운전대를 잡고 있다는 것을 이해합니다. 용서를 구합니다!)

 
Mikhail Toptunov :

공식을 통합하려고 하는데... 너무 빡빡해서...

나는 각 막대에 대한 각 기간의 값을 가지고 있습니다 - pr

계산이 끝나면 무엇을 얻어야 합니까?:

- 각 막대에 대한 수직 벡터(값 배열),

첫 번째 막대의 값을 계산하면

MininalX - 100 MA 기간의 최소 가격 값

내가 운전대를 잡고 있다는 것을 이해합니다. 용서를 구합니다!)

예, 합계에서 "수직 벡터"를 가져와야 합니다. 벡터의 각 요소는 예를 들어 10포인트를 담당합니다(합산).

즉, 바의 경우:

1. Pmax 막대의 가격을 실행하여 최대값, 최소값 및 벡터 크기를 결정합니다.

2. 다시 한 번 각 가격에 대해 가격을 실행합니다.

2.1 추가할 벡터 요소 결정

2.2 추가할 양을 결정합니다. N을 상쇄하기 위해 PRICE * (sum 1/N 1/(N+1) 1/(N+2) ... 1/Pmax) 를 추가합니다.
괄호 안에 있는 것은 2개의 고조파 계열 = H(Pmax)-H(N-1)의 차이입니다 . 원하면 빠르게 셀 수 있습니다.

---

이유: N 막대의 거리에 있는 가격은 Pmax에서 N으로 SMA 그룹으로만 "떨어집니다". N보다 작은 역할은 하지 않으며 Pmax보다 더 깊은 것은 고려하지 않습니다.

각 SMA에서 가중치는 1/주기, 즉 한번에 1/N 1/(N+1) 1/(N+2) ...