Acima do código do indicador Spread_of_symbols ... Decidi reescrevê-lo para fazê-lo funcionar mais rapidamente.... e o código apareceu, ver abaixo ... os dados não são copiados ... se copiar dados de 1 a 0 no código, o indicador desenha muito rápido mas ocorre um erro fora da faixa de erro ... o que está errado no código ver abaixo ...?
No modo de visualização, ao negociar em dois símbolos, após fechar negócios ao mesmo tempo, só aparecem no histórico os dados do símbolo em que o Expert Advisor está a funcionar. Os dados do outro símbolo só chegam ao separador do histórico após a abertura de novas transacções. Como resultado, há um período de tempo em que os dados sobre o comércio e os separadores de histórico são diferentes.
JF 0 Transacções 19:31:10 '***': cancelar a encomenda #3694236 comprar paragem 1.10 AUDJPY.m a 95.679<br / translate="no">DS 0 Transacções 19:31:10 '***': cancelar a encomenda #3694238 comprar limite 1.10 AUDJPY.m a 93.876 DH 0 Comércios 19:31:10 '***': cancelar encomenda #3694237 comprar paragem 0,36 AUDJPY.m a 95,679 FI 0 Comércios 19:31:10 '***': cancelar encomenda #3694239 limite de compra 0,36 AUDJPY.m a 93,876 FP 0 Comércios 19:31:10 '***': cancelar a encomenda #3694236 comprar paragem 1.10 AUDJPY.m a 95.679 feito QE 0 Comércios 19:31:11 '***': cancelar encomenda #3694238 limite de compra 1.10 AUDJPY.m a 93.876 feito CG 0 Comércios 19:31:11 '***': cancelar encomenda #3694237 comprar paragem 0.36 AUDJPY.m a 95.679 feito OL 0 Comércios 19:31:11 '***': cancelar a encomenda #3694239 limite de compra 0.36 AUDJPY.m a 93.876 feito
Quatro ordens pendentes, de acordo com o registo, pareciam ter sido rapidamente eliminadas. Mas a onTradeTransaction, as respostas vieram em cerca de 15 segundos, as carraças estavam a chegar neste período.
IE 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 =O= Preço de fecho/reversão de negócio=95.648 m=3 b/s=SELL ... ==>Tempo antes de OrderSendAsync ES 0 prp5 (EURUSD.m,M1) 19:31:29 TS=6 caso 8(real) m=3 b/s=SELL Err=Encomenda colocada ==>Após EncomendaSendadaSync, 3 seg. parece ser demasiado longo.
P.S. Parece que houve atrasos na execução do Expert, embora eu me interrogue quanto tempo os pacotes para a OnTradeTransaction podem ficar em fila de espera.
Referência MQL5 / Biblioteca Standard / Classes para criação de painéis e diálogos / CWnd / StateFlagsSet
Que propriedades?
StateFlagsSet não propriedades, mas estado. Um método de grupo para mudar o estado. Logo acima dos métodos de mudança das bandeiras individuais do Estado.
Olhando para a "organização de acesso aos dados", olhando para o guião de amostra que bombeia os dados e compreendeu tudo, surgiram as seguintes questões:
1. Porque não posso escrever este código no indicador na função OnInit, para que no início o indicador descarregue o seu próprio histórico e prepare as séries cronológicas? Posso passar um tal cheque no meu consultor especializado?
2. Quantas vezes tenho de fazer esta verificação: 1 para Conselheiros Peritos e 2 para indicadores? Se eu preparar apenas uma vez a história e as séries cronológicas para copiar, então no futuro não ocorrerão erros na cópia? Ou tenho de verificar cada vez ou de vez em quando se o histórico e as séries cronológicas estão prontos?
3. esta verificação é necessária apenas para indicadores e Conselheiros Especializados que utilizam vários prazos e símbolos, ou é desejável para todos?
Os processos de troca são assíncronos e o indicador não é permitido esperar pelos dados. Por conseguinte, é possível consultar inite, de forma alguma esperar ou abrandar e apenas em oncalculate para verificar a disponibilidade e a contagem.
Por favor note - o indicador não tem o direito de esperar ou loop, caso contrário matará o cálculo dos indicadores subsequentes.
Renat: Os processos de troca são assíncronos e o indicador não é permitido esperar pelos dados. Assim, pode consultar no inite, de forma alguma esperar ou abrandar e apenas no oncalculate para verificar a disponibilidade e contagem.
Por favor note - o indicador não tem o direito de esperar ou loop, caso contrário matará o cálculo dos indicadores subsequentes.
1 Então, onde é que eu pagino os dados? Se eu quiser fazer um indicador com um cesto de pares de moedas, muitos símbolos...para cada um deles preciso de verificar e trocar os dados...devo executar um guião a partir do indicador? Porque é que um indicador mataria os cálculos dos subsequentes? Nos indicadores seguintes, é suficiente utilizar a verificação do cálculo do indicador anterior através do BarsCalculated(indicator1_Handle), deixá-lo calcular e descarregar os dados, ou estou errado?
2 Outra questão, de outro tipo - quando declaro o cabo indicador na função, ele começa a contar? Ou começa a contar antes de eu dar um comando para o copiar?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Acima do código do indicador Spread_of_symbols ... Decidi reescrevê-lo para fazê-lo funcionar mais rapidamente.... e o código apareceu, ver abaixo ... os dados não são copiados ... se copiar dados de 1 a 0 no código, o indicador desenha muito rápido mas ocorre um erro fora da faixa de erro ... o que está errado no código ver abaixo ...?
DH 0 Comércios 19:31:10 '***': cancelar encomenda #3694237 comprar paragem 0,36 AUDJPY.m a 95,679
FI 0 Comércios 19:31:10 '***': cancelar encomenda #3694239 limite de compra 0,36 AUDJPY.m a 93,876
FP 0 Comércios 19:31:10 '***': cancelar a encomenda #3694236 comprar paragem 1.10 AUDJPY.m a 95.679 feito
QE 0 Comércios 19:31:11 '***': cancelar encomenda #3694238 limite de compra 1.10 AUDJPY.m a 93.876 feito
CG 0 Comércios 19:31:11 '***': cancelar encomenda #3694237 comprar paragem 0.36 AUDJPY.m a 95.679 feito
OL 0 Comércios 19:31:11 '***': cancelar a encomenda #3694239 limite de compra 0.36 AUDJPY.m a 93.876 feito
Quatro ordens pendentes, de acordo com o registo, pareciam ter sido rapidamente eliminadas. Mas a onTradeTransaction, as respostas vieram em cerca de 15 segundos, as carraças estavam a chegar neste período.
***
JG 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Apagar tp _ OnTrade PENDING id=85 m=3 b/s=SELLL Err=Licitações concluídas
***
RL 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Apagar sl _ OnTrade PENDING id=86 m=3 b/s=SELLL Err=Licitações concluídas
***
HK 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Apagar tp _ OnTrade PENDING id=87 m=3 b/s=SELLL Err=Ordem executada
Embora, também aqui haja algo de estranho
ES 0 prp5 (EURUSD.m,M1) 19:31:29 TS=6 caso 8(real) m=3 b/s=SELL Err=Encomenda colocada ==>Após EncomendaSendadaSync, 3 seg. parece ser demasiado longo.
P.S. Parece que houve atrasos na execução do Expert, embora eu me interrogue quanto tempo os pacotes para a OnTradeTransaction podem ficar em fila de espera.
A partir da referência:
Referência MQL5 / Biblioteca Standard / Classes para criação de painéis e diálogos / CWnd / StateFlagsSet
Que propriedades?
StateFlagsSet não propriedades, mas estado. Um método de grupo para mudar o estado. Logo acima dos métodos de mudança das bandeiras individuais do Estado.
Utilizar separadamente.
Olhando para a "organização de acesso aos dados", olhando para o guião de amostra que bombeia os dados e compreendeu tudo, surgiram as seguintes questões:
1. Porque não posso escrever este código no indicador na função OnInit, para que no início o indicador descarregue o seu próprio histórico e prepare as séries cronológicas? Posso passar um tal cheque no meu consultor especializado?
2. Quantas vezes tenho de fazer esta verificação: 1 para Conselheiros Peritos e 2 para indicadores? Se eu preparar apenas uma vez a história e as séries cronológicas para copiar, então no futuro não ocorrerão erros na cópia? Ou tenho de verificar cada vez ou de vez em quando se o histórico e as séries cronológicas estão prontos?
3. esta verificação é necessária apenas para indicadores e Conselheiros Especializados que utilizam vários prazos e símbolos, ou é desejável para todos?
Por favor note - o indicador não tem o direito de esperar ou loop, caso contrário matará o cálculo dos indicadores subsequentes.
Os processos de troca são assíncronos e o indicador não é permitido esperar pelos dados. Assim, pode consultar no inite, de forma alguma esperar ou abrandar e apenas no oncalculate para verificar a disponibilidade e contagem.
Por favor note - o indicador não tem o direito de esperar ou loop, caso contrário matará o cálculo dos indicadores subsequentes.
1 Então, onde é que eu pagino os dados? Se eu quiser fazer um indicador com um cesto de pares de moedas, muitos símbolos...para cada um deles preciso de verificar e trocar os dados...devo executar um guião a partir do indicador? Porque é que um indicador mataria os cálculos dos subsequentes? Nos indicadores seguintes, é suficiente utilizar a verificação do cálculo do indicador anterior através do BarsCalculated(indicator1_Handle), deixá-lo calcular e descarregar os dados, ou estou errado?
2 Outra questão, de outro tipo - quando declaro o cabo indicador na função, ele começa a contar? Ou começa a contar antes de eu dar um comando para o copiar?