[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 112

 
Olá a todos. Eu não sei onde escrevê-lo, então estou escrevendo aqui. Preciso de um indicador simples, o que para os profissionais locais não seria difícil de escrever. Talvez seja em outro lugar, mas a busca não deu nada (+7). Quero usar o histograma de toalhetes de cruzamento com barras abaixo e acima de zero, vermelho e verde, respectivamente. Uso 7EMA fechado e 7EMA aberto. Se você não puder escrever com dificuldade, por favor, ou se já existir tal indicador, por favor, ou se você não puder cutucar o nariz. Vou usá-lo como um indicador e não sei como usá-lo).
 
Djon777:
Olá a todos. Eu não sei onde escrever, então estou escrevendo aqui. Preciso de um indicador simples, o que para os profissionais locais não seria difícil de escrever. Talvez seja em outro lugar, mas a busca não deu nada (+7). Quero usar o histograma de toalhetes de cruzamento com barras abaixo e acima de zero, vermelho e verde, respectivamente. Uso 7EMA fechado e 7EMA aberto. Se você não puder escrever com dificuldade, por favor, ou se já existir tal indicador, por favor, ou se você não puder cutucar o nariz. Vou usá-lo como um indicador e não sei como usá-lo).
O MACD está no conjunto padrão de indicadores MT4.
 
Zhunko:
O MACD está incluído no conjunto padrão de indicadores MT4.


Eu sei que é, mas o que eu preciso é de um histograma como este http://savepic.org/2586171.gif
 
artmedia70:
Discriminação apenas... :(
A fim de "discriminar", é preciso primeiro discriminar! A única pergunta é: quem? ;)
 

Boa tarde!

Quero usar um indicador personalizado em meu EA. Fiz o download do indicador, peguei seu código e o colei em meu EA. Eu recebi um erro. Meu entendimento é que a funçãoSetIndexBuffer() só pode ser usada em indicadores. O que devo fazer: mudar para outra função (em que função) ou puxar os dados do indicador personalizado e inseri-lo no código do Expert Advisor?

Eu ficaria muito grato pela ajuda!

 

Boa tarde.

Eu tenho SupDem, mudei um pouco, acrescentei um buffer de espessura de faixa.

Estou tentando encontrar estas barras pelo seu número em relação à barra 0.

double GetSapDemUP(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=1; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 6, i+1);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}

double GetSapDemDN(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 5, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}
Não está funcionando, o que eu fiz de errado? Ajude-me com o código
Arquivos anexados:
 

Boa tarde!

Prezados profissionais, por favor, me aconselhem.

Se o preço exceder em 50 pips o preço aberto deste pedido, o pedido terá que ser modificado.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

duplo OPEN = OrderOpenPrice();
duplo máximo = OPEN + 0,00500;
Alerta ("maximus = ",maximus);
duplo mínimo = OPEN - 0,00500;
RefreshRates();//refazer dados.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcule a hora atual no formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0,34;
Lootdown = OrderLots () * 0,34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Alerta (GetLastError());
Deal_bb = 1;
}

Se isso acontecer durante o dia, eu sou capaz de fazê-lo. Por favor, como verificar se o preço de abertura + 50 P é controlado pelo preço de cada lote, até o fechamento em poucos dias?

 
berezhnuy:

Boa tarde.

Eu tenho SupDem, mudei um pouco, acrescentei um buffer de espessura de faixa.

Estou tentando encontrar estas barras pelo seu número em relação à barra 0.

Não encontrá-lo, o que fiz de errado? código de ajuda

É assim que você procura os preços dos extremos que estão no buffer 0 e 1!!!

Tente emitir os valores através de impressão ou de algum tipo de buffer, 2 e 3, 4 e 5.

exemplo:

Comment(iCustom(NULL,0, "SupDem_5z_1", 5, i));

Algo como isto...

 
Egori4:

Boa tarde!

Quero usar um indicador personalizado em meu EA. Fiz o download do indicador, peguei seu código e o colei em meu EA. Eu recebi um erro. Meu entendimento é que a funçãoSetIndexBuffer() só pode ser usada em indicadores. O que devo fazer: mudar para outra função (em qual) ou puxar os dados do indicador personalizado e inseri-lo no código do Expert Advisor?

Eu ficaria muito grato por sua ajuda!

O primeiro de uma série de artigos:


https://www.mql5.com/ru/articles/1456

 
Boneshapper:

Boa tarde!

Prezados profissionais, por favor, me aconselhem.

Se o preço exceder em 50 pips o preço aberto deste pedido, o pedido terá que ser modificado.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

duplo OPEN = OrderOpenPrice();
duplo máximo = OPEN + 0,00500;
Alerta ("maximus = ",maximus);
duplo mínimo = OPEN - 0,00500;
RefreshRates();//refazer dados.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcule a hora atual no formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0,34;
Lootdown = OrderLots () * 0,34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Alerta (GetLastError());
Deal_bb = 1;
}

Se isso acontecer durante o dia, eu sou capaz de fazê-lo. Aconselhe-me, por favor, como verificar como estabelecer a condição que controla o preço de abertura + 50 P para cada lote, até o fechamento em poucos dias.

Tente passar através das posições

for(int i=OrdersTotal()-1; i>=0; i--)
   {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderType()==OP_BUY)
            {
          //ваши действия 
            }
         if(OrderType()==OP_SELL)
            {
          //ваши действия 
            }
       }
   }
 
Razão: