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

 
Pokrov ,我告诉你你在看什么...
 
eddy:
Pokrov ,我告诉你你在看什么...
无意冒犯,两个人的意见比一个人的好)))。也谢谢你!
 
大家好,请告诉我如何设置EA在今天最后一笔交易被关闭的情况下不下单?
 
 

你能告诉我下面的错误处理块是否拼写正确或有什么问题吗?不要马上说脏话 ))))

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
指标如何将历史值保存到文件中(并在以后加载)? 有什么现成的解决方案吗?
 
eddy:
指标如何将数值历史保存到文件中(并在以后加载)? 有现成的解决方案吗?
当然有。那些曾经 "准备 "他们的人已经
 
谢谢你,我正在寻找解决方案,而不仅仅是询问。
 
Pokrov:

你能告诉我下面的错误处理块是否拼写正确或有什么问题 吗?不要马上说脏话 ))))

在我看来,错误处理应该以用户定义的函数的形式出现,它应该在与访问服务器有关的任何动作之后被调用。

例如,OrderSend()在失败的情况下,即在出错的情况下,返回订单票或-1。因此,在命令执行不成功的情况下,有必要调用错误处理程序,并将错误代码传给它。在错误处理程序中,我们应该提供一个返回值,在这个返回值上,失败的动作会被重复,或者在另一个返回值上被停止。

例如,价格发生了变化,RefreshRates();并再次尝试,如果没有足够的钱,可能最好停止尝试。

 
AlexeyVik:

在我看来,错误处理应该采用用户定义函数的形式,在任何与服务器访问有关的操作之后都应该调用该函数。

例如,OrderSend()在失败的情况下返回订单票据或-1,也就是说,在出错的情况下。因此,你应该在命令执行不成功的情况下调用错误处理程序,并将错误代码传给它。在错误处理程序中,我们应该提供一个返回值,在这个返回值上,失败的动作会被重复,或者在另一个返回值上被停止。

例如,价格发生了变化,RefreshRates();和重试,在资金不足的情况下,可能最好停止尝试。

我在函数后面有GetLastError,如果发生错误,不是会转到这个块吗(因为它是写的),命令不会被执行?我明白这个链条,例如OrderSend() -> GetLastError -> 错误块Sleep(3000) RefreshRates() -> 退出该块,如果条件不变,则再次请求OrderSend()。或者我的推理和概念是错误的。我明白你想在块中写出返回值1或0,但我的函数很简单,与布尔值无关,如SignalBuy,如果我理解正确,返回值应该在那里返回。