Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Isso não deveria afetar o tempo real.
Infelizmente, para mim, afeta.
Há um botão que exibe/oculta o histórico de transações. É claro que não faz sentido exibir todas elas, mas muitas vezes você precisa selecionar várias dezenas de "suas próprias" por símbolo, mágica ou comentário entre milhares de outras. É aí que começam os freios. A ideia é armazenar em cache a lista de "próprios" e atualizá-la somente com novos negócios históricos.
Também vi um corretor com falhas que reencaixava ordens de mercado, e um Expert Advisor em funcionamento podia gerar cem mil ordens reencaixadas no histórico em uma hora. Em seguida, o próprio terminal foi suspenso....
Preciso de um exemplo de um TS em que o histórico de negociações (não o histórico de preços) afete significativamente o tempo de backtest.
Como uma fantasia: construir uma curva de equilíbrio em negociações históricas e calcular o lote de novas negociações dependendo da inclinação da curva.
Se você não mantiver seu cache, terá que vasculhar o histórico completamente antes de cada negociação. Mas aqui, é claro, é mais fácil coletar valores de saldo em uma matriz, pois não é necessário armazenar todas as negociações.
Eu, infelizmente, estou tendo um efeito.
Há um botão que, ao ser pressionado, exibe/oculta o histórico de transações. É claro que não faz sentido exibir todas elas, mas muitas vezes você precisa selecionar várias dezenas de "suas próprias" por símbolo, mágica ou comentário entre milhares de outras. É aí que começam os freios. A ideia é armazenar em cache a lista dos "nossos" e atualizá-la somente com novos negócios históricos.
Eu entendo o problema. Sim, o cache completo incorporado ao sistema bíblico já deveria ter sido feito. Terei que pensar em como implementá-lo.
Também vi um corretor com falhas que reenviava ordens de mercado, e um Expert Advisor em funcionamento podia gerar cem mil ordens reenviadas no histórico em uma hora. Em seguida, o próprio terminal foi suspenso....
Eu gostaria de ver essa corretora maravilhosa.
Como uma fantasia: construção da curva de equilíbrio por meio de negócios históricos e cálculo do lote de novos negócios dependendo da inclinação da curva.
Se você não mantiver seu próprio cache, terá que vasculhar o histórico completamente antes de cada negociação. Mas aqui, é claro, é mais fácil coletar valores de saldo em uma matriz, não é necessário armazenar todas as negociações.
Eu pensei nisso, mas esse é o ponto em que o VR de saldo é imediatamente sugerido. Paradoxalmente, parece que o armazenamento em cache do histórico de negociações é necessário apenas para o uso em combate (não para o Tester).
Eu entendo o problema. Sim, o cache completo incorporado à biblah ainda é necessário. Teremos que pensar em como implementá-lo.
Idealmente, será suficiente armazenar um tíquete DEAL_ENTRY_IN para cada negociação, porque 99% do tempo GetPositionDealIn (e HistorySelectByPosition nele) é executado.
Gostaria muito de ver esse excelente corretor.
PrimeXM-LiveUK.
Essa é uma ponte de muleta para o Saxo Bank.
Idealmente, será suficiente armazenar o tíquete DEAL_ENTRY_IN para cada negociação, porque 99% das vezes GetPositionDealIn (e nele - HistorySelectByPosition) é executado.
A comparação de hash com o histórico de negociação já foi feita há muito tempo. Portanto, provavelmente o ideal é se aprofundar no lado genérico.
Como motivação para aprender esse método, ele serve! Em algum momento do verão, em um ambiente tranquilo....
Atualização do fxsaber:
Trabalhar com um longo histórico agora é muito fácil!
Moderadores, se tiverem uma chance, carreguem o código no banco de dados.
Atualização do fxsaber:
Trabalhar com um longo histórico agora é muito fácil!
Moderadores, se puderem, carreguem o código no banco de dados.
Obrigado, atualizado em todos os idiomas
Eu uso essa biblioteca em meus Expert Advisors MT4.
Encontrei um momento estranho:
Se o teste for feito nos servidores da Metaquotes - demo, a biblioteca funciona bem. (por exemplo, ao abrir uma ordem)
Se você testar o broker fhtm demo, a função OrderSend abrirá uma transação, mas retornará um erro.
Após a depuração, ticket = -1;
O texto do registro está abaixo:
Ao mesmo tempo, o registro também mostra uma mensagem de que tudo está normal.
Por que pode haver esse problema?
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::AccountInfoString(ACCOUNT_SERVER) = ForexTimeFXTM-Demo01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_CONNECTED) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_PING_LAST) = 55335
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoDouble(TERMINAL_RETRANSMISSION) = 0.8875739644970414
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_BUILD) = 1835
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_X64) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Res = false
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS::OrderSendBug = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.action = TRADE_ACTION_DEAL (1)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.magic = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.order = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.symbol = EURUSD
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.price = 1.17681
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.stoplimit = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.sl = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.tp = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.deviation = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type = ORDER_TYPE_BUY (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_filling = ORDER_FILLING_FOK (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_time = ORDER_TIME_GTC (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.expiration = 1970.01.01 00:00:00
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.comment =
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position = 2210821620
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position_by = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode = 10009
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.deal = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.order = 2210821775
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.price = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.bid = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.ask = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.comment = Request executed 190.826 + 1000.396 ms
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.request_id = 154
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode_external = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS: não sincroniza com o histórico! por favor, envie os registros para fxsaber!
2018.06.08 22:55:47.197 EA MT5 (EURUSD,M1) OrderSend with error 4754
Obrigado, atualizado em todos os idiomas
Também seria bom ter o fxsaber de volta.