编码帮助 - 页 193

 

胜利的喜悦!"。

дорого дня!!!

解释一下为什么我们要把这个问题放在这里。

полоска зелёная работает хорошо ( bear;// Lime)

斗牛士;//红色;)

заранее Спасибо.

индикатор:

bearbull.mq4

附加的文件:
 

嗨,Mrtools和Mladen

我确认,TSV看涨和看跌只是江恩希洛激活器的一个他的版本,正如你在我的图片上看到的那样...

我永远不明白为什么有些人喜欢给另一个已经存在的指标起一些深奥和奇怪的名字(江恩希洛激活器已经是一个奇怪和深奥的名字...)...

在我看来,TSV看涨和看跌是非常有趣的,但像这样的TSH看涨和看跌更多是废话。

祝你们有愉快的一天,感谢你们的回答

Zilliq

mrtools:
Zilliq 这里有一个版本https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505,有源代码。
附加的文件:
 

Mladen,

我是这样试的。

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

如果(displayAlert==false)返回。

static datetime Time0;

if (Time0 == Time[0]) return; // 每个柱子有一个警报。

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

如果(ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1)。

}

否则如果(ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

否则继续; // 没有找到线

如果((High[0]>=(line-_distance)&&(line+_distance)>=Low[0]),则)

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text)。

Time0 = Time[0]; // 不再有警报。

if (Notification)SendNotification(Text);

}

}

//----

现在我无法测试它,因为没有实时报价。但在我看来,以这种方式使用ObjectGetValueByShift()是符合逻辑的。我只寻找当前栏内的触线点。因此我使用了(name,0)。

但现在我想问你,我是否真的要在OBJ_HLINE和OBJ_TREND之间做出区别。当我使用ObjectGetValueByShift(name,0)时,那么我也会收到一条水平线的值,还是我错了?当只需要当前周期的线的值时,我看到ObjectGet(name, OBJPROP_PRICE1)和ObjectGetValueByShift(name,0)之间没有逻辑上的区别。

也许你可以澄清一下?谢谢!!

 
Marbo:
Mladen,

我是这样试的。

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

如果(displayAlert==false)返回。

static datetime Time0;

if (Time0 == Time[0]) return; // 每个柱子有一个警报。

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

如果(ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1)。

}

否则如果(ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

否则继续; // 没有找到线

如果((High[0]>=(line-_distance)&&(line+_distance)>=Low[0]),则)

{

Text = Symbol()+" M "+Period()+" touched S/R @ "+Close[0];

Alert(Text)。

Time0 = Time[0]; // 不再有警报。

if (Notification) SendNotification(Text);

}

}

//----

现在我无法测试它,因为没有实时报价。但在我看来,以这种方式使用ObjectGetValueByShift()是符合逻辑的。我只寻找当前栏内的触线点。因此我使用了(name,0)。

但现在我想问你,我是否真的要在OBJ_HLINE和OBJ_TREND之间做出区别。当我使用ObjectGetValueByShift(name,0)时,那么我也会收到一条水平线的值,还是我错了?当只需要当前周期的线的值时,我看到ObjectGet(name, OBJPROP_PRICE1)和ObjectGetValueByShift(name,0)之间没有逻辑上的区别。

也许你可以澄清一下?谢谢!!

马博

你必须区分水平线 和趋势线,因为趋势线是与水平线不同的对象类型(对于水平线来说,只需要读取价格1的值就可以了,而对于趋势线来说,价格1根本不需要与价格2相同,而且这些价格可以与之间的价格完全不同)。

 

你好。

谁能帮助解决这个指标的一个问题?

在MT4视觉测试器中,启用了回测模式,在MTF模式下工作正常(M5图表上的H1-H4)。

但在真实的图表中,线条是延迟的。

谢谢您!

mtf_moving_average.mq4

附加的文件:
 

姆拉登。

这个事实我理解。我的意思是,这只是为了我的简单指标。对我来说,趋势线从哪里来或到哪里去并不重要。我只需要它在当前条上的值。因此我问我是否可以把它放在一起,只用ObjectGetValueByShift()对两条线进行操作。

但是,你认为我在上面的代码中的工作方式可行吗?

谢谢!!

 
Marbo:
Mladen,

这个事实我明白。我的意思是,这只是为了我的简单指标。对我来说,趋势线从哪里来或到哪里去并不重要。我只需要它在当前条上的值。因此我问我是否可以把它放在一起,只用ObjectGetValueByShift()对两条线进行操作。

但是,你认为我在上面的代码中的工作方式可行吗?

谢谢!!

马博

在我看来,它应该工作

 
cain82:
你好。

谁能帮助解决这个指标的一个问题?

在MT4视觉测试器中,启用了回测模式,在MTF模式下工作正常(M5图表的H1-H4)。

但在真实的图表中,线条是延迟的。

谢谢您!

mtf_moving_average.mq4

试试用这个帖子中的指标代替:https://www.mql5.com/en/forum/173574/page239

 
mladen:
试着用这个帖子里的那个代替:https://www.mql5.com/en/forum/173574/page239

谢谢你的答复!

但你的indi工作方式不同。

 
cain82:
谢谢你的回答。 但是,你的indi工作方式不同。

是的,因为它工作正常。如果所有需要修正的都在你发布的那张中完成,它们就完全一样了。

问候