Maxim Dmitrievsky: Sim, funciona assim, obrigado... e a seleção de pedidos fica mais lenta, sim... mas não notei nenhum outro erro até agora.... Boa dica, de fato, faz sentido acelerar a busca de ordens, eu acho.
A enumeração de ordens HISTÓRICAS será acelerada apenas para um testador/otimizador. Na verdade, não pode ser.
O histórico de negociações pode mudar como resultado da correção pelos administradores. Por exemplo, correção de picos, cancelamento de transações errôneas ou operações financeiras.
Na realidade, é melhor usar seu cache 99% do tempo, atualizando-o totalmente uma vez por dia/sessão/limpeza e adicionando coisas novas. Isso se seu trabalho for baseado em recálculo pesado e constante do histórico de transações.
Se estiver testando na bolsa, leve em consideração
Não recomendo trabalhar com histórico na bolsa de valores via MT4Orders. Ou seja, MODE_TRADE - sem problemas, MODE_HISTORY - não é necessário na Bolsa.
O histórico funciona no Hedge sem erros, exceto nos momentos de proximidade, que exigem muito tempo livre para classificar e comparar diferentes situações de proximidade em ambas as plataformas.
fxsaber: A pesquisa de ordens HISTÓRICAS será acelerada apenas para um testador/otimizador. No mundo real, isso não é possível.
Na realidade, em 99% dos casos, é melhor usar seu cache, atualizando-o completamente uma vez por dia/sessão/limpeza e adicionando um novo cache. Isso se seu trabalho for baseado em um recálculo pesado e constante do histórico de transações.
Considerando o que Renat disse, parece-me que você pode (e deve) em vez de não poder. Você pode atualizar o cache uma vez por hora ou sob demanda.
Considerando o que Renat disse, parece-me que você pode (e deve) em vez de não pode. Você pode atualizar o cache uma vez por hora ou sob demanda.
Qual é o objetivo do cache em uma negociação real? Você já armazenou o histórico em cache no MT4? A aceleração é necessária quando o desempenho é importante - testador.
// O que não é realizado: // Momentos CloseBy - ainda não tive tempo de fazer isso. Talvez no futuro, quando necessário. // Determinar TP e SL de posições fechadas - atualmente (build 1368) a MQL5 não sabe como fazer isso.
Eu escrevi a biblioteca para mim e não uso o CloseBy. É por isso que não o implementei. Talvez eu o adicione assim que estiver pronto.
Como uma solução temporária, adicione estas linhas antes de ativar sua biblioteca
cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754.
Então, por que você está tentando fazer closeBy quando foi dito originalmente que essa é a única coisa que não está na implementação?
O OrderCloseBy acima é um quadro em branco para a compilação de sua biblioteca.
É difícil pensar em algo mais simples do que escrever um OrderCloseBy funcional. O problema é a exibição do histórico. As coisas são muito específicas em ambas as plataformas. Tanto que os próprios desenvolvedores estão confusos.
Preciso fazer isso, mas ainda não. Eu mesmo não o usarei, portanto não estou interessado.
Então, por que você está tentando fazer o closeBy quando foi originalmente declarado que essa é a única coisa que não está na implementação?
O OrderCloseBy acima é um quadro em branco para a compilação de sua biblioteca.
É difícil pensar em algo mais simples do que escrever um OrderCloseBy funcional. O problema é a exibição do histórico. As coisas são muito específicas em ambas as plataformas. Tanto que os próprios desenvolvedores estão confusos.
Preciso fazer isso, mas ainda não. Eu mesmo não vou usá-lo, portanto não estou interessado.
Desculpe, não prestei atenção ao código que você me forneceu - fui estúpido.
Outra pergunta: como contabilizar corretamente o SYMBOL_FILLING_MODE em sua biblioteca? Digamos que o modo atual não seja compatível com um dos corretores que tenho, posso fazer uma verificação automática?
Maxim Dmitrievsky: Outra pergunta: como levar em conta corretamente o SYMBOL_FILLING_MODE em sua biblioteca? Digamos que o modo atual não seja compatível com uma das corretoras que tenho, posso fazer uma verificação automática?
Para entender melhor do que você está falando, publique o nome do servidor de negociação. Verei o que está errado lá.
fxsaber: Para entender melhor do que estamos falando, publique o nome do servidor de negociação. Verei o que está errado.
Existe o ORDER_FILLING_IOC, eu verifiquei, as negociações são abertas com essa solicitação. Você precisa verificar na biblioteca, porque as ordens também não são modificadas, você precisa verificar em todos os lugares
Em geral, descobri o problema - os servidores nem sempre retornam os valores corretos, portanto, há uma confusão e não há como corrigi-la, apenas alterar manualmente o tipo de preenchimento, sim. Houve problemas semelhantes com pessoas aqui no fórum.
Sim, funciona assim, obrigado... e a seleção de pedidos fica mais lenta, sim... mas não notei nenhum outro erro até agora.... Boa dica, de fato, faz sentido acelerar a busca de ordens, eu acho.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
MetaEditor build 1463
Renat Fatkhullin, 2016.11.05 10:38 AM
O histórico de negociações pode mudar como resultado da correção pelos administradores. Por exemplo, correção de picos, cancelamento de transações errôneas ou operações financeiras.
Na realidade, é melhor usar seu cache 99% do tempo, atualizando-o totalmente uma vez por dia/sessão/limpeza e adicionando coisas novas. Isso se seu trabalho for baseado em recálculo pesado e constante do histórico de transações.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Bibliotecas: MT4Orders
fxsaber, 2016.11.07 08:31 pm.
Não recomendo trabalhar com histórico na bolsa de valores via MT4Orders. Ou seja, MODE_TRADE - sem problemas, MODE_HISTORY - não é necessário na Bolsa.A pesquisa de ordens HISTÓRICAS será acelerada apenas para um testador/otimizador. No mundo real, isso não é possível.
Considerando o que Renat disse, parece-me que você pode (e deve) em vez de não poder. Você pode atualizar o cache uma vez por hora ou sob demanda.
Considerando o que Renat disse, parece-me que você pode (e deve) em vez de não pode. Você pode atualizar o cache uma vez por hora ou sob demanda.
// Momentos CloseBy - ainda não tive tempo de fazer isso. Talvez no futuro, quando necessário.
// Determinar TP e SL de posições fechadas - atualmente (build 1368) a MQL5 não sabe como fazer isso.
Eu escrevi a biblioteca para mim e não uso o CloseBy. É por isso que não o implementei. Talvez eu o adicione assim que estiver pronto.
Como uma solução temporária, adicione estas linhas antes de ativar sua biblioteca
bool OrderCloseBy( const int Ticket, const int Opposite, const color Arrow_Color = clrNONE )
{
return(false);
}
#endif
Na verdade, eu percebo um erro
cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754
De fato, eu pego um erro
cPoza::closeBy Counter close failed ticketB=168 ticketA=2216 caused error-4754.
Então, por que você está tentando fazer closeBy quando foi dito originalmente que essa é a única coisa que não está na implementação?
O OrderCloseBy acima é um quadro em branco para a compilação de sua biblioteca.
É difícil pensar em algo mais simples do que escrever um OrderCloseBy funcional. O problema é a exibição do histórico. As coisas são muito específicas em ambas as plataformas. Tanto que os próprios desenvolvedores estão confusos.
Preciso fazer isso, mas ainda não. Eu mesmo não o usarei, portanto não estou interessado.
Então, por que você está tentando fazer o closeBy quando foi originalmente declarado que essa é a única coisa que não está na implementação?
O OrderCloseBy acima é um quadro em branco para a compilação de sua biblioteca.
É difícil pensar em algo mais simples do que escrever um OrderCloseBy funcional. O problema é a exibição do histórico. As coisas são muito específicas em ambas as plataformas. Tanto que os próprios desenvolvedores estão confusos.
Preciso fazer isso, mas ainda não. Eu mesmo não vou usá-lo, portanto não estou interessado.
Desculpe, não prestei atenção ao código que você me forneceu - fui estúpido.
Outra pergunta: como levar em conta corretamente o SYMBOL_FILLING_MODE em sua biblioteca? Digamos que o modo atual não seja compatível com uma das corretoras que tenho, posso fazer uma verificação automática?
Para entender melhor do que estamos falando, publique o nome do servidor de negociação. Verei o que está errado.