任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1125

 
Evgeniy Oshurkevich:
我已经明白了,在此感谢,在任何交易订单 之前已经到处规定了错误处理功能,但现在我陷入了一个循环,如何制动EA,如果会有错误只是因为我的错误,到底在哪里规定。例如,我试图打开一个订单,但出现了一个错误,如何得到它?例如,OrderSend(....);做了一个交易,我怎样才能得到它是否成功的信息?

你能打开该函数的帮助,看看它的返回结果吗?而_LastError?

具体来说,OrderSend返回一张订单票或-1。猜测在这种情况下,它将是-1在你自己的;)

 
Vitalie Postolache:

你能打开该函数的帮助,看看它的返回结果吗?而_LastError?

具体来说,OrderSend返回一张订单票或-1。猜测在哪种情况下,它将是-1自己;)

我已经看了10分钟了 :)
 
Evgeniy Oshurkevich:
我已经看了10分钟了 :)
这里作为一个例子 是非常合适的
 
Vitaly Muzichenko:
这里作为一个例子 是非常合适的

而且我已经开始研究我的错误代码了,谢谢 :)而我的EA几乎已经完成了如何减缓它的速度)

在这个例子中,我找不到"Slippage " 的值,它是在OrderSend中,它可能不是那么重要或强制性的,我想知道!

 
Evgeniy Oshurkevich:

而且我已经开始研究我的错误代码了,谢谢 :)而我的EA几乎已经完成了如何减缓它的速度)

在这个例子中,我找不到"Slippage " 的值,它是在OrderSend中,它可能不是那么重要或强制性的,我想知道!

而这是为了捕捉代码135或129,并为下一次尝试增加滑移值。或者,如果增加滑落度看起来没有吸引力,就数一数离下一次尝试还有多少秒。另外,要注意观察价差,如果此时价差增大,等待价差减小后再试。另外,最好不要使用Sleep(),它当然可以简化代码的编写,休眠半秒或一秒也不会带来多大的危害,但如果专家顾问是一个快速的Pipsier,对它来说每一毫秒都很重要,或者需要几十秒的停顿,最好不要使用睡眠,在睡眠期间,专家顾问处于瘫痪状态,不仅不能交易,而且还不能监视交易环境或进行其他计算,不能对用户的操作作出反应,等等。

你可以固定当前时间,倒数所需的秒数(或毫秒),然后采取行动。

 
Evgeniy Oshurkevich:

而且我已经开始研究我的错误代码了,谢谢 :)而我的EA几乎已经完成了如何减缓它的速度)

在这个例子中,我找不到"Slippage " 的值,它是在OrderSend中,它可能不是那么重要或强制性的,我想知道!

今天滑点 已经不像以前那样重要了,它通常用于有固定点差的账户,但在野外还有一些这样的账户,有5-7人在上面交易。如果价差是浮动的,就不存在滑点 最好是监测价差,如果价差过大,就不要进入,但还是那句话,这完全取决于策略,大价差有多关键。
 
Vitaly Muzichenko:
今天,滑点 已经不像以前那样重要了,它通常被用于固定点差的账户,但这样的账户只有少数,而且只有5-7个人在上面交易。如果价差是浮动的,就不存在滑点 最好是监测价差本身,如果价差太大,就不要进入,但还是那句话,这完全取决于策略,大价差有多关键。

胡说八道...

在非常受欢迎的ECN上,新闻的滑点是巨大的。有时是几百个点(5盎司)。或者他们只是不停地折磨订单,整整一分钟,说 "新价格"、"无价格",等等。

 
Vitalie Postolache:

这是为了捕捉代码135或129,并为下一次尝试增加滑移值。或者,如果增加滑落度看起来没有吸引力,就数一数离下一次尝试还有多少秒。另外,要注意观察价差,如果此时价差增大,要等价差减小后再试。另外,最好不要使用Sleep(),这当然可以简化代码的编写,也不会造成特别的伤害,当休眠半秒或一秒时,但如果专家顾问是一个快速的Pipsier,对它来说每一毫秒都很重要,或者需要休息几十秒,最好不要使用睡眠,在睡眠期间,专家顾问处于瘫痪状态,不仅不能交易,还可以监视交易环境或进行其他计算,不响应用户操作,等等。

你可以固定当前时间,倒数秒数(或毫秒数),然后采取行动。

叶夫根尼-奥舒尔克维奇

我已经开始寻找错误代码了,谢谢你 :)而且我已经几乎完成了如何制动我的专家顾问)

在这个例子中,我找不到"Slippage " 的值,它是在OrderSend中,它可能不是那么重要或强制性的,我想知道!

在睡眠指令休眠期间,EA确实处于瘫痪状态。即使在一个终端的情况下,也有必要提供20个不同线程的工作,即让每个线程占据CPU时间。至少要在屏幕上显示一些东西,更不用说接受传入的刻度线这一关键的毫秒级pipser任务。在现实中,有几十个其他的操作系统服务也想工作,即用自己的需求占据处理器。如果Sleep命令不做,操作系统的线程调度器会强行做,但根据它自己的考虑,应该给谁时间。你也可以依靠它,只用这个顾问就可以一直让处理器几乎100%的负荷。但这几乎不适合任何人。如果程序员不规划处理器资源的分配,在大多数情况下,在MQL中实施的方法,专家顾问在收到一个符号的时候就会给CPU,在处理完这个到达后,专家顾问就会 "瘫痪",直到下一个符号才会占用CPU。

OrderSend中的参数Slippage(不要与 "市场执行 "模式下订单执行时的真实滑点混淆,由市场决定)只有在 "即时执行 "模式下才有意义,即时执行时,订单要么按申报价格执行,要么被拒绝,即被拒绝。执行价格与订单中所述价格的最大允许偏差可以被设置为非零。在 "市场执行 "模式下,该参数没有任何意义,在这种情况下,执行价格由交易中心设定,与订单中所述价格的偏差没有任何限制。

 
Vitalie Postolache:

胡说八道...

在非常受欢迎的ECN上,新闻的滑点是巨大的。有时是几百个点(5盎司)。或者他们只是不停地折磨订单,整整一分钟,说 "新价格"、"无价格",等等。

ECN账户不帮助你滑点,至少100个点,在市场上执行,只能滑点,不能给价格,这是一个有点不同的东西,不同的错误。
 

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?




if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }