[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 381
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
Isto é da ajuda, mas é possível usar o NULL como um símbolo para "observar" apenas o instrumento no qual a EA está funcionando?
Como este, por exemplo:
NULL não vai funcionar, ao que parece.
Mas Symbol() vai funcionar =)
Boa tarde. Tenho a seguinte pergunta. Olivro MQL4localizado na MQL4.community, na seção "Simple MQL Programs ", contém um exemplo de tradingexpert.mq4 com o seguinte conteúdo (ver arquivo anexo). As variáveis externas stopLossduplo externo =200 e externo duplo TakeProfit =39 são declaradas no bloco 1-2. Os blocos 8-9 das funções New_Stop(StopLoss) e New_Stop(TakeProfit) são usados para calcular os parâmetros SL e TP. Há uma descrição da função no bloco 11-12.
Pergunta: O parâmetro formal da função New_Stop tem tipo int(int Parametr), enquanto os parâmetros passados na chamada de função New_Stop(StopLoss)(New_Stop(TakeProfit)) têm tipo duplo... No livro MQL4, encontrado no MQL4.community na seção "Language Basics", subseção "Functions", "Function Properties" diz "O número, tipo e ordem dos parâmetros passados em uma chamada de função deve corresponder ao número, tipo e ordem dos parâmetros formais passados na descrição da função (a exceção é uma chamada de função que tem parâmetros padrão - ver Chamada de Função e Descrição da Função e Operador de Retorno. Como explicar esta contradição: de acordo com esta última, ao declarar variáveis StopLoss e TakeProfit, eu deveria ter indicado int tipo, não duplo(o compilador não dá nenhum erro)?
Para não desperdiçar o fórum, obrigado antecipadamente pela resposta.
Olá, você pode me dar uma dica... Pesquisei metade da Internet, e as informações variam
A essência do Expert Advisor é abrir posições sobre diferentes instrumentos. "Na vida real, funciona e mostra os preços atuais, mas não posso fazer a história... A função retorna zero.
Quero mostrar a cotação atual para duas moedas EURUSD e EURCHF, por exemplo.
Estou chamando a citação atual com esta função (estou seguindo o histórico quando o gráfico EURUSD está ativo):
MarketInfo("EURUSD",MODE_BID) ---> obter preço atual
MarketInfo("EURCHF ",MODE_BID) ---> devolve zero
Descobri neste fórum que o MarketInfo não funciona na história, use o "iClose".
Mas quando eu chamo de orçamento usando o
iClose("EURUSD",PERÍODO_M1,0) ---> Eu recebo o preço atual
iClose("EURCHF",PERÍODO_M1,0) ---> devolve zero
De que outra forma posso obter as citações atuais para diferentes instrumentos no testador de estratégia? Obrigado
O testador MT4 não é multi-moeda. Em outras palavras, somente os EAs de moeda única podem ser testados.
O testador MT4 não é multi-moeda. Em outras palavras, somente os EAs de moeda única podem ser testados.
obrigado
obrigado
Mais precisamente, teste em uma ferramenta e você pode usar outras ferramentas para análise.
Ou assim parece:
Boa tarde. Tenho a seguinte pergunta. Olivro MQL4localizado na MQL4.community, na seção "Simple MQL Programs ", contém um exemplo de tradingexpert.mq4 com o seguinte conteúdo (ver arquivo anexo). As variáveis externas stopLossduplo externo =200 e externo duplo TakeProfit =39 são declaradas no bloco 1-2. Os blocos 8-9 das funções New_Stop(StopLoss) e New_Stop(TakeProfit) são usados para calcular os parâmetros SL e TP. Há uma descrição da função no bloco 11-12.
Pergunta: O parâmetro formal da função New_Stop tem tipo int(int Parametr), enquanto os parâmetros passados na chamada de função New_Stop(StopLoss)(New_Stop(TakeProfit)) têm tipo duplo... No livro MQL4.community, encontrado em MQL4. community no capítulo "Language Fundamentals" na seção "Functions", subsecção "Function Properties" diz "O número, tipo e ordem dos parâmetros passados em uma chamada de função deve corresponder ao número, tipo e ordem dos parâmetros formais passados na descrição da função (a exceção é uma chamada de função que tem parâmetros padrão - ver Chamada de Função e Descrição da Função e Operador de Retorno. Como explicar esta contradição: de acordo com esta última, ao declarar variáveis StopLoss e TakeProfit, eu deveria ter declarado int tipo, não duplo(o compilador não gerou nenhum erro)?
Agradecemos antecipadamente pela resposta, não para deitar lixo no fórum.
Os parâmetros externos (stopLoss duplo externo =200; TakeProfit duplo externo =39; ), em princípio, devem ser do tipo inteiro (mais exatamente, segundo a idéia do autor - é um valor em pontos). Ao chamar a função, é utilizada a conversão do tipo implícito. O tipo de ponto flutuante é convertido para o tipo inteiro com perda de precisão. Neste caso, não importa: o tamanho da parada e do lucro, como pretendido, é fixado em pips - é sempre inteiro.
IMHO, o código do exemplo está mal escrito.
Usar o valor absoluto das constantes é um estilo muito ruim e errado, com nomes mnemônicos.
A pior implementação da enumeração da ordem: é difícil pensar em uma ordem mais "retardada". Parece ser especialmente lento: cálculos extras, chamadas de funções desnecessárias - a operação mais cara em termos de tempo e, além disso, a cada iteração do loop. E isto apesar do fato de que o número de pedidos não muda dentro do loop.