错误、漏洞、问题 - 页 941

 
Rosh:

查看终端的内置帮助--MetaTrader 5帮助入门→启动终端

如果你不想在安全系统上出现问题--不要把终端安装到/Program Files/

还请阅读文章:快速浏览MQL5


谢谢你 .....
 
Yedelkin:

我想创建一个脚本,检查指标线(类似于MA,但在一个单独的窗口中,并重置为0,但这不是重点)的摆动到零,交叉等,然后脚本改变指标参数并再次分析,结果是一个带有数据的表格,或者说一个带有结果的文件。

我不能把它作为脚本使用,所以现在我把它作为猫头鹰,在优化过程中查看指标值,并把它们保存在DeInit函数中,在每次传递过程中添加数据。 结果将是同一表格中的10000个指标值。


欢迎更多建议

 

总而言之,它起作用了,虽然通过测试器比通过脚本慢,但任何数量的指标。

而在测试时,我不得不禁用所有的核心,只在1个核心上测试,因为结果分为几个部分,但我认为把所有东西都复制到1个文件中比等待更容易。

 

当有7-10个活跃的自定义指标 时,为什么终端.exe会加载一个2倍的核心处理器50%,而MT4却不加载?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
dav1977:

当有7-10个活跃的自定义指标 时,为什么终端.exe会加载一个2倍的核心处理器50%,而MT4却不加载?

没有足够的细节。你如何比较?究竟是什么指标?航站楼里还发生了什么事?你有指标的源代码吗?在哪个符号/时期?

 
我的印象是,MT5在单个CPU代理上运行。也就是说,在一个4核处理器上,MT5将加载25%的功率。例如,当测试或在我的2个核心上正常工作时,它也是50%,但当优化时,它加载所有的代理,并达到100%。
 

你好。MetaTrader FOUR中的问题

测试器中挂单 问题,特别是到期日的问题。

   ticket=OrderSend(symb, OP_SELLLIMIT, Lots, price, Slippage, 0, 0, lsComm, mn, TimeCurrent() + 60*60, op_color);

这就是新订单的开启方式,即如果它在一小时内没有被触发,服务器应该关闭它。

然后我检查什么是有效日期。

   if (ticket>0)
   {
    OrderSelect(ticket, SELECT_BY_TICKET);
    Alert("OrderExpiration = ", TimeToStr(OrderExpiration(), TIME_DATE),":",TimeToStr(OrderExpiration(), TIME_MINUTES)); 
.......
   } 

这是EA在测试器中工作时我得到的情况。

2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: open #1 sell limit 2.00 EURUSD at 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: Alert:OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 测试者:订单#1,卖出2.00 EURUSD在1.27972处开仓

也就是说,到期日期和时间设置正确,如我所愿,但我没有在到期时平仓--24小时后开仓。

我搜索了几个论坛,这个问题已经发生了 很久。

 
alexvd:

少数细节。你如何比较?什么指标?航站楼里还发生了什么事?你有指标的源代码吗?在哪个符号/时期?

比较我写的MT4中的指标,并转到MT5中。只有终端的指标。我有消息来源。RTS fuchs并不取决于符号。期间M1

麻烦的是,由于CPU的负载,新的蜡烛 图和价格停止绘制!!!!!!!!!!!!!!!。

(图 https://www.mql5.com/ru/forum/9926/page4 )

БКС запустила MetaTrader 5 на ФОРТС
БКС запустила MetaTrader 5 на ФОРТС
  • www.mql5.com
MetaTrader 5 - программа, предназначенная для торговли через интернет на рынке ФОРТС и других финансовых рынках.
 
dav1977:

比较我写的MT4中的指标,并转到MT5中。只有终端的指标。我有消息来源。RTS fuchs并不取决于符号。期间M1

问题是,由于CPU的负载,新的烛台 和价格停止绘制!!!!!!!!!!!!!!!。

(图 https://www.mql5.com/ru/forum/9926/page4 )

我有一个怀疑,从4号文件转来的时候可能没有考虑到5号文件的特殊性。而CPU负载和蜡烛图的渲染只是OnCalculate中太重的计算或等待周期等的结果。
 

大家下午好!我想向有经验的人求助。

情况是这样的。我正在尝试用MT5做外汇。我有一个专家顾问,按信号放置待定的停止购买和停止出售订单。

当在策略测试器中运行专家顾问时,我注意到专家顾问下的止损买入订单被触发(交易被打开),根据订单必须执行 的价格,这比它应该的时间要早。

下达 止损买入挂单 的交易请求的结构如下。

mrequest.action = TRADE_ACTION_PENDING;                                         
mrequest.symbol=_Symbol;                                                       
mrequest.volume= Lots;                                                         
mrequest.price = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);        
mrequest.stoplimit = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);    
mrequest.tp = NormalizeDouble(mrate[1].close+StopSellTake*_Point,_Digits);       
mrequest.type = ORDER_TYPE_BUY_STOP;                                            
mrequest.type_filling = ORDER_FILLING_RETURN;                                      
mrequest.type_time = ORDER_TIME_SPECIFIED_DAY;      
mrequest.expiration = TimeCurrent();

在表达上

mrate[1].close+StopSell

и

mrate[1].close+StopSellTake

没有错误,他们给了我们必须执行订单 的价格和止盈价格


相应地,我的问题是:MT5在什么价格上检查触发挂起的止损买入和止损卖出订单的条件--在卖出价和买入价还是在最后一次交易的价格上?

由于你要在真实的FORTS上使用专家顾问,我希望触发价格是最后的交易价格。

我有一个假设,测试触发价格是卖出价或买入价;因此,适当的触发价格在图表上没有最后交易价格。我在手册中看到,"在 "交易执行模式 "下的工具的订单触发是以最后价格(最后执行的交易价格)进行的。我检查我需要的符号的执行模式 RIH3

Print("Режим исполнения сделок: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE));

终端返回 "交易执行模式:3"。3似乎是一个股票的执行,即触发价格应该是Last。但是,当触发价格还没有出现在图表上时,挂单会像以前一样被执行。

我在FORTS经纪人的演示服务器上进行测试。