更好的布林线... - 页 14

 

你好。

我试过更好的布林带,但我发现它比标准版更难。换句话说,我喜欢看偏差线的标准方式。也许随着时间的推移,我会习惯于这种新的 "更好 "的方式。谁能好心地检查一下这段代码,确保它符合最新的MT4版本。我是从这个论坛上下载的,所以我非常感谢那些帮助我们这些不懂代码的人的工作。

非常感谢-

jbozman

附加的文件:
 
jbozman:
你好。

我试过更好的布林带,但我发现它比标准版更难。换句话说,我喜欢查看偏差线的标准方式。也许随着时间的推移,我会习惯于这种新的 "更好 "的方式。谁能好心地检查一下这段代码,确保它符合最新的MT4版本。我是从这个论坛上下载的,所以我非常感谢那些帮助我们这些不懂代码的人的工作。

非常感谢-

jbozman

jbozman

该指标一切正常。它不需要修改任何代码

 
mladen:
jbozman 该指标一切正常。它不需要修改任何代码

非常感谢您。这一定是我这边的问题......也许是离线工作?

我添加了有特定设置的指标......200 BB dev 2,15分钟时间框架。当我切换到30分钟图查看波段时,它消失了。即使我在离线状态下使用其他指标,它们在切换时间框架时也不会消失。所以这一定是用这个指标离线工作的原因,而不是代码的问题?

非常感谢。你真是太客气了。

jbozman

 
jbozman:
非常感谢您。这一定是我的问题......也许是在离线工作?

我在特定的设置下添加了该指标......200 BB dev 2,15分钟的时间框架。当我切换到30分钟图查看波段时,它消失了。即使我在离线状态下使用其他指标,它们在切换时间框架时也不会消失。所以这一定是用这个指标离线工作的原因,而不是代码的问题?

非常感谢。你真是太客气了。

jbozman

jbozman

对于新的metatrader 4和离线图表,没有什么可以想当然。如果该指标在常规图表上工作正常,而在离线图表上引起一些问题,那么问题就来自于离线图表的实施或来自于metatrader。

 

谢谢你提供的信息,mladen。

这里还有一个问题,与上面的答案无关,但与布林带 有关。

它们需要大量的处理能力吗?我在图表上使用3个布林带,我想知道它们是否比使用3条移动平均线需要更多的处理器能力。

我尽量少用指标,在我的图表上也有一些其他的指标,但它们是 "静态的",如果你愿意的话......它们是前一天的高/低点等对象。我假设这些不需要处理能力,对吗......只需要内存?

我只是想尽可能地简化我的图表,并希望尽可能地使用少数指标。

谢谢

 
jbozman:
谢谢你提供的信息,mladen。

这里还有一个问题,与上面的答案无关,但与布林带有关。

它们是否需要大量的处理能力?我在我的图表上使用3个布林带,我想知道它们是否比使用3条移动平均线需要更多的处理能力。

我尽量少用指标,在我的图表上也有一些其他的指标,但它们是 "静态的",如果你愿意的话......它们是前一天的高/低点等对象。我假设这些不需要处理能力,对吗......只需要内存?

我只是想尽可能地简化我的图表,并希望尽可能地使用少数指标。

谢谢

jbozman

布林带 是一个极其简单的计算指标:它不应该导致任何形式的终端缓慢的黎明。

 

举个例子:这里是布林带指标的样子(简单到不能再简单--不像metatrader自带的例子--避免使用那个)。

#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 LimeGreen

#property indicator_color2 DimGray

#property indicator_color3 Orange

#property indicator_style2 STYLE_DOT

extern int BandsLength = 20;

extern double BandsDeviation = 2;

double MaBuffer[];

double UpperBand[];

double LowerBand[];

//

//

//

//

//

int init()

{

SetIndexBuffer(0,UpperBand);

SetIndexBuffer(1,MaBuffer);

SetIndexBuffer(2,LowerBand);

return(0);

}

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars < 0) return(-1);

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for (int i=limit;i>=0;i--)

{

double deviation = iStdDev(NULL,0,BandsLength,0,MODE_SMA,PRICE_CLOSE,i);

MaBuffer = iMA(NULL,0,BandsLength,0,MODE_SMA,PRICE_CLOSE,i);

UpperBand = MaBuffer+BandsDeviation*deviation;

LowerBand = MaBuffer-BandsDeviation*deviation;

}

return(0);

}

bollinger_bands.mq4

附加的文件:
 
mladen:
作为说明:这是布林带指标的样子(简单到不能再简单--不像metatrader自带的例子--避免使用那个)。
#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 LimeGreen

#property indicator_color2 DimGray

#property indicator_color3 Orange

#property indicator_style2 STYLE_DOT

extern int BandsLength = 20;

extern double BandsDeviation = 2;

double MaBuffer[];

double UpperBand[];

double LowerBand[];

//

//

//

//

//

int init()

{

SetIndexBuffer(0,UpperBand);

SetIndexBuffer(1,MaBuffer);

SetIndexBuffer(2,LowerBand);

return(0);

}

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars < 0) return(-1);

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for (int i=limit;i>=0;i--)

{

double deviation = iStdDev(NULL,0,BandsLength,0,MODE_SMA,PRICE_CLOSE,i);

MaBuffer = iMA(NULL,0,BandsLength,0,MODE_SMA,PRICE_CLOSE,i);

UpperBand = MaBuffer+BandsDeviation*deviation;

LowerBand = MaBuffer-BandsDeviation*deviation;

}

return(0);

}
bollinger_bands.mq4

非常感谢。我能否请你看一下这个MTF版本。我只用MTF来保持不同时间框架的一致性。

这是个附件。你能告诉我这段代码是否简单?它看起来相当简单...没有多少行代码。但我不是一个编码员。

jbozman

附加的文件:
 
jbozman:
非常感谢。我可以请你看一下这个MTF版本吗?我只用MTF来保持各时间段的一致性。

这是个附件。你能告诉我这段代码是否简单吗?它看起来相当简单...没有多少行代码。但我不是一个编码员。

jbozman

jbozman

它计算波段的方式一切正常。有两个缺陷:它不能计算小数段的宽度;在多时间框架模式下,它将进入经典的重绘状态(它不更新当前图表中属于较高时间框架的所有条形的状态)。

 
mladen:
jbozman 它计算波段的方式一切正常。有两个缺陷:它不能计算小数段的宽度,在多时间框架模式下,它将进入经典的重绘(它不更新当前图表中属于更高时间框架的所有条形的状态)。

很好。那么,需要什么来修复它呢?能否请你修复它或提供一个克服这些缺陷的?

我真的很喜欢MTF版本,因为各时间段的波段保持一致。

另外,附件是一个MTF移动平均线。这是否也有同样的内在问题,还是可以的?如果它有问题,要求你也帮助修复它,使这些不是问题,是不是太过分了?

我还没有交易,正在开发我自己的方法,需要这些作为它的一部分。我很感谢你指出了重绘的问题。

这里是MTF MA。

编辑过的帖子。

我明白了,你说波段的计算是可以的。分数并不那么重要,但如果能有就真的很好了。我也明白,低位的TF与MTF上的高位TF不匹配。有什么方法可以克服这个问题吗?我希望它能更新。我没有足够的知识来谈论MTF和较高TF的更新问题。我只知道我希望看到各TF之间有相同的代表性。

附加的文件: