//| 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 ;
//| 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 ;
안녕하세요 가격좀 알려주세요 더 큰 프랙탈의 첫 번째부터 - 가장 가까운 4개의 상위 프랙탈.
안녕하세요 가격좀 알려주세요 더 큰 프랙탈의 첫 번째부터 - 가장 가까운 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 );
}
안녕하세요 가격좀 알려주세요 더 큰 프랙탈의 첫 번째부터 - 가장 가까운 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개의 프랙탈을 선택해서 선택해야 하고, 쓸데없는 하부 프랙탈을 쏴서 막심 하나 남겨두세요 :)
그것을 하는 방법?