//| nl - количество баров слева | //| nr - количество баров справа | //+----------------------------------------------------------------------------+ double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) { bool f; int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol(); if (nl<1) nl=1; if (nr<1) nr=1;
fb=nr; while (nb<0) { fb++; f=True; for (i=fb; i>fb-nr; i--) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; } } if (f) { for (i=fb; i<fb+nl; i++) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; } } if (f) { nb=fb; break; } } }
//| nl - количество баров слева | //| nr - количество баров справа | //+----------------------------------------------------------------------------+ double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) { bool f; int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol(); if (nl<1) nl=1; if (nr<1) nr=1;
fb=nr; while (nb<0) { fb++; f=True; for (i=fb; i>fb-nr; i--) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; } } if (f) { for (i=fb; i<fb+nl; i++) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; } } if (f) { nb=fb; break; } } }
return(iHigh(sy, tf, nb)); }
#property strict
voidOnStart() { int i=1,cnt=1; double lastupfr=0;
while(cnt<5) { double upfr=GetNearestUpFractal(_Symbol,0,2,2); if(upfr!=0) { if(upfr>lastupfr) lastupfr=upfr; cnt++; } i++; } Comment("Biggest UpFractal = ",lastupfr); } //----------- //| nl - количество баров слева | //| nr - количество баров справа | //+----------------------------------------------------------------------------+ double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) { bool f; int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol(); if (nl<1) nl=1; if (nr<1) nr=1;
fb=nr; while (nb<0) { fb++; f=True; for (i=fb; i>fb-nr; i--) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; } } if (f) { for (i=fb; i<fb+nl; i++) { if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; } } if (f) { nb=fb; break; } } }
こんにちは、1枚目から4枚目付近の 大きめのフラクタルの値段を知りたいのですが、教えてください。
こんにちは、1枚目から4枚目付近の 大きめのフラクタルの値段を知りたいのですが、教えてください。
{
Comment("Min = ",MaxMinFractal(MODE_LOWER, 4),"; Max = ",MaxMinFractal(MODE_UPPER, 4));
}
//===============================================================================================
//--------------------------------- Возвращает Max/Min фрактала --------------------------------+
//===============================================================================================
double MaxMinFractal(int mode=MODE_UPPER, int nf=4) {
string symb=Symbol();
double f=0,min=9999999,max=0;
int kf=0;
for(int i=3; i<iBars(symb, 0); i++) {
if(mode==MODE_LOWER){
f=iFractals(symb, 0, MODE_LOWER, i);
if(f!=0) {
kf++;
if(min>iLow(symb,0,i)) min=iLow(symb,0,i);
if(kf>=nf) return(min);
}}
if(mode==MODE_UPPER){
f=iFractals(symb, 0, MODE_UPPER, i);
if(f!=0) {
kf++;
if(max<iHigh(symb,0,i)) max=iHigh(symb,0,i);
if(kf>=nf) return(max);
}}}
return(-1);
}
こんにちは、1枚目から4枚目付近の 大きめのフラクタルの値段を知りたいのですが、教えてください。
void OnStart()
{
int i=1,cnt=1;
double lastupfr=0;
while(cnt<5)
{
double upfr=iFractals(_Symbol,0,1,i);
if(upfr!=0)
{
if(upfr>lastupfr) lastupfr=upfr;
cnt++;
}
i++;
}
Comment("Biggest UpFractal = ",lastupfr);
}
さらに短く )ありがとうございます。
そして、そのカスタマイズ可能なフラクタルから、どうやって最大限のものを選ぶのか?
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
さらに短く )ありがとうございます。
そして、そのカスタマイズ可能なフラクタルから、どうやって最大限のものを選ぶのか?
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
void OnStart()
{
int i=1,cnt=1;
double lastupfr=0;
while(cnt<5)
{
double upfr=GetNearestUpFractal(_Symbol,0,2,2);
if(upfr!=0)
{
if(upfr>lastupfr) lastupfr=upfr;
cnt++;
}
i++;
}
Comment("Biggest UpFractal = ",lastupfr);
}
//-----------
//| nl - количество баров слева |
//| nr - количество баров справа |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
bool f;
int fb, i, nb=-1;
if (sy=="" || sy=="0") sy=Symbol();
if (nl<1) nl=1;
if (nr<1) nr=1;
fb=nr;
while (nb<0) {
fb++;
f=True;
for (i=fb; i>fb-nr; i--) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
}
if (f) {
for (i=fb; i<fb+nl; i++) {
if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
}
if (f) { nb=fb; break; }
}
}
return(iHigh(sy, tf, nb));
}
そこで、最も近いフラクタルの価格を返します。
設定可能な4つのフラクタルの最大値を求めるには どうしたらよいのでしょうか?
だから、ニアフラクタルの価格を返す。
設定可能な4つのフラクタルの最大値を求めるには どうしたらよいのでしょうか?
あの...選択用に設定された4つのフラクタルは、価値のない劣ったフラクタルは吹き飛ばすことで、1つのマキシムカを残す必要があります:)。
どうやるんですか?