PPZ 계산 - 개선에 도움 - 페이지 2

 
칠면조는 고문에게 너무 무겁지만 아이디어는 좋습니다. 더 쉽게 만들 수 있을지도 모르지만 원칙적으로는 시각적 거래에 대한 추가 분석으로 갈 것입니다.
 
최적화에 대해 제 생각에는 결과 배열 Fr0[j]를 정렬하고 이미 그 배열에서 춤을 추어야 하므로 결과적으로 하나의 패스만 얻을 수 있습니다.
 

이 코드는 동시에 두 개의 프랙탈이 있는 막대를 고려하지 않습니다.


j=0;
for(i = 루프 시작, i > Nfirst, i--) {
f0 = -1.0;
f0 = iFractals(NULL,0,MODE_UPPER,i);
if (f0<=0.0 ) f0 = iFractals(NULL,0,MODE_LOWER,i);
if (f0>0.0) {
Fr0[j]=f0;
Ind0[j]=i;
j++;
}
}
Nmax = j;


그리고 여기에서는 모든 프랙탈을 살펴볼 필요가 없습니다. 프랙탈 #1을 #2와 비교하거나 #2를 #1과 비교하든 상관없습니다.
다음과 같이 수정해야 합니다.


for(i = 0, i < Nmax, i++) {
f0 = Fr0[i];
for(j = i+1 ; j < Nmax; j++) {
f1=Fr0[j];
if (MathAbs(Ind0[i]-Ind0[j])>minBars) {
for(k = j+1 ; k < Nmax; k++) {
f2 = Fr0[k];
if (MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) {
for(l = k+1 ; l < Nmax; l++) {
f3 = Fr0[l];
if (MathAbs(Ind0[i]-Ind0[l])>minBars && MathAbs(Ind0[j]-Ind0[l])>minBars && MathAbs(Ind0[k]-Ind0[l])>minBars) {
p0 = (f0+f1+f2+f3)/4.0;
s0 = (f0-p0)*(f0-p0)+(f1-p0)*(f1-p0)+(f2-p0)*(f2-p0)+(f2-p0)*(f2-p0);
if (s0<smin) {
smin=s0;
pmin=p0;
이민=나;
jmin=j;
kmin=k;
lmin=1;
}
}
}
}
}
}
}
}

그리고 이 코드를 함수에 넣어 4번 사용해야 하며, 코드를 복사하지 않아야 합니다. Fr0의 프랙탈은 다음 패스 동안 계산에 참여하지 않도록 0으로 설정해야 합니다.



 

각 반복에서 프랙탈을 반복하는 이유는 무엇입니까? 한 번 해보고 분석해보면 더 쉽겠죠? 또한 비교는 정사각형이 아닌 삼각형으로 수렴되어야 합니다(프랙탈 1과 2를 두 번 비교한 다음 2와 1을 비교하는 것은 의미가 없습니다). 저는 조금 다르게 했습니다. 지표는 0포인트 이상에서 4단계를 찾을 때까지 지속적으로 다이버전스를 찾습니다. 레벨 사이의 거리를 제한하지 않았습니다.


파일:
 
Scriptong писал(а) >>

각 반복에서 프랙탈을 반복하는 이유는 무엇입니까? 한 번 해보고 분석해보면 더 쉽겠죠? 또한 비교는 정사각형이 아닌 삼각형으로 수렴되어야 합니다(프랙탈 1과 2를 두 번 비교한 다음 2와 1을 비교하는 것은 의미가 없습니다). 저는 조금 다르게 했습니다. 지표는 0포인트 이상에서 4단계를 찾을 때까지 지속적으로 다이버전스를 찾습니다. 레벨 사이의 거리를 제한하지 않았습니다.

괜찮은! 속도가 완전 달라요... :)

수신된 레벨의 값을 칠면조의 버퍼에 입력할 수 있습니까? 전문가로부터 나중에 처리합니다.

 

내가 직접 전문가를 만들겠다. 몇 가지 아이디어가 있습니다. 하지만 누군가 더 흥미로운 생각을 하고 있을까요? 만들어서 Code Base에 올리겠습니다.

 
Scriptong писал(а) >>

내가 직접 전문가를 만들겠다. 몇 가지 아이디어가 있습니다. 하지만 누군가 더 흥미로운 생각을 하고 있을까요? 만들어서 Code Base에 올리겠습니다.

다음을 추가할 수도 있습니다.

if (마침표 == 0) {기간 = WindowBarsPerChart();}
그리고 화면 어딘가에 계산을 위한 막대의 수를 표시합니다...

 
mikola2 >> :

if (마침표 == 0) {기간 = WindowBarsPerChart();}
그리고 화면 어딘가에 계산을 위한 막대의 수를 표시합니다...

나는 그것을 의미하지 않았다 :)

전문가에 대한 아이디어. 지표 자체에서 많은 것을 추가할 수 있다는 사실은 분명합니다.

 
아이디어가 있습니다. 기능으로 만드십시오. 칠면조 논리를 의미합니다. 할 수 있습니까?
 
qwerewq >> :
Идеи есть, сделайте его в виде функции, логику индюка имею в виду, сможете?


함수의 형태로...