[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 394

 
dkfl.zrjdktdbx:

Boa noite!! Decidi escrever como calcular a distância do preço até o pedido mais próximo acima, e o mais próximo abaixo. Eu conto até cada pedido, passando pelo laço para frente e de tudo isso eu escolho o número mínimo. Bem, isto acaba sendo um monte de porcaria! Bem, está bem, a distância às vezes é grande, 1162 pontos ou mais, tenho quase 100% de certeza, de jeito nenhum, bem, está bem! Mas se você dividir 1162 por 40, são quatro...

E sai, veja a captura de tela do log, é exatamente M igual a chitre, lá na linha depois de X++++ ...... Não entendo. Ou sou um idiota ou não entendo a dupla função de normalização... Eu não entendo! Ou o quê? ...... Por favor, diga-me, estou totalmente confuso e estou espantado !!!!

Dê uma olhada na função de Kim, você pode encontrar aqui a solução para seu problema.
 
Obrigado!!!!
 

Você pode me ajudar a escrever o código para executar o programa somente quando uma nova barra chegar e ignorar os tiquetaques entre barras? Eu não sei o que está acontecendo.

 
kolaider:

Você pode me ajudar a escrever o código para executar o programa somente quando uma nova barra chegar e ignorar os tiquetaques entre barras? Obrigado.


Declare uma variável inteira antes do bloco de inicialização. Por exemplo, em MyBars;

Em seguida, no bloco de inicialização, atribuir a esta variável um valor = zero. Na função inicial, escreva:

if(MyBars<Bars){
  MyBars=Bars;
// пришёл новый бар - выполняем какой-то код.
}
Agora me diga, o que acontece no próximo tick? O que vai acabar na variável MyBars?
 

Vladimir, ouso dizer que nada vai acontecer. A variável MyBars ainda conterá Barras :(

 
kolaider:

Por favor, como posso escrever código para executar o programa somente quando uma nova barra chegar e ignorar os tiquetaques entre barras? Obrigado.


ou assim -

Declare uma variável inteira antes do bloco de inicialização. Por exemplo, int g_time.

Na função inicial, escreva:

//------- : ждём следующий бар
   if (g_time == Time[0]) return (0); // возврат на начало кода, если условие не выпоняется программа работает дальше
       g_time =  Time[0]; 
 
elmucon:


ou assim -

Declare uma variável inteira antes do bloco de inicialização. Por exemplo, int g_time

Na função inicial, escreva:


Você não deveria estar escrevendo aqui. Eu teria apagado seu posto.
 
tara:

Você não deveria estar escrevendo aqui. Eu teria apagado seu posto.

Não entendo. Por que não?
 
DhP:

Tente usar o SRC (há um botão na parte superior da caixa de texto) para inserir seus códigos. Será mais fácil ler seus posts.

Eu notei sua busca por sombras (top_ten=High-Close;). Por que você subtrai Fechado e não Aberto? Pense sobre isso.

Um candelabro branco fecha-se, então a sombra superior será contada como fechada, e se estiver aberta, será a sombra superior + o corpo do candelabro
 
frixer:
Um candelabro branco é fechado por um fecho, portanto a sombra superior será considerada como tal; se estiver aberta, então será a sombra superior + o corpo do candelabro


Sombra superior (Alta-MathMax(Aberto. Fechado))

Baixa sombra(MathMin(abrir, fechar)-Baixa)