错误、漏洞、问题 - 页 2350

 

你好

我是否错过了什么,还是现在可以发送高于当前价格 的限价订单,并使其立即被执行。就像在一个真正的股票市场系统上?

比如限制滑移?

 

我想不出来,请给我一个提示。有一个时间获取

int GetHandle() { return(0); }

bool SelectHandle( int ) { return(true); }
  
int NewHandle = 0;  
int PrevHandle = GetHandle();    

datetime time = SelectHandle(NewHandle) ? TimeCurrent() : 0;  
SelectHandle(PrevHandle);


如何编写一个做同样事情的宏

time = MACROS(NewHandle, TimeCurrent()); // Макрос


问题是PrevHandle没有在宏中创建。

 

大家好。

终端建设1960年(测试版1966年相同)。函数CopyTicks、CopyTicksRange 在终端运行的指标中正常工作,但在测试器中,同样的指标在这些函数中显示-1结果和错误4014。开发人员,请告知原因?

 
fxsaber:

如何编写一个做同样事情的宏

一个函数有什么问题呢?
 
Alexey Navoykov:
这个功能有什么问题?

因为代替TimeCurrent,它可以是任何函数。

 
fxsaber:

事实上,代替TimeCurrent,它可以是任何函数。

那么,只有在使用全局变量 的情况下。
 
fxsaber:

如何编写一个做同样事情的宏

问题是,PrevHandle不能在宏中创建。

我认为最大的问题是没有逗号运算符,没有它就不可能得到这样一个宏。

 
不被认可的天才的典型综合症...谈论高大上的东西,却不能解决最简单的问题......
想一想吧...一个星期
提示:MQL中的解决方案已经存在,这本身就是一个提示。
 
pavlick_:

在我看来,最大的问题是没有逗号运算符,没有它,你就不可能得到这样一个宏。

你可以这样做。

int MACROS_helper_int;
#define  MACROS(NEW_HANDLE_, FN_)  (MACROS_helper_int=GetHandle())*0+(SelectHandle(NEW_HANDLE_) ? FN_ : 0);  \
                                  SelectHandle(MACROS_helper_int);

但是结壳,你不能把它放在某个条件下,只能通过=。

SZY:并在if、while等后面谨慎使用。

if(true)
   MACROS(...);

我可能不会使用一个。

 
A100:
不被认可的天才的典型综合症...谈论高大上的东西,却不能解决最简单的问题......
想一想吧...一个星期
这里有一个提示:MQL中的解决方案已经存在,这一事实本身就是一个提示。

好吧,来吧,你,主人,用一个出色的解决方案给平民带来惊喜。