错误、漏洞、问题 - 页 3047

 
Yury Lemeshev:
下午好。帮助。SymbolSelectSymbolExist 的工作方式不同?

Print(SymbolSelect("EURUSD",true)); 我得到一个错误 - true
Print(SymbolExist("EURUSD",false)); 我得到错误 - 'true' - 预期的变量。

仔细阅读 文档:SymbolExist

bool  SymbolExist(
   const string  name,    // имя символа
   bool&   is_custom      // признак пользовательского символа
   );


下面是它在代码中的样子。

   Print(SymbolSelect("EURUSD",true));
   bool exist=false;
   Print(SymbolExist("EURUSD",exist));
Документация по MQL5: Получение рыночной информации / SymbolExist
Документация по MQL5: Получение рыночной информации / SymbolExist
  • www.mql5.com
SymbolExist - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

仔细阅读 文档:SymbolExist


下面是它在代码中的样子。

谢谢你,弗拉基米尔

 

关于专家顾问在可视化模式下测试时初始化指标的问题。

如果我在专家顾问的OnInit() { }中初始化指标,那么在视觉测试仪中,指标通常不会出现,也不会被绘制。

同时,在日志中,初始化已经通过,并且收到了句柄。感觉在视觉模式下,测试者没有时间做一些事情,指标没有坚持到图表上

如果我在EA的OnTick() { }中初始化指标,问题就会消失,但会造成不必要的写入、检查等。


如果我取消对OnTick中IndicatorInitialization()的注释,并在OnInit中进行注释,它就开始工作了。

int  TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
int OnInit()
  {
   IndicatorInitialization();
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   IndicatorRelease(TicksTesterIndicatorHandle);
  }

void OnTick()
  {
//if(!InitComplite)
//  {
//   IndicatorInitialization();
//  }
  }
//+------------------------------------------------------------------+
bool IndicatorInitialization()
  {
//---Получить хэндл индикатора TicksTesterIndicator
   TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");

//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(TicksTesterIndicatorHandle<0)
     {
      Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
      return(false);
     }
   else
     {
      Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
      ArraySetAsSeries(Buf, true);
      InitComplite=true;
     }
   return(true);
  }
附加的文件:
 

延续魔法 文件的历史。

在MetaEditor挂起,然后重启后--这个文件现在显示为一组红色的文字,但同样的记事本却能正常打开(删除了不必要的内容)。

附加的文件:
main.txt  1 kb
 

下午。

安卓MT5/MT4:在下单窗口中,刻度线的颜色被混淆了。也是在图表的颜色方案中。

 

大家好!

在下挂单 时无法克服[无效价格]的错误。整个问题是,这种错误是落在对EA出版物的标准检查上。因此,我无法查看日志以找出原因。我在测试中没有重现这个问题。当然,复杂的是,我不知道这个符号在标准检查中代表什么参数。我试着用MetaQuotes终端来播放。订单在相同的地方打开,甚至在相同的价格,没有任何错误。价格由CSymbolinfo::NormilizePrice()进行规范化处理,对StopsLevel、freeze level、挂单价格的正确性进行检查,每次检查都会更新价格数据。

标准检查报告

也许有人知道所有的情况,当这种错误可能发生在待定的订单上?我唯一能想到的是

  • 非正常化的价格
  • 某一订单类型的价格高于/低于市场价格
  • 冻结水平(不确定)
我将很高兴得到任何提示:)
 

上午好。

是否可以通过测试仪中的参数来进行测试截止?

例如,如果一个测试的缩减量达到40%,它就会停止,资源就会向下一个测试倾斜。

 
Dmitry Homenkov:

大家好!

在下挂单 时无法克服[无效价格]的错误。整个问题是,这种错误是落在对EA出版物的标准检查上。我无法查看相应的日志,无法了解原因是什么。我在测试中没有重现这个问题。当然,复杂的是,我不知道这个符号在标准检查中代表什么参数。我试着用MetaQuotes终端来播放。订单在相同的地方打开,甚至在相同的价格,没有任何错误。价格由CSymbolinfo::NormilizePrice()进行规范化处理,对StopsLevel、freeze level、挂单价格的正确性进行检查,每次检查都会更新价格数据。


也许有人知道所有的情况,当这种错误可能发生在待定的订单上?我唯一能想到的是

  • 非正常化的价格
  • 某一订单类型的价格高于/低于市场价格
  • 冻结水平(不确定)
我将很高兴收到任何提示 :)

文章:一个交易机器人在市场上发布之前,必须通过哪些测试

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Yury Lemeshev:

是否可以通过测试仪中的参数来进行测试截止?

例如,如果一个测试的缩减量达到40%,它就会停止,资源将用于下一个测试。

这对你的EA来说是可能的:你需要在里面计算退出标准(如果它是重的--在OnTimer中),达到阈值--TesterStop()/ExpertRemove()。

 

一些不必要的东西。