问吧! - 页 104

 
Kalenzo:
尝试使用NormalizeDouble(price,Digits)。有时metatrader的价格不是1.2000而是1.20020031023012,其余的数字在下挂单时对metatrader是个问题。使用NormalizeDouble就可以了

非常感谢Kalenzo,现在已经成功了。

 

定义交易日

已删除

找到了解决方案!

嗨,编码员

我试图在我的EA中插入一个函数 来选择交易日。

交易时间的功能运行良好。

对于交易时间,我使用了以下方法。

extern string TradingHours = "TRADING HOURS";

外部 bool UseHourTrade = True;

extern int FromHourTrade = 8;

extern int ToHourTrade = 18;

以及后来的int start之后。

如果(UseHourTrade){

if (!(Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("交易时间还没有到来!")。

return(0);

但是选择交易日需要什么?

当我定义extern如下。

extern string TradingDays = "TRADING Days";

extern bool UseDayTrade = True;

extern int FromDayTrade =DayOfWeek;

extern int ToDayTrade =DayOfWeek;

然后我有以下两个信息。

'DayOfWeek'- 变量预期

该怎么做呢?

有人能帮助我吗?

谢谢你的帮助

 

大师!!!?请帮帮我吧

Nevermind.....

 

请帮助大家

我有一个问题,如何使只有1个头寸开仓,2个挂单。

就说买入和买入停止,卖出停止。

I had an info before from someone in mql4, he use :

if(buystoporder>0 && sellstoporder>0) return(0);

而在这之前,他使用了switch(OrderType())。

我很困惑,我应该在哪里修改代码?

当我改变代码时,买入止损单和卖出止损单开了好几次,而如果没有,它就会等待,直到有一个被交易,达到他们的SL或TP,然后做出一个新的2个挂单。

我的目标是1个开仓和2个挂单,所以当开仓达到SL或TP时,其中一个挂单被交易,一个没有被交易的将被删除,然后产生另外两个挂单。

是否有可能在switch()选项中添加神奇数字?

非常感谢您的帮助。

 

有什么简单的语句可以检查 在当前条形图之前的5个条形图内是否有两条移动平均线交叉?有谁能帮我解决这个问题吗?

戴夫

-或者-

你如何陈述5个条件语句?如果这5个条件都可以接受,就说明买入值=1。

我不知道这是否能在下面工作?谁能评论一下这是否可行,如果不行,应该如何陈述?

if(Condition1)

if(Condition2)

if(Condition3)

if(Condiition4)

if(Condition5)

{

buyvalue=1;

}

戴夫

 
if(Condition1)

if(Condition2)

if(Condition3)

if(Condiition4)

if(Condition5)

{

buyvalue=1;

}

这是编写多条件测试的最经济和最快的方法。

这是最快的,因为如果条件1没有被填满,条件2,3,...就不会被评估,如果你在它们之间放上"&&"操作符就不会这样了。

所以从最有可能的不经常出现的条件开始。

所以这无疑是可行的。

现在,由于你经常问某件事情是否会成功,最好的办法就是去尝试,这也是学习的好方法。

干杯。

 
Dave137:
有什么简单的语句可以检查在当前条形图之前的5个条形图内是否有两条移动平均线交叉? 谁能帮我解决这个问题?

ma1_0 = iMA(....,0);

ma2_0 = iMA(....,0);

ma1_5 = iMA(....,5);

ma2_5 = iMA(....,5);

if((ma1_0 - ma2_0) * (ma1_5 - ma2_5) < 0) cross = true;
 

我怎样才能...

你好。

请你告诉我,如果你愿意,我怎么说:-

"如果前一个仓位在蜡烛 "0 "或蜡烛 "1 "上关闭,那么不要在同一蜡烛上开立另一个仓位。"或者,即使蜡烛 "0 "满足开立另一个仓位的条件...如果前一个仓位在该蜡烛上关闭,那么防止它开立另一个仓位,等待条件再次合适。

我可以用英语说,但我对mql4还是有点太陌生了。

谢谢

amatrader

 

你可以使用以下代码片段。

bool last_order_closed_rather_recently = false;

for ( int i = OrdersHistoryTotal() - 1; i >= 0;i-- ) {

if ( ! OrderSelect( i, SELECT_BY_POS, MODE_HISTORY ) ) continue;

if ( OrderCloseTime() >= Time[ 1 ] ) {

last_order_closed_rather_recently = true;

break;

}

}

[/PHP]

after which you have the bool variable "last_order_closed_rather_recently" telling whether there was an order closed after the opening of bar 1. Then somewhere you'd have:

[PHP]if ( last_order_closed_rather_recently ) return( 0 );

在进入一个新的交易之前。

 

谢谢你,先生,非常感谢。