编码帮助 - 页 309

 
Mimicri20z:
嘿,我也需要编码帮助。

我想在两个警报 "down "和 "downdel "之间设置一个1-5s的延迟。这是在一个if条件中。

我怎样才能做到最好呢?

如果(dClose < dLastClose) {

// 下跌

如果(!bTestMode){

警告("下跌")。

...

x Seconnds DELAY HERE

...

Alert ("downdel");

其余的IF条件。

}

试着像这样。

static datetime lastAlert = 0;

if ((TimeCurrent()-lasteAlert)>=pauseBetweenAlerts)

{

lastAlert = TimeCurrent();

//

// the rest of alerting code

//

}

你不能在指标中使用sleep()(通常用于插入延迟),这就是为什么上面的解决方案

如果你做了一个等待一段时间的循环,你的其他东西(指标、EA、脚本)将无法工作,直到循环退出并恢复正常处理。另一方面,如果这是一个Ea,只需在 "x Seconnds DELAY HERE "的地方加上Sleep(miliseconds)。

 
mladen:
试着这样做:如果你做了一个等待一段时间的循环,你的其他东西(指标、EA、脚本)将不能工作,直到循环退出并恢复正常处理。如果,另一方面,这是一个Ea,只需在 "x Seconnds DELAY HERE "的地方加上Sleep(miliseconds的数量)。

谢谢MLADEN,这样的循环正是我在两个警报之间所需要的。如果 "下跌 "警报出现,它可以等待1-5秒而不做任何事情,然后警报 "下跌 "并继续。

我不想在交易之间等待,这是一个序列......第一个警报>等待>第二个警报......继续。

再次感谢!

 
mladen:
代码是正确的 所有符号的魔法数字都是一样的吗?

不,我有不同的买入或卖出篮子的神奇数字。

举个例子。

篮子1:买入欧洲货币/买入美国货币:魔法数字1

篮子2:卖出欧洲货币/卖出美国 国债:魔法数字2

所以,我在盈利时关闭了篮子。

告诉我哪里出错了?

谢谢!

 
Big Joe:
不,我为买入或卖出篮子设定了不同的魔法号码。

例子:

第一篮子:买入欧元/买入美元:神奇数字1

篮子2:卖出欧洲货币/卖出美国货币:神奇数字2

所以,我在盈利时关闭了篮子。

告诉我哪里出错了?

谢谢!

你只增加了一个魔法数字的利润(这一行

if (OrderMagicNumber() == MagicNumber)

如果你的账户中的所有订单都是同一个篮子的一部分,你可以简单地省略这一行。

 

mladen。

非常感谢你的回答。然而,引起我注意的是你在结尾处的评论,"那将是别的东西"。这个 "别的东西",通过重写它,会给我带来我所寻找的东西吗?意思是信号会在下一小节的开口处发出警报?谢谢你的时间。

Genesisman,

 
Genesisman:
mladen。

非常感谢您的答复。然而,引起我注意的是你在结尾处的评论,"那将是别的东西"。这个 "别的东西",通过重写它,会给我带来我所寻找的东西吗?意思是信号会在下一小节的开口处发出警报?谢谢你的时间。

Genesisman,

这很简单:当你改变某些东西的计算方式时,你会得到完全不同的东西,很多时候。经典的例子:当人们要求使太阳风不重绘时,他们希望当它完成时,结果将是完全相同的,而他们看起来不再有任何相似之处。

 
hullsy:
谁能告诉我,我想要的东西是否可行。

在H1图表中,我使用1个Hull MA40,1个MA MTF 240和1个MA MTF 1440。

能否让Hull只在3个MAs向同一方向移动时发出警报?

干杯,史蒂夫。

我刚刚注意到我使用的三个指标是mladen文件。

也许他能提供帮助。

谢谢你的任何意见。

 

mladen。

谢谢你,我的朋友。

 

请删除它

 

如果有人能让这些指标在新MT4上运行,我将非常感激。

附加的文件: