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

 
我离你有多远
 
人们,你能告诉我如何使终端中的图形在再次开启后保存标记吗?
我以csv格式保存,但没有效果。
 
Seselio:

Есть условие для открытия ордера 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;
   }
与白氏的情况完全相同。你这里的逻辑即使对白来说也是不完整的,我建议应该是这样的。
if(GlobalVariableGet("B_order",1)) //ищем  вход 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;
   }
else if(GlobalVariableGet("S_order",1))// ищем  вход Sell
{Условие для SELL}
 

我完全被这些错误搞糊涂了,我已经开始写了,然后就开始这样写,那样写。短时间内。

问题:我在演示中用Alert进行了测试,并检查了它的工作情况。 我在我的EA中故意使错误的订单试图打开,它得到了错误代码4051,即我在打开订单之前和打开之后设置了这个函数GetLastError()。我得到了它:从EA开始的1个刻度,错误调用-->0-->试图以错误的条件开立订单-->错误调用-->4051,当第2个刻度已经触发时,第一个调用已经显示4051,我的EA不会再发送任何请求,直到我处理完EA。GetLastError()函数 从终端或从服务器调用最后一个错误,如何重置它? 我的意思是,如果 "一般错误 "代码为2,而5分钟后服务器将正常工作,服务器将通知我没有错误。简而言之,在这个逻辑中感到困惑的人,可以帮助谁。以为我最近到了这里,在这里通信,原来是我误解了。

Справочник MQL4
Справочник MQL4
  • docs.mql4.com
Справочник MQL4
 
Evgeniy Oshurkevich:

我完全被这些虫子搞糊涂了,我已经开始写了,然后它们就开始这样那样的。短时间内。

问题:我在演示中用Alert进行了测试,并检查了它的工作情况。 我在我的EA中故意使错误的订单试图打开,它得到了错误代码4051,即我在打开订单之前和打开之后设置了这个函数GetLastError()。我得到了它:从EA开始的1个刻度,错误调用-->0-->试图以错误的条件开立订单-->错误调用-->4051,当第2个刻度已经触发时,第一个调用已经显示4051,我的EA不会再发送任何请求,直到我处理完EA。GetLastError()函数 从终端或从服务器调用最后一个错误,如何重置它? 我的意思是,如果 "一般错误 "代码为2,而5分钟后服务器将正常工作,服务器将通知我没有错误。简而言之,在这个逻辑中感到困惑的人,可以帮助谁。以为我最近到了这里,在这里通信,原来是我误解了。

尝试用ResetLastError()函数重设错误。
 
Alekseu Fedotov:
试着用ResetLastError()重设该错误。
谢谢你
 

EXCEPTION!!!!!!!!!亲爱的人们!不要对你被新手骚扰感到惊讶!!。搜索引擎是怎么回事????我在这里当专家已经有两个星期了,当我决定在搜索引擎!!!!,检查并找出更多关于OrderSend() 的信息时,你应该看到我的表情。可怜的新手。好吧,好吧,我把地址栏改成了4,而不是5,我把4放在地址栏里,我没有被授权。如果我没有登录到Mql4,搜索引擎就不能工作。

还有,在论坛上,很多聪明人写道:"搜索引擎是干什么用的?"或 "在搜索引擎中寻找","我们有点懒",等等,没有冒犯的意思。

 

在文件中。

最后一个错误

返回系统变量_LastError的内容。

intGetLastError()。

返回的值

Returns the value of the lasterror that occurred during an mql4 program. 返回在执行mql4程序时发生的最后一个错误 的值。

注.

在该函数被调用后,_LastError变量的内容被清除。


注释中明确写道,_LastError被清除为零

让我们进一步了解_LastError

int _LastError

_LastError变量存储了mql4程序执行过程中发生的最后一个错误 的值。ResetLastError()函数可以将数值重置为零

你也可以使用GetLastError() 函数来获得错误代码。


它说:你可以ResetLastError()函数该值 重置为零 如果说_LastError将自己重置为零 ,为什么要重置

好的,继续阅读ResetLastError()

重置最后一个错误

将预定义的_LastError变量的值设为零。

空白ResetLastError()。

返回的值

没有返回值。

注意事项

GetLastError()清除了_LastError变量。

GetLastError()函数清除了_LastError变量

那么为什么我需要ResetLastError(); ?????

而且,如果在第二次调用GetLastError()后出现0,我以后怎么知道发生了什么错误?因为它清除了_LastError

顺便说一下,在演示中,现在GetLastError() 在每个tick上都显示相同的错误,并且不重置它。

也就是说,我们在第1个钩子上得到了同样的错误,而在第2个钩子上,我的EA没有发送开仓请求,因为它已经看到了最后的错误。

我昨晚有点睡不着,从除夕开始就没喝过酒。



_LastError - Предопределенные переменные - Справочник MQL4
_LastError - Предопределенные переменные - Справочник MQL4
  • docs.mql4.com
_LastError - Предопределенные переменные - Справочник MQL4
 
Evgeniy Oshurkevich:

在文件中。

最后一个错误

返回_LastError系统变量的内容。



现在阅读正常的MT5文档,现在一些旧的功能完全按照它的写法工作,因为MT4文档已经过时,有很多东西还没有修复。

最后一个错误

返回the_LastError系统变量的内容。

intGetLastError()。

返回的值

返回mql5程序执行过程中发生的最后一个错误的值。

注意事项

在该函数被调用后,_LastError变量的内容不会被清除。必须调用ResetLastError() 函数,将这个变量重置为零。

另见

贸易服务器返回代码

 
Evgeniy Oshurkevich:

我有点睡过头了,从除夕开始就没喝过酒

嗯,我从1997年起就开始了)

你看,有一个嘀嗒声,随之而来的是一个信号,如果你得到一个错误,它需要被处理。处理后再进行查询,但在查询前可以将有错误的变量归零,那么下次查询时如果有错误,就会回到变量中去,但如果没有错误,就会变成 "0"。

你不必将变量归零,但如果出现错误,它将返回一个新的值。在任何情况下,你都不应该对上次打钩时出现的错误感兴趣,你应该只处理你 "现在 "的情况。