文章 "针对初学者以 MQL5 编写“EA 交易”的分步指南" - 页 10

[删除]  
pisenysh:

编译时出现错误

应检查'OrderSend'的返回值 my_first_ea.mq5 211 10

可能出了什么问题?

这是一个确定的错误吗?
 
pisenysh:

编译时出现错误

应检查 "OrderSend "的返回值 my_first_ea.mq5 211 10

什么地方出错了?

编译器说有必要处理交易函数 的执行结果。
 

您好!我能问您一个问题吗?Expert Advisor 是否可以精确到秒?也就是说,如果我不仅需要在某一小时和分钟内开仓和平仓,还需要在某一秒钟内开仓和平仓?

 
Grenjohn:

您好!我能问您一个问题吗?Expert Advisor 的交易精度是否可以达到秒级?也就是说,如果我不仅需要在某一小时和分钟内开仓和平仓,还需要在某一秒钟内开仓和平仓?

一分钟由一百秒组成,您想要哪一个?
 
server:
一分钟由一百秒组成 - 你想要哪一个?
这已载入史册;)
 

我不明白!?一分钟包括 60 秒。例如,我设定智能交易系统在 12:30开仓,我需要它在 45 秒时触发。当我设置 12:30 时,一切正常,交易开启,但当我尝试增加秒数时,却不起作用!?

 

下面是代码本身:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
 
Grenjohn:

下面是代码本身:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30)
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds ( )==30))
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
Gy.设置检查秒数() >= 30,因为一秒钟可能很快就过去了,在这期间不会有一个跳动点到达。PS 最好使用代码样式(SRC 按钮)对代码进行样式化。
 
现在可以了,非常感谢!真正的问题是秒针的速度太快了,"√"来不及打完。
 

您能告诉我更多吗?是否可以像普通计时器一样,在 Expert Advisors 中以秒为单位明确开仓和平仓,而不考虑刻度。也就是说,如果时钟是 12:52:25,那么仓位就会打开,而不需要等待新的刻度,平仓也是如此?