初学者的问题 MQL4 MT4 MetaTrader 4 - 页 23

 
scomoroh:
是的,谢谢,都修好了,没有错误。它变慢了,是的,非常快。你会建议往哪个方向去优化,还是要重写一切?

太多的对象在每个tick 上被创建和删除,应该以某种方式加以限制,例如,不是所有的对象都被删除,而是只删除最后1-2个柱子上的对象。

例如,我在类似的情况下,在start()中使用了这样的函数,而不是ObjectsDeleteAll()

void deletelast()
{
   for(int i=ObjectsTotal()-1;i>=0;i--)
   {
      string name=ObjectName(i);
      if(StringFind(name,"Shadows.",0)>-1)
      {
         datetime crtm=(datetime)ObjectGetInteger(0,name,OBJPROP_CREATETIME);
         if(crtm>=iTime(Symbol(),0,1))
         if(!ObjectDelete(name)) Print("ObjectDelete error# ",_LastError);
      }
   }
}
 

你能告诉我是否可以从EA中控制该EA的交易权限

即使用MQL_TRADE_ALLOWED变量?

例如,如果点差很大,那么禁止交易(但不是停止专家顾问)。

我只是不知道如何设置这个变量。直接分配1或0不起作用。
 
harbor:

你能告诉我是否可以从EA中管理该EA的交易权限

即使用MQL_TRADE_ALLOWED变量?

例如,如果点差很大,那么禁止交易(但不是停止EA)。

我只是不知道如何设置这个变量。我不能直接把它设置为1或0。

这种状态

https://www.mql5.com/ru/docs/runtime/tradepermission

Документация по MQL5: Программы MQL5 / Разрешение на торговлю
Документация по MQL5: Программы MQL5 / Разрешение на торговлю
  • www.mql5.com
Программы MQL5 / Разрешение на торговлю - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

但有可能控制它。

你只需要做一个程序算法。

在算法的任何一点和任何条件下,你都可以用命令退出程序

return(0);
 
你好!我是这个困难行业的新手,不断遇到新的障碍。我正试图编写一个EA,但我无法解决我的EA用来输入的指标的时间框架问题。问题的实质如下。根据条件,我需要在15分钟的时间框架上,指标Stochasstic信号线低于20的水平。正是在15分钟。TF!事实上,事实证明,信号线在其他时间段(1;5;30分钟)穿过20级,我的专家顾问工作是错误的。我需要过滤掉所有的时间框架,只留下15分钟。该顾问不会考虑到其他时间段的交叉点。我将感谢任何帮助
 
TimBerg:
你好!我是这个困难行业的新手,不断遇到新的障碍。我正试图编写一个EA,但我无法解决我的EA用来输入的指标的时间框架问题。问题的实质如下。根据条件,我需要在15分钟的时间框架上,指标Stochasstic信号线低于20的水平。正是在15分钟。TF!事实上,事实证明,信号线在其他时间段(1;5;30分钟)穿过20级,我的专家顾问工作是错误的。我需要过滤掉所有的时间段,而只留下15分钟的时间段。该EA没有考虑到在其他TF上的交叉盘。我希望得到您的帮助。
显示一个代码片段,说明你如何在你的EA中从指标中读取信号
 
Renat Akhtyamov:
给我看一个代码片段,说明你是如何从专家顾问的指标中读取信号的。
我记不清楚了,回家后我给你看看
 
Renat Akhtyamov:

但有可能控制它。

你只需要做一个程序算法。

在算法的任何一点和任何条件下,你都可以用命令退出程序

return(0);

那么程序 将停止执行,但我需要它继续执行。

我想我必须提出一堆条件。

 
harbor:

那么程序 将停止执行,但我需要它继续执行

我想我必须制定一堆条件。

如果价差上升了,我们还能继续什么?如果你必须继续,那么传播与它有什么关系?

(c)然后禁止交易(但不停止EA)=如果你禁止交易,它将如何继续工作? 有什么意义?

 
harbor:

那么程序 将停止执行,但我需要它继续执行

我想我必须制定一堆条件

没错,这是一个程序)。