[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 221

 

Esta é uma das funções que são implementadas pelos Conselheiros Especialistas. Naturalmente, você pode escrever um EA, que conterá apenas uma parada de percurso (e é claro que tais EAs já são escritos em grandes quantidades)

No terminal MT há uma parada móvel padrão, não associada a nenhum Expert Advisor.

 
alsu:


O terminal MT tem rastreamento interno, não relacionado a nenhum Expert Advisor.

Obrigado. Era exatamente sobre isso que eu estava perguntando. Outra pergunta, então. Quanto tempo demorou para entender a MQL4? Não pretendo me tornar um profissional e escrever um Expert Advisor completamente fantástico. Não quero me tornar um profissional para escrever uma EA legal de A a Z, mas pelo menos saber o que ajustar ao escrever uma EA já existente. Para ser mais claro sobre mim mesmo: nesta fase estou dominando os operadores. Já se passaram duas semanas desde que comecei a estudá-los. Quais são, na sua opinião, as chances. Repito. O professor não está por perto para não perguntar a ninguém.

Apreciar as respostas.

 

Rapazes, isto é o pior!(((

Quero escolher uma corretora estrangeira e abrir uma conta no exterior... Não consigo encontrar .... nas revisões, um sentimento tal que todos os golpes e "sharashka Kontora" ....((

Ajude os caras com MT4.... Eu ficarei muito grato!!!!!

 
Assim, o novo Pinóquio está procurando por um Campo de Maravilha confiável. Não seja ridículo).
 

Indicador de uma linha.

#property indicator_separate_window    
#property indicator_buffers 1        
#property indicator_color1 Aqua      

  int index;
  double TickPrice[1000];
//--------------------------------------------------------------------
int init()                          
  {
   SetIndexBuffer(0,TickPrice);          
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1); 
   return;                          
  }
//--------------------------------------------------------------------
int start()                         
  {
  
      TickPrice[index] = Bid;
      index++;

   return;                         
  }
//--------------------------------------------------------------------

Pergunta.

Por que ele traça uma linha da direita para a esquerda?

 

Que tal isso?

#property indicator_separate_window    
#property indicator_buffers 1        
#property indicator_color1 Aqua      

  int index=1000;
  double TickPrice[1000];
//--------------------------------------------------------------------
int init()                          
  {
   SetIndexBuffer(0,TickPrice);          
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1); 
   return;                          
  }
//--------------------------------------------------------------------
int start()                         
  {
  
      TickPrice[index] = Bid;
      index--;

   return;                         
  }
//--------------------------------------------------------------------
 

Olá, você poderia me dizer onde encontrar um indicador que refaz as barras diárias para que elas comecem em um horário diferente?

Por exemplo: O horário do terminal é 00:00. Nos parâmetros de entrada do indicador colocamos: +4. Agora os bares diários começam às 16:00.

Agradecemos antecipadamente.

 
DhP:

E se você fizer isso?


Sim, isso é melhor. Começou a desenhar na direção certa. Mas se índice..., então um dia ele se torna índice==0 e tudo se desliga.

Como você faz para que o movimento continue?

 
artmedia70:
Onde posso aumentar o tamanho da matriz? Onde eu escrevo o valor? ( função ArrayResize())


ordenação em arrays por oreder e tipos de posição trabalhados:

int OrderStatus() {
   int z1=1, z2=1, z3=1, z4=1;
   if (B>0) {ArrayResize(TicketB,B);}
   if (S>0) {ArrayResize(TicketS,S);}
   if (BS>0) {ArrayResize(TicketBS,BS);}
   if (SS>0) {ArrayResize(TicketSS,SS);}
   int i, k=OrdersTotal();
      for (i=1; i<=k; i++) {
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketBS[z1]=OrderTicket();
            z1++;
            }
            if (OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketSS[z2]=OrderTicket();
            z2++;
            }
            if (OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketB[z3]=OrderTicket();
            z3++;
            }
            if (OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketS[z4]=OrderTicket();
            z4++;
            }
         }
      }
}

mas não posso ordená-los ainda mais pela rentabilidade das posições de compra e venda: ele insere zeros:

int OrderVBezubitok() {
   int k1=0, k2=0;
   ArrayResize(TicketBez,B+S);
   ArrayResize(TicketTral,B+S);
   int i;
   if (ArraySize(TicketB)>0) {
      for (i=1; i<ArraySize(TicketB)+1; i++) {
            OrderSelect(TicketB[i], SELECT_BY_TICKET, MODE_TRADES);
            if (OrderProfit()>0) {k1++; TicketTral[k1]=TicketB[i];} 
            else {k2++; TicketBez[k2]=TicketB[i];}
                       
         
      }
   }
   if (ArraySize(TicketS)>0) {
      for (i=1; i<ArraySize(TicketS)+1; i++) {
            OrderSelect(TicketS[i], SELECT_BY_TICKET, MODE_TRADES);
            if (OrderProfit()>0) {k1++; TicketTral[k1]=TicketB[i];} 
            else {k2++; TicketBez[k2]=TicketB[i];}
                       
         
      }
   }      
}

Por quê? Eu não entendo

 

Olá amigos!

Eu não sei se estou no lugar certo, este é meu primeiro post no fórum.

Estou pedindo ajuda.

Talvez alguém tenha encontrado algo semelhante.

O problema é o seguinte. Estou escrevendo um indicador para encontrar o máximo e mínimo de preço por um período. Quero dividir o máximo por minuto e exibi-lo em uma_janela separada.

Mas a janela está vazia:

Ao adicionar, subtrair, multiplicar, etc. MÁXIMO e MÍNIMO o indicador exibe normalmente.

Aqui está o código. Não é grande coisa.

#property indicator_separate_window
#property indicator_buffers 3

#property indicator_color1 MediumSpringGreen
#property indicator_color2 Crimson
#property indicator_color3 LightGray

#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1

extern int Buy_bars = 20;           //Количество баров для открытия позиции
extern int Sell_bars = 23;          //Количество баров для закрытия позиции  

double   buf_0[],                   //индикаторныЙ массив максимумов 
         buf_1[],                   //индикаторныЙ массив минимумов 
         buf_sr[] ;                 //индикаторныЙ массив средних значений
//extern int Shift = 0;

int init()
  {
   SetIndexBuffer (0, buf_0);
   SetIndexStyle (0, DRAW_LINE);
   SetIndexLabel (0, "Maximum");
   SetIndexShift (0, 0);
   
   SetIndexBuffer (1, buf_1);
   SetIndexStyle (1, DRAW_LINE);
   SetIndexLabel (1, "Minimum");
   SetIndexShift (1, 0);
   
   SetIndexBuffer (2, buf_sr);
   SetIndexStyle (2, DRAW_LINE);
   SetIndexLabel (2, "Srednyaya");
   SetIndexShift (2, 0);
   
   return;
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, k ,t;
   int    counted_bars=IndicatorCounted();
//----
   i = Bars - counted_bars - 1;
   while (i >= 0)
   {
      double max = 0;
      double min = 999999999999.99;
   
   for (k=i ; k<=i+Buy_bars-1; k++)
      {
      if (High[k] > max) max = High[k];
      }
   for (t=i; t<=i+Sell_bars-1; t++)  
      {
      if (Low[t] < min) min = Low[t];
      }
        
   i--;
   

   buf_sr[i] = (max/min);
   }
   return;
  }
//+------------------------------------------------------------------+

Aponte o erro.

Agradecemos antecipadamente.