PPZ計算 - 精度を上げるのに役立つ - ページ 2

 
EAとしてはちょっと重いけど、いいんじゃない?軽くすることはできるかもしれませんが、追加解析としてのビジュアルトレーディングにはあまり効果がないのではないでしょうか。
 
最適化については。私見ですが、出来上がった配列Fr0[j]をソートして、その上で踊ると、結果は1パスで済むと思います。
 

このコードでは、2つのフラクタルが同時に存在するバーについては考慮されていません。


j=0;
for(i = loopbegin; 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) { { { { (MathAbs(Ind0[a]-Ind0[l])>minBars)
p0=(f0+f1+f2+f3)/4.
s0 = (f0-p0)*(f0-p0)+(f1-p0)*(f1-p0)+(f2-p0)*(f2-p0)+(f2-p0)*(f2-p0);
if (s0<smin) {
smin=s0です。
pmin=p0とする。
imin=iです。
jmin=jとする。
kmin=kです。
lmin=lです。
}
}
}
}
}
}
}
}

そしてこのコードはコピーするのではなく、関数の中に入れて4回使用する必要があります。Fr0 のフラクタルはゼロにし、次のパスには参加しないようにする必要があります。



 

なぜ、反復のたびにフラクタルにするのか?一度やって、後から分析する方が楽なのでは?それに、比較は正方形ではなく三角形に収束するはずです(フラクタル1と2を2回比較し、さらに2と1を比較しても意味がない)。私は少し違った方法で行いました。このインジケータは、4つのレベルを見つけるまで、0ピップス以上からのダイバージェンスを順次探します。レベル間の距離は制限していません。


ファイル:
 
Scriptong писал(а)>>

なぜ、反復のたびにフラクタルにするのか?一度やって、後から分析する方が楽なのでは?それに、比較は正方形ではなく三角形に収束するはずです(フラクタル1と2を2回比較し、さらに2と1を比較しても意味がない)。私は少し違った方法で行いました。このインジケータは、4つのレベルを見つけるまで、0ピップス以上からのダイバージェンスを順次探します。レベル間の距離は制限していません。

素晴らしいスピードが全然違う...。 :)

受信したレベルの値をインジケーターのバッファに保存してもよいですか?Expert Advisorから後で処理するためです。

 

自分でもエキスパートを作ろうと思っています。いくつかアイデアがあります。でも、もっと面白いアイデアを持っている人がいるかも?作ってCode Baseに投稿してみます。

 
Scriptong писал(а)>>

自分でもエキスパートを作ろうと思っています。いくつかアイデアがあります。でも、もっと面白いアイデアを持っている人がいるかも?作ってCode Baseに掲載する予定です。

このような方法で追加してみてはいかがでしょうか。

if (period == 0) {period = WindowBarsPerChart();}、if (period == 0) {period = WindowBarsPerChart();}。
そして、計算するバーの本数を画面のどこかに表示する...。

 
mikola2 >>:

if (period == 0) {period = WindowBarsPerChart();}
И выводить где-нибудь на экране количество баров для расчета...

そういう意味ではないのですが......。)

Expert Advisorについての考え方。指標そのものにプラスアルファがあることは明らかです

 
何かアイデアがあれば、関数にする、つまり七面鳥のロジックを作る、できるのか?
 
qwerewq >>:
Идеи есть, сделайте его в виде функции, логику индюка имею в виду, сможете?


すでに機能の形になっているのですが...。