Erros, bugs, perguntas - página 1807

 

só para ser claro:

abrir um negócio de compra

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

o perito multiplica-o


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:

só para ser claro:

OK, adicionado à CBO.

Os bugs do comércio são mais alarmantes do que qualquer outra coisa. Actualização para 1531+ para que os registos fiquem mais completos.

 
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)

O que é isso?

Não há nada a correr no único gráfico. Esta mensagem aparece sempre que se muda de conta.

 

@Slawa, a sincronização estende-se ao TimeCurrent()? Agora tenho a seguinte imagem: ontem à noite, às 22h45, desliguei o terminal. Liguei-o esta manhã. O mercado ainda está fechado. FORTES. Os bilhetes chegam antes da abertura do mercado às 10:00 horas, hora de Moscovo. A informação de cada tick é processada em OnBookEvent(). O problema é que, apesar da verificação redundante da sincronização:

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 );                                                                        // Возвращаем истину
        }

seguido de um pedido de tempo e corrente SYMBOL_SESSION_SENSION_... valor - TIME CAME NÃO CORRECTO = TERMINAL TEMPO FECHADO, i.e. 22:45! Consequentemente, a entrada no ficheiro é torta e as leituras são confusas. Por favor verifique a função TimeCurrent() para sincronização!

Adicionado:

O valor do argumento taxas_total passou para a função sempre = 0! Isto é, a sincronização é verificada!

 
Alexey Kozitsyn:

TEMPO NÃO É CORRECTO = TEMPO FECHADO TERMINAL, i.e. 22:45

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Insectos, insectos, perguntas

fxsaber, 2017.02.14 15:40

Se deixar apenas Símbolos MOEX em Metaquotes-Demo no Market Watch, o TimeCurrent terá 15 minutos de atraso. Assim que é adicionado um único símbolo FOREX, o TimeCurrent salta 15 minutos de uma só vez.
 
fxsaber:

Esta é uma verdadeira abertura, é improvável que possa adicionar caracteres FOREX lá... Mas se assim for, o TimeCurrent() deve estar realmente torto agora, e mesmo ele não pode ser sincronizado por todos os meios disponíveis!

Mais uma vez, se anexássemos SYMBOL_SESSION_SENSION_... Os dados seriam anexados à sua hora real de chegada, não teríamos tal problema! E não teríamos de fazer muletas com o TimeCurrent().

 
fxsaber:

A propósito, o caso que descreve é bastante lógico, porque o atraso da cotação na bolsa de valores é de 15 minutos. Não há qualquer atraso do câmbio, por isso o tempo é ajustado de acordo com o câmbio. Mas, é claro, isto é um erro. Isto é, TimeCurrent() "não navega" entre diferentes mercados.

É também possível que a TimeCurrent() venha do fornecedor de liquidez. E a liquidez é recolhida em diferentes locais.

 
Alexey Kozitsyn:

A propósito, o caso que descreve é bastante lógico, porque o atraso da cotação na bolsa de valores é de 15 minutos. Não há qualquer atraso em relação ao câmbio, pelo que o tempo é ajustado de acordo com o câmbio. Mas, é claro, isto é um erro. Isto é, TimeCurrent() "não navega" entre diferentes mercados.

É também possível que a TimeCurrent() venha do fornecedor de liquidez. E a liquidez é recolhida em diferentes locais.

_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
 
fxsaber:
_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
Obrigado pela ideia, devemos comparar SYMBOL_TIME e TimeCurrent(). Talvez haja diferenças...
 
Alexey Kozitsyn:
Obrigado pela ideia, terá de comparar SYMBOL_TIME e TimeCurrent(). Talvez haja diferenças...

Ooh... Não pensei que fosse acontecer tão depressa:

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)

Quando o terminal é ligado, desligado. Um evidente erro TimeCurrent()!