[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 121

 

http://clip2net.com/s/2LkQp

당신이 할 수있는 것보다 hto를 도와주세요 ... 안녕하세요! 설정 창에서 프랙탈에 대한 설정을 빼야 하는데 기능에 있습니다....

 
Allis :

http://clip2net.com/s/2LkQp


당신이 할 수있는 것보다 hto를 도와주세요 ... 안녕하세요! 설정 창에서 프랙탈에 대한 설정을 해줘야 하는데, 그 설정이 기능에 있습니다....


추가 ;


extern int Bars.left = 5;

그리고 다음도

반복되지 않도록 아래 줄을 주석 처리하십시오.

// int Bars.left =5;

// int Bars.right =5;

 
BeerGod :

추가 ;


extern int Bars.left = 5;

그리고 다음도

반복되지 않도록 아래 줄을 주석 처리하십시오.

// int Bars.left =5;

// int Bars.right = 5;


내가 무엇을 했습니까, 당신이 쓴 것을하지 않았습니까? 그것을 Externs로 가져 와서 맨 아래에 주석을 달았습니다 ....

http://clip2net.com/s/2LlEi 글쎄, 나는 실제로 이것을 시작했습니다.

 //+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 1999-2008, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "© 2007 Takbir"
#property link       "www.stigal.com"
//----
#define major   1
#define minor   1
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkGreen
#property indicator_color2 Maroon
#property indicator_width1   1
#property indicator_width2   1
extern int Bars .left = 5      // надо что бы было здесь и соответственно в окошке настроек
extern int Bars .right = 5      // надо что бы было здесь и соответственно в окошке настроек
//----
double UpperFr[];
double LowerFr[];
//----
int Bars .left= 5 ;       //а оно здесь, да ещё участвует в формуле
int Bars .right= 5 ;       //а оно здесь, да ещё участвует в формуле

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   SetIndexBuffer ( 0 , UpperFr);
   SetIndexBuffer ( 1 , LowerFr);
   //
   SetIndexEmptyValue( 0 , 0 );
   SetIndexEmptyValue( 1 , 0 );
   //
   SetIndexStyle( 0 , DRAW_ARROW );
   SetIndexArrow( 0 , 159 );
   //
   SetIndexStyle( 1 , DRAW_ARROW );
   SetIndexArrow( 1 , 159 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int counted=IndicatorCounted();
   if (counted < 0 ) return (- 1 );
   if (counted > 0 ) counted--;
   int limit= Bars -counted;
//-----
   double dy= 0 ;
     for ( int i= 1 ; i<= 20 ; i++) 
     {
      dy+= 0.3 *(High[i]-Low[i])/ 20 ;
     }
   for (i= 1 + Bars .right; i<=limit+ Bars .left; i++)
     {
      UpperFr[i]= 0 ;
      LowerFr[i]= 0 ;
//----
       if (IsUpperFr(i)) UpperFr[i]=High[i] + dy;
       if (IsLowerFr(i)) LowerFr[i]=Low[i] - dy;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsUpperFr( int bar)
  {
   for ( int i= 1 ; i<= Bars .left; i++)
     {
       if (bar+i>= Bars ) return ( false );

       if (High[bar] < High[bar+i]) return ( false );
     }
   for (i= 1 ; i<= Bars .right; i++)
     {
       if (bar-i < 0 ) return ( false );
       if (High[bar] < High[bar-i]) return ( false );
     }
//----
   return ( true );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsLowerFr( int bar)
  {
   for ( int i= 1 ; i<= Bars .left; i++)
     {
       if (bar+i>= Bars ) return ( false );
       if (Low[bar] > Low[bar+i]) return ( false );
     }
   for (i= 1 ; i<= Bars .right; i++)
     {
       if (bar-i < 0 ) return ( false );
       if (Low[bar] > Low[bar-i]) return ( false );
     }
//----
   return ( true );
  }
//+------------------------------------------------------------------+
 

이렇게 시도

 //+------------------------------------------------------------------+
//|                                                                  |
//|                 Copyright © 1999-2008, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "© 2007 Takbir"
#property link       "www.stigal.com"
//----
#define major   1
#define minor   1
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkGreen
#property indicator_color2 Maroon
#property indicator_width1   1
#property indicator_width2   1
extern int Bars .left = 5 ;     // надо что бы было здесь и соответственно в окошке настроек
extern int Bars .right = 5 ;     // надо что бы было здесь и соответственно в окошке настроек
//----
double UpperFr[];
double LowerFr[];
//----
//int Bars.left=5;       //а оно здесь, да ещё участвует в формуле
//int Bars.right=5;      //а оно здесь, да ещё участвует в формуле

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void init()
  {
   SetIndexBuffer ( 0 , UpperFr);
   SetIndexBuffer ( 1 , LowerFr);
   //
   SetIndexEmptyValue( 0 , 0 );
   SetIndexEmptyValue( 1 , 0 );
   //
   SetIndexStyle( 0 , DRAW_ARROW );
   SetIndexArrow( 0 , 159 );
   //
   SetIndexStyle( 1 , DRAW_ARROW );
   SetIndexArrow( 1 , 159 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void start()
  {
   int counted=IndicatorCounted();
   if (counted < 0 ) return (- 1 );
   if (counted > 0 ) counted--;
   int limit= Bars -counted;
//-----
   double dy= 0 ;
     for ( int i= 1 ; i<= 20 ; i++) 
     {
      dy+= 0.3 *(High[i]-Low[i])/ 20 ;
     }
   for (i= 1 + Bars .right; i<=limit+ Bars .left; i++)
     {
      UpperFr[i]= 0 ;
      LowerFr[i]= 0 ;
//----
       if (IsUpperFr(i)) UpperFr[i]=High[i] + dy;
       if (IsLowerFr(i)) LowerFr[i]=Low[i] - dy;
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsUpperFr( int bar)
  {
   for ( int i= 1 ; i<= Bars .left; i++)
     {
       if (bar+i>= Bars ) return ( false );

       if (High[bar] < High[bar+i]) return ( false );
     }
   for (i= 1 ; i<= Bars .right; i++)
     {
       if (bar-i < 0 ) return ( false );
       if (High[bar] < High[bar-i]) return ( false );
     }
//----
   return ( true );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsLowerFr( int bar)
  {
   for ( int i= 1 ; i<= Bars .left; i++)
     {
       if (bar+i>= Bars ) return ( false );
       if (Low[bar] > Low[bar+i]) return ( false );
     }
   for (i= 1 ; i<= Bars .right; i++)
     {
       if (bar-i < 0 ) return ( false );
       if (Low[bar] > Low[bar-i]) return ( false );
     }
//----
   return ( true );
  }
//+------------------------------------------------------------------+


 
BeerGod :

이것을 시도하십시오, 그것은 오류없이 컴파일됩니다, 나는 성능을 확인하지 않았습니다)


틴 .... 처음부터 시작했습니다 .... 바로 이것부터 ... 링크를 올렸습니다 .... 그리고 왠일인지 잘 안되네요 ... 감사합니다!
 
hoz :

Artyom, 당신 같은 주스를 마시는 것이 좋습니다. 나는 맥주를 조언하지 않습니다 ... 순전히 내 마음의 바닥 나는 조언하지 않습니다 .. :)

음...8년째 술을 마시기 싫었다 - 재미없네요... :)

건강관리 잘해주셔서 감사합니다 ;)

 
hoz :

아니요. 추가 조건과 확인은 추가 리소스 비용이라고 생각합니다.
예 ... 나중에 Kolya 삼촌 앞에서 보고서를 유지하는 것보다 몇 가지 필요한 검사에 대한 자원 비용을 놓치기가 훨씬 쉽습니다 ...
 
Allis :

틴 .... 처음부터 시작했습니다 .... 바로 이것부터 ... 링크를 올렸습니다 .... 그리고 왠일인지 잘 안되네요 ... 감사합니다!
단순히 변수를 선언한 후 세미콜론을 넣어야 했지만 세미콜론이 없었기 때문에 제대로 작동하지 않았습니다.
 

다른 각도에서 표준 양초를 보기 위해 타임라인을 왼쪽에서 오른쪽으로 이동하려고 했습니다. 시간별 양초가 00분이 아닌 10 또는 20시에 시작하고 종료되도록 했습니다.

이것은 몇 가지 추가 정보를 제공합니다. 며칠 동안에도 마찬가지입니다. 시간 단위로 교대합니다(예: 열린 세션). Excel에서 csv 아카이브 편집을 시작했지만 어떻게 든 힘든 것으로 판명되었습니다. 누군가가 회의 시간을 이동하고 나머지 TF를 다시 계산하는 다른 솔루션을 볼 수 있습니다.

 
Operr :

다른 각도에서 표준 양초를 보기 위해 타임라인을 왼쪽에서 오른쪽으로 이동하려고 했습니다. 시간별 양초가 00분이 아닌 10 또는 20시에 시작하고 종료되도록 했습니다.

이것은 몇 가지 추가 정보를 제공합니다. 며칠 동안에도 마찬가지입니다. 시간 단위로 교대합니다(예: 열린 세션). Excel에서 csv 아카이브 편집을 시작했지만 어떻게 든 힘든 것으로 판명되었습니다. 누군가가 회의 시간을 이동하고 나머지 TF를 다시 계산하는 다른 솔루션을 볼 수 있습니다.


period_converter 스크립트를 가지고 마음대로 캔들 커팅 조건을 완료하면 행복할 것입니다. 예를 들어, x시간 10분 동안 양초를 얻으려면:

       if (time0>=i_time+periodseconds || i== 0 )

~로 교체되다

       if (TimeMinute(time0)== 10 || i== 0 )

글쎄, 또는 이와 유사한 것)))