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

 
por que o indicador ROC não assume realmente um valor menor que "0", mas assume graficamente?
 
vilard:
por que o indicador ROC não assume realmente um valor menor que "0", mas assume graficamente?

Qual ROC? Este aqui?
 
Roman.:

Qual ROC? Este aqui?

https://www.mql5.com/ru/code/9340
 

Olá a todos. Pessoal eu tenho uma condição para encontrar o máximo: mas dentro de um corredor.

For (int max=1; max<1000; max+++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max+1] &&& baixo[max] > baixo[max-1] &&
alto[max] > baixo_nível_s && alto[max] < alto_nível_s) quebra;

não funciona.
se eu remover o corredor Tudo ok:

for (int max=1; max<1000; max+++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

Qual poderia ser o problema?

Eu entendo que o máximo de 1000 deve ser aumentado, eu tentei, mas não funcionou.

Aqui está um exemplo em números:

1. 4100<1.4150<1.4200 mas 1.4150 deve cair

dentro dos níveis_baixo_s(1.4145), alto_s(1.4155) . Neste exemplo, ele o fez.

Mas se não for, vamos assumir que é 1.4160, vamos continuar procurando. O problema é que esta alta pode ter sido há 3 anos, por exemplo. O programa não consegue encontrá-la.

O que fazer? Talvez seja possível obter o arquivo de citações?

 
vilard:

https://www.mql5.com/ru/code/9340

Veja meu link - é uma variante básica com descrição do indicador de taxa de preços + EA baseado nele (iCustom() indicador succumbs). Se você tem outras condições comerciais para entrada no mercado, edite as existentes e vá em frente, tudo testa bem, agora eu mesmo, acabei de testá-lo como uma variante da análise (filtro de entrada no mercado), além disso, há uma descrição e tudo mais... Basta ajustá-lo de acordo com suas condições e isso é tudo. O Conselheiro Especialista está aqui.
 
Roman.:

Veja meu link - é uma variante básica com descrição do indicador de taxa de preços + Expert Advisor baseado nele (indicador iCustom() se empresta). Se você tem outras condições comerciais para entrar no mercado, editar as existentes e ir em frente, tudo é testado bem, agora eu mesmo, acabei de testá-lo como uma variante da análise (filtro de entrada no mercado), além disso, há uma descrição e tudo mais... Edite-o de acordo com suas condições e pronto. O Conselheiro Especialista está aqui.

Obrigado
 

Whew!!! O computador foi ao chão!!! Reage com atraso, abre janelas erradas, não apaga, congela... Reinicializei-o 20 vezes, desliguei-o.

Obrigado.

Talvez seja um vírus.

A pasta dos usuários ali é de quarenta e cinco mil megabytes, meu Deus! E a soma das pastas que ela contém, a soma do que ela contém, verificando ao clicar nas propriedades da pasta, não dá nem mesmo a trigésima parte.

Não está apagado!!! Está apenas desacelerando, nada está jurando.

Nada carregado, nada apagado, teve dificuldade para apagar fotos e depois um filme Ninja, o espaço acrescentou uma borda como insignificante, um milímetro de vermelho.

 
Anexei um Trailing Stop a esta EA. Compila a 0 e 0, mas no testador
O Trailinstop não funciona. Por favor, informe como eu deveria ter entrado corretamente

Código do trailingstop.

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
Por favor, diga-me se é possível exibir diferentes linhas do mesmo indicador em diferentes sub-janelas do gráfico. Obrigado.
 
Abra o indicador em duas janelas e defina a linha indesejada para a cor de fundo.