错误、漏洞、问题 - 页 1807

 

只是为了说明问题。

开设买入交易

2017.02.15 15:16:39.662 Trades  '5246495': instant buy 1.00 EURUSD at 1.05572
2017.02.15 15:16:40.944 Trades  '5246495': accepted instant buy 1.00 EURUSD at 1.05572
2017.02.15 15:16:40.944 Trades  '5246495': deal #117730573 buy 1.00 EURUSD at 1.05572 done (based on order #134121208)
2017.02.15 15:16:40.944 Trades  '5246495': order #134121208 buy 1.00 / 1.00 EURUSD at 1.05572 done in 1284.090 ms

专家乘以它


2017.02.15 15:16:41.720 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05574 (deviation: 16) [No prices]
2017.02.15 15:16:42.735 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:43.749 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:44.760 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:45.774 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:46.789 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:47.804 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:48.818 Trades  '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:49.831 Trades  '5246495': instant buy 1.00 EURUSD at 1.05577 (deviation: 18)
2017.02.15 15:16:49.891 Trades  '5246495': accepted instant buy 1.00 EURUSD at 1.05577 (deviation: 18)
2017.02.15 15:16:49.892 Trades  '5246495': order #134121233 buy 1.00 / 1.00 EURUSD at 1.05577 done in 61.372 ms
2017.02.15 15:16:49.893 Trades  '5246495': deal #117730596 buy 1.00 EURUSD at 1.05577 done (based on order #134121233)
 
Vladislav Andruschenko:

只是为了说明问题。

好的,加入了BOD。

贸易漏洞比其他任何东西都更令人震惊。更新到1531+,使日志更加完整。

 
2017.02.16 08:53:03.158 Network '2250': disconnected from FXOpen-MT5
2017.02.16 08:53:03.285 MQL5    wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)

它是什么?

唯一的图表上没有任何东西在运行。每当你切换账户时,这条信息就会弹出来。

 

@Slawa,同步化是否扩展到TimeCurrent()?现在我得到了以下的画面:昨天晚上10点45分,我关闭了终端。今天早上打开了它。市场仍在关闭。堡垒。在莫斯科时间10:00开市前,蜱虫就会出现。在OnBookEvent()中处理每个刻度的信息。问题是,尽管有多余的同步检查。

bool GetRatesTotal( int& rates_total )                          // Количество просчитанных баров (out)
        {
         //--- Проверка переданного значения
         if( rates_total > 0 )                                                          // Если передано корректное значение
                 return( true );                                                                        // Возвращаем истину
         //--- Проверка синхронизации
         bool isSync = SymbolIsSynchronized( _Symbol );
         bool sync = (bool)SeriesInfoInteger( _Symbol, _Period, SERIES_SYNCHRONIZED );
         //---
    if( !isSync || !sync )                                                              // Если история не синхронизирована
        {
         Print( __FUNCTION__,": ОШИБКА РАССИНХРОНИЗАЦИИ! isSync = ",isSync,", sync = ",sync,", rt = ",rates_total );
         return( false );                                                                       // Выходим с ошибкой
        }
    //--- Определим число просчитанных баров
         rates_total = Bars( _Symbol, _Period );                // Определяем число баров
         if( rates_total <= 0 )                                                         // Если синхронизация не произведена
                {
                 Print( __FUNCTION__,": ОШИБКА #",GetLastError(),": Синхронизация по Bars() не пройдена!" );
                 return( false );                                                                       // Возвращаем ложь
                }
         else                                                                                                   // Если значение получено
                 return( true );                                                                        // Возвращаем истину
        }

后面是对时间和当前SYMBOL_SESSION_...的请求。值 - 时间不对 = 终点站关闭时间,即22:45!因此,进入文件的条目是歪的,读数是混乱的。请检查TimeCurrent()的同步性!

已添加。

传递给函数的rate_total参数的值总是=0!也就是说,同步性被检查了!

 
Alexey Kozitsyn:

时间不对=终点站关闭时间,即22:45。

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

fxsaber, 2017.02.14 15:40

如果你在Metaquotes-Demo的市场观察中只留下MOEX-符号,TimeCurrent就会落后15分钟。只要增加一个外汇符号,TimeCurrent就会一下子向前跳15分钟。
 
fxsaber:

这是一个真正的开口,不太可能在那里添加外汇字符......但如果是这样的话,TimeCurrent() 现在一定是真的歪了,甚至它也不能用所有可用的方法来同步了

同样,如果我们要附加SYMBOL_SESSION_...数据将被附加到他们的真实到达时间上,我们就不会有这样的问题了!"。而且我们也不必用TimeCurrent()做拐杖。

 
fxsaber:

顺便说一下,你所描述的情况是很符合逻辑的,因为证券交易所的报价延迟是15分钟。没有来自外汇的延迟,所以时间是根据外汇来调整的。但是,当然,这是一个错误。也就是说,TimeCurrent() 在不同的市场之间 "不导航"。

也有可能是TimeCurrent()来自流动性提供者。而流动资金是从不同地方收集的。

 
Alexey Kozitsyn:

顺便说一下,你所描述的情况是很符合逻辑的,因为证券交易所的报价延迟是15分钟。没有来自外汇的延迟,所以时间是根据外汇来调整的。但是,当然,这是一个错误。也就是说,TimeCurrent()在不同的市场之间 "不导航"。

也有可能是TimeCurrent()来自流动性提供者。而流动资金是从不同地方收集的。

_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
 
fxsaber:
_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
谢谢你的想法,我必须比较SYMBOL_TIME和TimeCurrent()。也许会有差异...
 
Alexey Kozitsyn:
谢谢你的想法,将不得不比较SYMBOL_TIME和TimeCurrent()。也许会有差异...

哦...我没有想到会发生得这么快。

2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:52.889 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)

当终端被打开时,关闭。一个明显的TimeCurrent()错误!

原因: