[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 121

 

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

你可以做任何事情来帮助...向大家问好!我需要把分形的设置放在设置窗口中,而它们在功能....。

 
Allis:

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


你可以做任何事情来帮助...向大家问好!我需要把分形的设置放在设置窗口中,而它们在功能....。


添加;


外部int Bars.left =5;

并在下一次也是如此。

并注释出下面的行,以便它们不会重复。

// int Bars.left =5。

// int Bars.righ =5。

 
BeerGod:

添加;


外部int Bars.left =5;

而且在下一篇文章中也是如此

并注释出下面的行,以便它们不会重复。

// int Bars.left =5。

// int Bars.righ =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:

试试这个,它的编译没有错误,我没有检查功能)


Bummer....我从这个....正是从这个...我发布了链接....由于某些原因,它没有起作用...谢谢你!
 
hoz:

阿特姆,你最好像你那样喝果汁。我不推荐啤酒...我不建议这样做...:)

呃...我已经八年不想喝酒了--对它不感兴趣......。:)

谢谢你对自己健康的关心;)

 
hoz:

不,我只是认为不必要的条件和检查是对资源的一种浪费。
是的...跳过一些必要的检查比向科里亚叔叔报告要容易得多......。
 
Allis:

Bummer....我从那里开始....正是从这个...我发布了链接....由于某些原因,它没有起作用...谢谢你!
它没有工作,只是因为你必须在变量声明 后面加一个分号,而你没有分号。
 

为了从不同的角度看标准的蜡烛图,我将把时间线从左边移到右边。 例如,每小时的蜡烛图应该在10或20分钟开始和结束,而不是00分钟。

它将提供一些额外的信息。在日线蜡烛图上也是如此--以小时为单位进行转移(例如:开盘时间)。我已经开始用excel编辑csv档案,但它们非常耗费时间。也许有人能看到一些其他的解决方案,转移分钟,重新计算其余的时间框架。

 
Operr:

为了从不同的角度看标准的蜡烛图,我要把时间线从左边移到右边。 每小时的蜡烛图不应该在00分钟开始和结束,而是在10或20分钟,比如说。

它将提供一些额外的信息。在日线蜡烛图上也是如此--以小时为单位进行转移(例如:开盘时间)。我已经开始用excel编辑csv档案,但它们非常耗费时间。也许有人可以看到一些其他的解决方案,以转移分钟并重新计算TF的其余部分。


你可以使用period_converter 脚本并修改烛台的裁剪条件。例如,一目了然,要得到x小时10分钟的蜡烛图。

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

换成

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

或如此)))。