Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 451

 
Adicionei variáveis do tipo int, nas quais coloquei explicitamente a data e a hora convertida, e funcionou. Mas agora preciso que o resultado da relação seja inferior a 1, ou seja
fórmula MathMin(Tempo1-Time2,Tempo2-Time3)/MathMax(Tempo1-Time2,Tempo2-Time3)
mas começou a dar 0 novamente, embora separadamente esteja correto
 
Roman Sharanov:
Adicionei variáveis do tipo int, nas quais coloquei explicitamente a data e a hora convertida, e funcionou. Mas agora preciso que o resultado da relação seja inferior a 1, ou seja
fórmula MathMin(Tempo1-Time2,Tempo2-Time3)/MathMax(Tempo1-Time2,Tempo2-Time3)
mas começou a dar 0 novamente, embora separadamente esteja correto
(double)MathMin(Time1-Time2,Time2-Time3)/(double)MathMax(Time1-Time2,Time2-Time3)
 
Roman Sharanov:

Eu escrevi que já tentei dessa maneira, nada

a variável receptora também deve ser o dobro

 
Ótimo, agora dá 1 o tempo todo
MathMin e MathMax dão o mesmo valor, embora seus argumentos sejam diferentes
 
Roman Sharanov:

Por favor, informe, como encontrar uma relação de 2 prazos? (precisamos da proporção de barras entre 2 períodos)
Eu o escrevi assim, mas dá 0. Tempo1>Tempo>Tempo3 sempre

Tentei ambos sem conversão explícita do tipo, e (duplamente) tentei escrever

E com um exemplo, você pode explicar o que está na entrada e o que deveria estar na saída. Já reli todas as dicas e perguntas várias vezes, mas ainda não consigo entender por onde começamos e para onde devemos ir.

Por exemplo, este código

#define  PRINT(A) ::Print(#A + " = " + (string)(A));
/********************Script program start function*******************/
void OnStart()
{
 datetime t1 = TimeCurrent(), t2 = TimeCurrent()-PeriodSeconds(PERIOD_M1)*7, t3 = TimeCurrent()-PeriodSeconds(PERIOD_M15);
 PRINT(t1-t2);
 PRINT(t1-t3);
 PRINT(double(t1-t2)/double(t1-t3));
 PRINT((t1-t2)/double(t1-t3));
 PRINT(double(t1-t2)/(t1-t3));
}/*******************************************************************/

dá este resultado

2018.02.04 15:41:35.922 00 EURUSD,H1: double(t1-t2)/(t1-t3) = 0.46666667
2018.02.04 15:41:35.922 00 EURUSD,H1: (t1-t2)/double(t1-t3) = 0.46666667
2018.02.04 15:41:35.922 00 EURUSD,H1: double(t1-t2)/double(t1-t3) = 0.46666667
2018.02.04 15:41:35.922 00 EURUSD,H1: t1-t3 = 900
2018.02.04 15:41:35.922 00 EURUSD,H1: t1-t2 = 420
 
Alexey Viktorov:

E com um exemplo, você pode explicar o que é a entrada e o que deve ser a saída. Já li todos os conselhos e perguntas várias vezes, mas ainda não entendo do que estamos começando e a que devemos chegar.

Por exemplo, este código

dá este resultado

Sim, exceto que dá 0 ou 1, mas resolvi com uma condição "se", mas pelo menos funciona

 
Roman Sharanov:

Sim, exceto que dá 0 ou 1, mas eu resolvi com uma condição "se", mas pelo menos funciona

Diz que o resultado deve ser o dobro.

e aqui

E mesmo depois do meu exemplo.... as palavras não são suficientes.

O que tem a ver com isso, se mais??? Este é um operador condicional e não depende de forma alguma do tipo de valores nas condições.

Ele só pode fazer 1 se o numerador e o denominador forem iguais. Mas NUNCA pode ser 0.

 

Bom dia a todos vocês.

Você pode me dizer como se livrar do enorme

de metaeditores no computador.

Tenho 7 terminais instalados e cada um deles está arrastando um meta-editor com ele.

7.0 está ficando louco quando você tenta abrir um arquivo mq a partir do menu de contexto

Ela os abre em diferentes metaeditores periodicamente, o que me faz sentir muito desconfortável.

Talvez alguém saiba como resolver este problema?

Gostaria de ter apenas 1 meta editor configurado.

Obrigado de antemão.

 
Northwest:

Bom dia a todos vocês.

Você pode me dizer como se livrar do enorme

de metaeditores no computador.

Tenho 7 terminais instalados e cada um deles está arrastando um meta-editor com ele.

7.0 está ficando louco quando você tenta abrir um arquivo mq a partir do menu de contexto

periodicamente os abre em diferentes meta-editores, o que o torna emocionalmente desagradável.

Alguém pode saber como resolver este problema?

Eu gostaria de ter apenas 1 meta editor configurado.

Obrigado de antemão.

Eu resolvi este problema para mim com"link simbólico/etiqueta" para a pasta MQL. Como tal, retirei a pasta principal do diretório de programas, criei um atalho para ela e excluí estes diretórios, substituindo-os por um atalho. Agora eu tenho o mesmo conjunto de Expert Advisors/indicators/scripts em qualquer terminal. E a abertura de qualquer maetaditor leva aos mesmos arquivos.

Naturalmente, para a MQL4/5, os principais diretórios são diferentes.

 
Konstantin Nikitin:

Eu resolvi este problema com um"link simbólico/etiqueta" para a pasta MQL. Como tal, retirei a pasta principal do diretório de programas, criei um atalho para ela e excluí estes diretórios, substituindo-os por um atalho. Agora eu tenho o mesmo conjunto de Expert Advisors/indicators/scripts em qualquer terminal. E a abertura de qualquer maetaditor leva aos mesmos arquivos.

Naturalmente, os principais diretórios são diferentes para a MQL4/5.

Obrigado pelo conselho.

Mas seria desejável para mim ver apenas "meus EAs e indicadores" em diferentes terminais.

Ou seja, as pastas MQL devem ser "suas próprias".

Isto sugere o método da força bruta. Eu deveria arrancar arquivos de meta-editores das distribuições instaladas.

Deixe apenas um deles. E depois use o limpador de registro para remover caminhos para arquivos inexistentes.

Mas não sei se vai funcionar ou não. Eu gostaria que fosse sem conseqüências.

Razão: