关于MQL5向导和标准交易类库的问题 - 页 9

 
-Alexey-:

那么,它的实际目的,而不是测试者的目的是什么?它似乎就在那里,但你不能使用它。为什么关于这个问题的任何问题,例如,建议引入这种处理,或由开发人员写一篇文章,或一些错误处理指南,总是遇到开发人员的沉默?毕竟,他们是这个问题上最有能力的人--有什么问题呢?至少看起来很奇怪,我们没有真正有用的东西,而是在研究一堆没有人需要的指标(0个评论,0个要求),而此时却没有交易的基础--打开和关闭交易的能力。自动交易的仿真器的问题被挂起,没有答案,但它必须在标准库中。我想听听答案。

因此,没有人隐瞒策略向导只为测试者服务的事实。))只是和快速检查这个或那个想法,然后决定朝哪个方向走。而且,错误处理 也不是什么难事。你至少可以看看别人是怎么做的。例如,KimIV 在第四论坛上的函数库。我想我甚至可以就这个问题写一篇文章,但我现在没有那么多时间。

而据我所知,开发商现在把所有的精力都放在了开发整个项目上。市场信号仓库 服务被挂在空中,也许还有一些错误。在我看来,这些是现在的主要任务。

 
问题的关键不在于任务是否复杂,而在于是否需要在标准库中 实现。在编写EA时定义一个主要任务的清单,并为开发者实施,这样就不需要看别人怎么做,也不需要等到有人有时间写文章,这将是一个好主意。
 
beginner:

问题的关键不在于任务是否复杂,而在于是否需要在标准库中 实现。在编写EA时,最好定义一个主要任务清单,并为开发者实施,这样就不需要看别人怎么做了,也不需要等到有人有时间写文章。
在任何情况下,你很可能不得不等待公司解决更优先的任务。也许在不久的将来的某个时候,它将被实施。在这里,我决定不再等待,因为我真的不喜欢等待,而且很早以前就已经实施了。根本就没花多少时间。此外,我在学习语言的最初阶段就这样做了。你可以把你的请求写给服务台。如果我这样做呢?))
 
tol64:
...但如果我这样做呢?))

没有。

我很抱歉,但这就是标准库的作用,包含标准的解决方案。交易错误的处理在很大程度上取决于交易者的偏好。

所以,亲爱的朋友们,让我们自己来做吧。

 
tol64:
在任何情况下,它可能必须等到公司有更多的优先事项。也许它将在不久的将来的某个时候被实施。在这里,我决定不再等待,因为我真的不喜欢等待,而且很早以前就已经实施了。根本就没花多少时间。此外,我在学习语言的最初阶段就这样做了。你可以把你的请求写给服务台。如果我这样做呢?))
实施工作可以由任何人以任何方式完成。你确定你所做的一切是最佳的、正确的和漂亮的。当然,可以有很多变体,但只有一个典型的开发者可以根据你的需要进行定制或按原样使用。
 
beginner:
实施工作可以由任何人以任何方式进行。你确定你已经把一切都做得很好,很正确,很漂亮了吗?当然,可以有很多变体,但开发商的一个典型就足以根据你的需要定制它,或按原样使用它。
还没有在现实中测试,但那些已经测试过的人(论坛的有能力的成员)相当满意。看看完成的版本吧,它是可用的,但用于MT4。在MT5上也是如此。维克多-基里林已经在上面做了回答,所以最好不要等着做。))完全按照你想要的模式来做。
 

你好,我有两个问题。

1) 在双CExpertSignal::Direction()方法中,为了使所有过滤器的结果正常化,我们把得到的总值除以数字值。假设我们使用一个单一的过滤器,那么根据标准库的 代码,初始化时=1的数字值将递增+1,成为2。所以从一个过滤器得到的结果要除以2。问题=是否有错误?

double CExpertSignal::Direction()

{

CExpertSignal *filter。

长面具。

双重方向。

double result=m_weight*(LongCondition()-ShortCondition())。

int number=1; // "投票 "的数量

//---

int total=m_filters.Total()。

//---用于调试

//printf(__FUNCTION__+" : %s %d",EnumToString(m_period), total)。

//------按过滤器循环

for(int i=0;i<total;i++)

{

//---- 位图的掩码

mask=((long)1)<<i;

//---检查忽略过滤器信号的标志。

如果((m_ignore&mask)!=0)继续。

filter=m_filters.at(i)。

direction=filter.Direction()。

//--"禁止 "信号

if(direction==EMPTY_VALUE) return(EMPTY_VALUE)。

//------检查滤波器信号的反转标志

if((m_invert&mask)!=0) result=direction;

else result+=direction;

号码++。

}

//-- 正常化

result/=number;

//----返回结果

return(result)。

}

2)请告诉我m_adjusted_point变量的含义?

谢谢你。

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
IlshatG:

你好,我有两个问题。


1)不存在根本性错误。

2)对3/5位数报价的更正。

 
uncleVic:

没有。

我很抱歉,但这正是标准库的作用,它包含标准的解决方案。交易错误的处理在很大程度上取决于交易者的偏好。

所以,亲爱的朋友们,这是一件 "自己动手 "的事情。

你的偏好与此有什么关系?谁比你更了解服务器配置的能力?没有人。你可以定义充分的反应--典型的反应--而交易员将根据他的品味和知识进行调整。交换协议中的时间安排等等?交易员是交易还是深入研究错误?程序员应该写算法还是研究错误?程序员应该研究写一个服务器故障时自动交易的模拟器(对于故障的)的API,还是应该写算法?要花多少时间在这上面而不是在交易上?
 

你好。

我决定自己写一个信号模块,纯粹是为了认知的目的。我遇到了一个问题。我必须设置挂单,我知道这可以通过CExpertSignal::OpenLongParams(...)来完成。但我有一个问题--我的测试人员警告说无效过期。在挖掘了源代码之后,我意识到除了ORDER_TIME_SPECIFIED 之外,我们无法得到任何类型的时间,我们希望得到ORDER_TIME_GTC。

到目前为止,我已经做了一个聪明的举动,但它不太正确。我已经纠正了库中的功能。

bool CExpertTrade::SetOrderExpiration(datetime order_expiration)
  {
   if(m_symbol==NULL) return(false);
//---

   if (order_expiration == 0)
   {
      m_order_type_time =ORDER_TIME_GTC;      
   }
   else
        if(!SetOrderTypeTime(ORDER_TIME_SPECIFIED)) return(false);
//---
   m_order_expiration=order_expiration;
//---
   return(true);
  }

你能提供什么建议

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5