编码帮助 - 页 333

 

只是一个观察。

像这样的代码:

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1]))

意思是:DayLow是当天或前一天最低点的最小值(高点也一样)。现在,它在描述时看起来无害,但如果你想一想 "前一天的最低点 "是什么意思,很快你就会明白,它考虑到了图表中的所有条形。这也是一些阶梯指标的错误,Mark Jurik在他的一个随机 指标(我当时称它为 "无限长的随机指标")的计算中也有这样的错误......它导致了两件事:计算的数据变形(低点和高点总是只是更低或更高,而不是相反)和最终重绘(当你改变时间框架或符号,一些以前是最古老的条形被丢失,这可以影响最终结果)。

 

我试了一下。现在没有太多时间,所以请随时纠正。

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

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

if(counted_bars>0) counted_bars--;

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

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

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

 

我只是想问一件事,它在我的脑海中形成了很长时间的关于多时间框架指标。

请看这张图。这是一张带有Blau ergodic指标的道琼斯指数的6点区间图,我强调了卖出信号 的时刻。它发生在该蜡烛的末端。这根蜡烛在14.43开盘,在14.57收盘。

我在2点区间条形图上绘制了该指标,设置相同,将其指向6点区间条形图。

当6点图上的蜡烛还没有关闭时,它就显示了卖出信号的开始。我知道这是正常的mtf指标行为,不可能是别的。

我的目标是再创造两种颜色,浅粉色表示卖出信号,浅绿色表示买入信号,当较高的tf蜡烛还没有关闭。

所以,它应该是这样的。

我的问题是:有可能做到这一点吗?我应该如何处理这件事?

谢谢

附加的文件:
my.jpg  114 kb
2_pip.jpg  102 kb
6_pip.jpg  87 kb
 
thefxpros:
我只想问一个问题,这个问题在我脑海中已经有很长时间了,关于多时间框架指标。

请看这幅图。这是一张带有Blau ergodic指标的道琼斯指数6点区间图,我强调了卖出信号的时刻。它发生在该蜡烛图的末端。这根蜡烛在14.43开盘,在14.57收盘。

我在2点区间条形图上绘制了该指标,设置相同,将其指向6点区间条形图。

当6点图上的蜡烛还没有关闭时,它就显示了卖出信号的开始。我知道这是正常的mtf指标行为,不可能是别的。

我的目标是再创造两种颜色,浅粉色表示卖出信号,浅绿色表示买入信号,当较高的tf蜡烛还没有关闭。

所以,它应该是这样的。

我的问题是:有可能做到这一点吗?我应该如何处理这件事?

谢谢

可以做到的--只需为当前条形图增加2个缓冲区。

 
assassin:
我收到了关于这个的第一个链接

如果你用光标进入函数,你会看到它是什么?

像这样

mladen。
只有一个意见。

像这样的代码:

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1]) )

意思是说:日低点是当天或前一天最低点的最小值(高点也一样)。现在,它在描述时看起来无害,但如果你想一想 "前一天的最低点 "是什么意思,很快你就会明白,它考虑到了图表中的所有条形。这也是一些阶梯指标的错误,Mark Jurik在他的一个随机指标(我当时称它为 "无限长的随机指标")的计算中,以及其他一些指标的错误......它导致了两件事:计算的数据变形(低点和高点总是只低不高,从来没有相反)和最终重绘(当你改变时间框架或符号,一些之前是最古老的条形被丢失,这可能影响最终结果)
空问。
我试了一下。现在没有太多时间,所以请随时纠正。

//+------------------------------------------------------------------+

//| Magarto |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

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

if(counted_bars>0) counted_bars--;

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

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

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

大家早上好

首先我要道歉,因为我没有注意到他们的工作,Mia是一个请求,我没有关注你的问题。

Magarto是一个西班牙用户,正如你所说的mladen

使用的工作平台,你有没有看到

我正试图将其策略翻译成MQL4

但是我的编程水平太低了

我想感谢这一发展

