[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 83

 
Figar0 >> :
Exemplo de passagem de um parâmetro por referência, neste caso não é uma variável que é passada, mas uma referência à área de memória onde ela é armazenada.

Se não estou enganado, o principal problema não estava em passar parâmetros, mas em retornar valores SEVERAIS da função (ver pergunta 1)

E a variante do autor:

return(taim_open,flag10);

Não é possível retornar múltiplos valores de uma função via retorno.

 
locol91 >> :

Sim, mingau! Eu diria até pilaf :-) . Mas ainda temos que resolver tudo isso.

Leia as seções do livro didático - ele está bem descrito lá, com exemplos.

 
goldtrader >> :

Se não estou enganado, o principal problema não estava em passar parâmetros, mas em retornar valores SEVERAIS da função (ver pergunta 1)

E a variante do autor:

Não se pode retornar valores múltiplos de uma função.

Eu entendo. Dentro da função vazia, dependendo do resultado, um novo valor é atribuído à variável global. E este novo valor (como acabou se revelando) não deve ser devolvido.

 
locol91 >> :

Eu entendo. Dentro da função vazia, dependendo do resultado, um novo valor é atribuído à variável global. E este novo valor (como se veio a verificar) não deve ser devolvido.

Exatamente.

 
goldtrader писал(а) >>

Se não estou enganado, o principal problema não era passar parâmetros, mas retornar valores SEVERAIS da função (ver pergunta 1)

Isso mesmo, chegamos ao ponto em que temos que modificar variáveis globais porque não se pode retornar múltiplos valores, enquanto uma maneira mais correta desta modificação é passá-los para a função por referência. Se é uma simples transferência, nenhuma referência a variáveis não é necessária) Num esforço para ajudar o homem, começaram a confundir-se :) cerveja:

 

Começou a fazer um indicador de mudança percentual no preço do Mamba e alguma coisa estranha depois que a NW Telecom passou todos os mesmos valores e cores não são ntak coloridos como concebido, o código deste tipo em todos os lugares o mesmo

............................................

double CH16 = (( (iClose("RTKM",PERIOD_D1,0) * 100 ) / iClose("RTKM", PERIOD_D1, 1) - 100 ) );
color lColor16 = DimGray;
if ( CH16 > 0 )
lColor16 = DarkOliveGreen;
if ( CH16 < 0 )
lColor16 = Maroon;

double CH17 = (( (iClose("URSI",PERIOD_D1,0) * 100 ) / iClose("URSI", PERIOD_D1, 1) - 100 ) );
color lColor17 = DimGray;
if ( CH17 > 0 )
lColor17 = DarkOliveGreen;
if ( CH17 < 0 )
lColor17 = Maroon;

double CH18 = (( (iClose("SPTL",PERIOD_D1,0) * 100 ) / iClose("SPTL", PERIOD_D1, 1) - 100 ) );
color lColor18 = DimGray;
if ( CH18 > 0 )
lColor18 = DarkOliveGreen;
if ( CH18 < 0 )
lColor18 = Maroon;

................................

Quem sabe o que eu estraguei de novo?)))


 
Ah, é isso, eu me enganei novamente nos parênteses e nas vírgulas
 

Eu não entendo:

Print(StrToTime("forexforidiots"));


Tempo: 1243405200

A questão é: que tipo de tempo é esse? O parâmetro é inválido, mas o tempo está lá. A documentação não descreve o valor a ser devolvido, então como posso pegar um erro de conversão?

 
Roger >> :

Ou fazer um bilhete estático ou tirar a definição do início.

Sim, sim, faça o bilhete estático e tudo está bem, obrigado pela ciência. Você pode explicar o fenômeno? Eu adoraria saber, e o que agora mantém tudo estático?

 
Dimoncheg >> :
Ah, entendi, estraguei tudo de novo com parênteses e vírgulas.

E como você despeja isso no MetaTrader? Do Quickquick?