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:
尝试使用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(Condition2)
if(Condition3)
if(Condiition4)
if(Condition5)
{
buyvalue=1;
}
这是编写多条件测试的最经济和最快的方法。
这是最快的,因为如果条件1没有被填满,条件2,3,...就不会被评估,如果你在它们之间放上"&&"操作符就不会这样了。
所以从最有可能的不经常出现的条件开始。
所以这无疑是可行的。
现在,由于你经常问某件事情是否会成功,最好的办法就是去尝试,这也是学习的好方法。
干杯。
有什么简单的语句可以检查在当前条形图之前的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
你可以使用以下代码片段。
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 );在进入一个新的交易之前。
谢谢你,先生,非常感谢。