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

 
borilunad:

Muito obrigado! Checado através do Comentário, funciona! Devo ter entendido mal as informações sobre o uso de múltiplos TFs no testador.
 
Veterros:
Muito obrigado! Checado através do Comentário, funciona! Devo ter entendido mal as informações sobre o uso de múltiplos TFs no testador.
De forma alguma, verifique sempre com Comentário no VisualMode e em demonstração! Eu testei no M1 com barras abertas, o Expert Advisor pode usar qualquer TF, mas é desejável ter todos os gráficos abertos, desde o M1 até aquele de onde os dados são tirados. Tenho-o até D1, porque utilizo diariamente linhas pivô, resistências e suportes.
 

Olá! o indicador anexo desenha fractais. Ele as desenha diretamente nas barras alta/baixa e por isso não consigo ver as barras alta/baixa. Como posso ajustar a distância entre o fractal e a barra? Preciso que o fractal fique ligeiramente acima/abaixo da barra.

Se não for complicado, talvez não seja um problema fazer isso diretamente neste indicador...

Ajude, por favor!

Arquivos anexados:
 
Serhios:

Olá! o indicador anexo desenha fractais. Ele as desenha diretamente nas barras alta/baixa e por isso não consigo ver as barras alta/baixa. Como posso ajustar a distância entre o fractal e a barra? Preciso que o fractal fique ligeiramente acima/abaixo da barra.

Se não for complicado, pode ser fácil fazê-lo diretamente neste indicador.

Ajude, por favor!

Obviamente, devemos acrescentar algum valor para o fractal superior e subtrair o mesmo valor para o fractal inferior, então os fractais serão deslocados verticalmente. O valor ATR, como no reboque, seria adequado, por exemplo.
Arquivos anexados:
 
evillive:
Obviamente, precisamos acrescentar algum valor para o fractal superior e subtrair o mesmo valor para o fractal inferior, então os fractais serão deslocados verticalmente. O valor ATR, como no reboque, seria adequado, por exemplo.

Obrigado. Mas, é realmente necessário usar o valor de outro indicador para resolver este problema? Há o valor da barra em que o fractal foi puxado. Não há função que mova o fractal verticalmente em relação ao valor alto/baixo da barra?
 
Serhios:

Obrigado. Mas, é realmente necessário usar o valor de outro indicador para resolver este problema? Afinal, existe o valor da barra sobre a qual o fractal foi desenhado. Não existe uma função que irá deslocar o fractal verticalmente em relação ao valor alto/baixo da barra?

Você pode tomar qualquer valor em pips (inteiro) ao invés de valor indicador, multiplicado por _Ponto, será compensado constantemente por um determinado número de pips. É mais fácil com o indicador, não há necessidade de ajustar a distância.

Exemplo para o fractal superior:

Ext1[i+center] = cur + 30*_Point;
 
evillive:

Você pode tomar qualquer valor em pips (inteiro) ao invés de valor indicador, multiplicado por _Ponto, será compensado constantemente por um determinado número de pips. É mais fácil com o indicador, não há necessidade de ajustar a distância.

Exemplo para o fractal superior:

É melhor escalar, caso contrário, ícones de fractais se arrastarão para fora dos limites da tela. Você pode fazer isso:

// Определение LastBar по расположению StopLine на графике
bool fNewStopLine(){
   bool New;
   int StopBar, Error;
   double Shift;
   datetime StopLine;
   if( ObjectFind("StopLine")==0 ){                // Есть стоп-линия
      StopLine=ObjectGet("StopLine",OBJPROP_TIME1);// Время стоп-линии
      StopBar=iBarShift(NULL,0,StopLine);          // Бар стоп-линии
      LastBar=StopBar+1;                           // Бар окончания построения
      if( StopBar<=БарОкончания ){                 //    правее или на последнем баре
         LastBar=БарОкончания;                     // Перенести на нулевой бар
         StopBar=LastBar-1;
         StopLine=Time[StopBar];
         if( !ObjectMove("StopLine",0,StopLine,0) ){
            if( !РежимОтладки ) PlaySound("alert.wav");
            Print("***   StopLine - объект не перемещен, ошибка "+GetLastError());
      }  }
      if( StopLine!=OldStopLine ){                 // Новая стоп-линия
         ReInit();                                 // Повторная инициализация
         ClearScreen();                            // Очистить экран
         Shift=0.01*(WindowPriceMax()-WindowPriceMin())*СдвигИндикатораТиков;
         Error=fArrow("TickIndicator","",0,StopBar // Сформировать индикатор тика
                     ,WindowPriceMin()+Shift,0,0,0,0
                     ,ЗнакИндикатораТиков,ЦветИндикатораТиков,РазмерИндикатораТиков);
         OldStopLine=StopLine;                     // Стоп-линия обработана
         New=true;                                 // Выполнить построение заново
      }
      else{                                        // Нет новой стоп-линии
         New=false;                                // Построение заново не выполнять
   }  }
   else{                                           // Нет стоп-линии
      New=false;                                   // Построение заново не выполнять
      Error=fObjectDelete("TickIndicator");        // Удалить индикатор тика
   }
   return(New);
}
а можно просто использовать значки фракталов, не закрывающие экстремумы баров, вот так: 

 

Eu ainda não entendo as prioridades e a ordem das operações , por exemplo

*
/
%

Multiplicação
Divisão
Divisão Modulo

Da esquerda para a direita


Qual seria a expressão a=b/s*s igual a, a=b ou a=b/s^2?

 
evillive:


Qual será a expressão a=b/c*s igual a, a=b ou a=b/c^2?

Verificado com o roteiro:

   double a;
   double b=10.0;
   double c=4.0; 
   a=b/c*c;
   Print("a=",a);

Imprimir em log: a=10.0

PS: e se você fizer isso: a=c*c/b; então a impressão será a=1,6

 
tuner:

Verificado com o roteiro:

Imprimir em log: a=10.0

PS: e se você fizer isso: a=c*c/b; então a impressão será a=1,6

Bem, sim, eu mesmo verifiquei, mas no manual sobre prioridades eles dizem que a multiplicação tem precedência sobre a divisão, então a multiplicação deve ser feita primeiro, se parênteses não especificam o pedido, não?


Na prática, a divisão vem primeiro, depois a multiplicação.