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
Este é GBPAUD H4 3.12.2018 dia inteiro! E eu não pulei para terminar desta vez.
A função de impressão pode perder alguns relatórios quando tem muito a imprimir?
Acho que outra questão poderia ser porque os carrapatos desses 3 instrumentos saem em milissegundos diferentes, então quando usamos a função start/OnTick no GBPAUD, ela apenas faz a função start sempre que o tick GBPAUD sai. E eu acho que seu código pode dizer para retornar todos esses 3 pares de preços quando não forem 0. Se for o caso, ele retorna sempre que todos os preços de compra/venda de todos os instrumentos saírem ao mesmo tempo exato.
Os dados parecem bem...
Você está certo sobre a função de impressão... Também vejo muitas linhas em falta em meus testes. Mas quando eu imprimo tudo para arquivar, nada fica faltando.
Aqui estão algumas informações sobre o código: o tempo de cada tick GBPAUD será usado para obter os tick mais recentes dos outros pares (até o mesmo tempo), portanto sempre retornará algo, não será zero.
Decidi colocar a função em uma classe, que deve ser mais arrumada. Veja em anexo. Coloque-a em sua pasta de especialistas, junto com sua EA. Esteja à vontade para modificá-la.
O exemplo a seguir mostra uma maneira de utilizá-la (as linhas destacadas são essenciais):
Então a chave realmente, é apenas esta linha:ticksInfo.getTick(<SYMBOL String>,<MqlTick Struct>). Se ela retornar falsa, você terá que verificar no diário a mensagem de erro.
Os dados parecem bem...
Você está certo sobre a função de impressão... Também vejo muitas linhas em falta em meus testes. Mas quando eu imprimo tudo para arquivar, nada fica faltando.
Aqui estão algumas informações sobre o código: o tempo de cada tick GBPAUD será usado para obter os tick mais recentes dos outros pares (até o mesmo tempo), então sempre retornará algo, não será zero.
Decidi colocar a função em uma classe, que deve ser mais arrumada. Veja em anexo. Coloque-a em sua pasta de especialistas, junto com sua EA. Esteja à vontade para modificá-la.
O exemplo a seguir mostra uma maneira de utilizá-la (as linhas destacadas são essenciais):
Então a chave realmente, é apenas esta linha:ticksInfo.getTick(<SYMBOL String>,<MqlTick Struct>). Se ela retornar falsa, você terá que verificar no diário a mensagem de erro.
Obrigado por sua ajuda,
Copiei todas estas linhas em todas as áreas apropriadas. Mas como não entendo o código, por favor, me informe como colocar o Ask and Bid of SecondPair no Ask2,Bid2 e a mesma coisa para o ThirdPair.
Esta é a minha área global:
E esta parte retorna 2 erros durante a compilação. O que devo fazer com eles?
SecondPair' - expressão constante exigida MyEA!.mq4
ThirdPair' - expressão constante exigida MyEA!.mq4
Obrigado por sua ajuda,
Eu copiei todas estas linhas em todas as áreas apropriadas. Mas como não entendo o código, por favor, me informe como colocar o Ask e Bid do SecondPair no Ask2,Bid2 e o mesmo para o ThirdPair.
Esta é a minha área global:
E esta parte retorna 2 erros durante a compilação. O que devo fazer com eles?
SecondPair' - expressão constante exigida MyEA!.mq4
ThirdPair' - expressão constante exigida MyEA!.mq4
Em seguida, declare seus outrosPairs da mesma forma que todos osPairs. E no OnInit, faça isso:
E para atribuir valores em Ask2, Bid2, Ask3, Bid3, faça isso no OnTick:
Em seguida, declare seus outrosPairs da mesma forma que todos osPairs. E no OnInit, faça isso:
E para atribuir valores em Ask2, Bid2, Ask3, Bid3, faça isso no OnTick:
Ele me dá 00 novamente :(
Minha área global:
OnInit:
OnDeinit:
OnTick:
Diário:
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: Erro GBPCAD
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: Erro GBPUSD
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: GBPAUD tick número 221179, em 2018.01.03 23:36:58 000 Ask = 1.72479 Bid = 1.72459
2019.05.14 17:37:14.686 2018.01.03 23:36:58 MyEA! GBPAUD,H4: ==== Agora, carrapato do processo 221179
Onde eu estou enganado?
Sinto muito por minha habilidade de nível zero :D
Ele me dá 00 novamente :(
Minha área global:
OnInit:
OnDeinit:
OnTick:
Onde estou enganado?
Sinto muito pela minha habilidade de nível zero :D
Sinto muito pela minha habilidade de nível zero :D
OnInit - as 3 novas linhas devem ir antes de tudo.
Eu consegui. Mas é muito estranho: o temporizador desses dois pares extras não funciona...
Eu fiz isso. Mas é muito estranho: o temporizador desses dois pares extras não funciona...
Histórico de download no fórum de programação MQL4EA - MQL4 e MetaTrader 4 -MQL4
Correção
A função ligada a, abre um gráfico oculto para o símbolo/TF em questão (se ainda não estiver aberto), atualizando assim o histórico, e colocando temporariamente o símbolo emMarket Watch (se ainda não estiver lá), assim SymbolInfoDouble(symbol, SYMBOL_BID ) ou MarketInfo(symbol, MODE_BID ) também não retorna zero a primeira chamada.
Histórico de download no fórum de programação MQL4EA - MQL4 e MetaTrader 4 -MQL4
Correção
A função ligada a, abre um gráfico oculto para o símbolo/TF em questão (se ainda não estiver aberto), atualizando assim o histórico, e colocando temporariamente o símbolo emMarket Watch (se ainda não estiver lá), assim SymbolInfoDouble(symbol, SYMBOL_BID ) ou MarketInfo(symbol, MODE_BID ) também não retorna zero a primeira chamada.
Você está certo. Mas não se preocupe, porque a única coisa que fazemos no OnInit, aqui, é inicializar arrays para armazenar nomes de símbolos e preparar algumas alças de arquivos para ler nossos próprios arquivos de dados. Quanto às ofertas e pedidos de preços (ou seja, dados 'tick'), só os acessamos no OnTick, e principalmente também de nossos próprios arquivos de dados, uma vez que o testador de estratégia MT4 sempre retorna zeros quando consultado sobre tais dados de outros símbolos (note que este comportamento difere da recuperação de dados OHLC, com os quais as pessoas estão mais familiarizadas).