我可以问一下,如果你能把指标到达终点时的点包括进来

视觉化的东西

再次感谢。

给大家一个热烈的拥抱

郝茂

附加的文件:
 
Hermo:
大家早上好

首先我要道歉,因为我没有注意到他们的工作,Mia是一个请求,我没有关注你的问题。

Magarto是一个西班牙用户,正如你所说的mladen

使用的工作平台,你有没有看到

我正试图将其策略翻译成MQL4

但我的编程水平太低了

我想感谢这一发展

我可以问一下,如果你能把指标到达终点时的点包括进来

视觉化的东西

再次感谢。

给大家一个温暖的拥抱

鹤舞

好了,我已经纠正了一些东西。代码看起来和原来的一样,但在日线以外的其他时间框架上,结果值似乎与tradingview上的不同。不知道这是由于tradingview和MT4之间的差异还是一个错误。由于它使用的是蜡烛的高点和低点,我认为这是由于差异造成的,因为蜡烛在不同的平台上几乎是一样的。无论如何,我认为我不能做得更好。

附加的文件:
magarto.mq4  4 kb
 
airquest:
好了,我已经纠正了一些东西。代码看起来和原来的一样,但在日线以外的其他时间框架上,结果值似乎与tradingview上的不同。不知道这是由于tradingview和MT4之间的差异还是一个错误。由于它使用的是蜡烛的高点和低点,我认为这是由于差异造成的,因为蜡烛在不同的平台上几乎是一样的。总之,我不认为我可以做得更好。

早上好

非常感谢您的工作和奉献精神

该指标现在工作得非常好

再次非常感谢你

伟大的工作

如果您允许,我将请您在相应的部分加入一个警告。

衷心的问候。

赫莫。

 

请帮助我......

spikebars_v3.ex4spikebars_v3.mq4Hi 大家好,我希望有人能帮助我设置我的mt4专家顾问。我的计算能力不强。

但我想做一个专家顾问,有一个衡量烛台体大小的尖峰条指标。

我想让EA根据烛台体的大小来建立买入或卖出头寸。

例如;当牛市烛台出现30点时买入(可调整)。

可调节的止损和止盈,以及可调节的头寸大小。

卖出时=熊市蜡烛图出现,大小为30点(可调整)

可调整止损和止盈,可调整仓位大小。

所以我能够根据当前的分析调整交易,让EA为我交易。

我在这里附上了一个尖峰棒指标。我希望有谁能帮助我,因为我是一个初学者。

非常感谢您!

附加的文件:
 

大家好,我希望有人能帮助我设置我的MT4专家顾问。我不擅长计算技能,但我想做一个专家顾问

有一个测量烛台体大小的尖峰条指标。

我想让EA根据烛台体的大小来建立买入或卖出头寸。

例如;当牛市烛台出现30点时买入(可调整)。

可调节的止损和止盈,以及可调节的头寸大小。

卖出时=熊市蜡烛图出现,大小为30点(可调整)

可调整止损和止盈,可调整仓位大小。

所以我能够根据当前的分析调整交易,让EA为我交易。

我在这里附上了一个尖峰棒指标。我希望有谁能帮助我,因为我是一个初学者。

非常感谢您!

 
faremie:
大家好,我希望有人能帮助我设置我的MT4专家顾问。我的计算能力不强,但我想制作专家顾问。

有一个测量烛台体大小的尖峰棒指标。

我想让EA根据烛台体的大小来建立买入或卖出头寸。

例如:当牛市烛台出现30点时买入(可调整)。

可调节的止损和止盈,以及可调节的头寸大小。

卖出时=熊市蜡烛图出现,大小为30点(可调整)

可调整止损和止盈,并可调整头寸大小。

所以我能够根据当前的分析调整交易,让EA为我交易。

我在这里附上了一个尖峰棒指标。我希望有谁能帮助我,因为我是一个初学者。

非常感谢您!

冯先生

似乎你所说的指标没有附上。你能不能把它附上?