[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 231

 
PapaYozh:


emoção zero =( ainda nada =(
 
CLAIN:

sem emoções =( ainda nada =(


Você tem um mau pressentimento, como se eu lhe devesse algo.

Analise seu CheckTicket(), o que ele coloca em seu bilhete?

E em geral, use a função Imprimir(...) e analise o registro.

 
CLAIN:

emoção zero =( ainda nada =(

Eu não conheço sua lógica por trás da função. Por via das dúvidas, sugiro que você verifique se é isto que deseja.

Você está aplicando o iMACD corretamente e não precisa também de uma Linha de Sinal?

 
PapaYozh:


Há um mau pressentimento, como se eu lhe devesse algo.

Analise seu CheckTicket(), o que ele coloca em seu bilhete?

Em geral, use a função Imprimir(...) e analise o log.


Você não me deve nada... Sinto muito se você se sente assim... é que eu já tive tantos problemas com ela...............
 

Acho que o checkticket não tem nada a ver com isso, porque se eu simplesmente mudar o sinal_MACD para verdadeiro, os negócios fecham bem, e a busca é restrita apenas ao tamanho da função:

 bool signal_MACD() 
  { 
    bool signal_MACD = false; 
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          break; 
       }        
    } 
    return(signal_MACD);
  } 

em algum lugar por aqui não quer levar a true......... Eu simplesmente não trabalho bem com o loop for loop, então não sei onde colocar retorno aqui

 
CLAIN:

Acho que o checkticket não tem nada a ver com isso, porque se eu apenas mudar o sinal_MACD para verdadeiro, os negócios fecham bem, e a busca é restrita apenas ao tamanho da função:

em algum lugar por aqui não quer levar a true......... Eu simplesmente não me dou bem com o loop for loop, então não sei onde colocar retorno aqui

E qual é a diferença entre tmp duplo e NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)?

Multiplicá-las será sempre maior que zero.

Eu acho que sim))

(-) * (-) = +

(+) * (+) = +

 

minha lógica é muito simples... se o indicador MACD estiver em um lado de 0 por não mais do que 5 minutos, então troque.... é isso...

a propósito, se

bool signal_MACD() 
  { 
    bool signal_MACD = true; 
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          break; 
       }        
    } 
    return(signal_MACD);
  } 

... na terceira linha "falso" para "verdadeiro", os negócios serão feitos o tempo todo, isso significa que escrevi a lógica e o código correto do negócio, e tudo o que resta é uma cláusula de "para e retorno

vamos terminar isto por favor

 
DhP:

Qual é a diferença entre tmpduplo eNormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0)?

Multiplicá-las será sempre maior que zero.

Eu acho que sim))

(-) * (-) = +

(+) * (+) = +


nem sempre será maior do que 0... Só se o MACD cruzar 0 em um dos carrapatos, haverá (+)*(-) - o que indicará uma cruz... bem... minha lógica =) não necessariamente correta, é claro )
 
CLAIN:

minha lógica é muito simples... se o indicador MACD estiver em um lado de 0 por não mais do que 5 minutos, então troque.... é isso...

A propósito, se

... na terceira linha "falso" para "verdadeiro", os negócios serão feitos o tempo todo, isso significa que escrevi a lógica e o código correto do negócio, e tudo o que resta é uma cláusula de "para e retorno

vamos terminar isto por favor


Elas serão concluídas o tempo todo porque a função sempre retornará "verdadeira".
 
CLAIN:

minha lógica é muito simples... se o indicador MACD estiver em um lado de 0 por não mais do que 5 minutos, então troque.... é isso...

a propósito, se

... na terceira linha "falso" para "verdadeiro", os negócios serão feitos o tempo todo, isso significa que escrevi a lógica e o código corretamente, e tudo o que resta é uma cláusula de "para e retorno

Vamos terminá-lo, por favor.

Talvez devesse haver(i) na fila? .....

if(NormalizeDouble( iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)

Razão: