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 160

 
Zolotai:

Não tem nada a ver com o código. Eu só preciso da condição correta. A questão é: existe alguma maneira de saber a hora do bar atual? Como sei a hora de um bar?
Tempo[] e iTime().
 
Zolotai:

Não tem nada a ver com o código. Eu só preciso da condição correta. A questão é: existe alguma maneira de saber a hora do bar atual? Como posso saber o horário do bar?
Time[index_need_bar]; lhe devolverá o tempo aberto da barra com o número "index_need_bar". Você pode usar o iTime() para outros símbolos e cronogramas
 

Como obter um sinal em um EA a partir deste indicador

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#define  SH_BUY   1
#define  SH_SELL  -1
extern int     AllBars=0;
extern int     Otstup=30;
extern double  Per=9;
int            SH,NB,i,UD;
double         R,SHMax,SHMin;
double         BufD[];
double         BufU[];

int init()
{
   if (Bars<AllBars+Per || AllBars==0) NB=Bars-Per; else NB=AllBars;
   IndicatorBuffers(2);
   IndicatorShortName("SHI_SilverTrendSig");
   SetIndexStyle(0,DRAW_ARROW,0,1);
   SetIndexStyle(1,DRAW_ARROW,0,1);
   SetIndexArrow(0,159);
   SetIndexArrow(1,159);
   SetIndexBuffer(0,BufU);
   SetIndexBuffer(1,BufD);
   SetIndexDrawBegin(0,Bars-NB);
   SetIndexDrawBegin(1,Bars-NB);
   ArrayInitialize(BufD,0.0);
   ArrayInitialize(BufU,0.0);
   return(0);
}
int start()
{
   int CB=IndicatorCounted();
   if(CB<0) return(-1); else if(NB>Bars-CB) NB=Bars-CB;
   for (SH=1;SH<NB;SH++)
   {
      for (R=0,i=SH;i<SH+10;i++) {R+=(10+SH-i)*(High[i]-Low[i]);}      R/=55;

      SHMax = High[Highest(NULL,0,MODE_HIGH,Per,SH)];
      SHMin = Low[Lowest(NULL,0,MODE_LOW,Per,SH)];
      if (Close[SH]<SHMin+(SHMax-SHMin)*Otstup/100 && UD!=SH_SELL) { BufU[SH]=Low[SH]-R*0.5; UD=SH_SELL; }
      if (Close[SH]>SHMax-(SHMax-SHMin)*Otstup/100 && UD!=SH_BUY) { BufD[SH]=High[SH]+R*0.5; UD=SH_BUY; }
   }
   return(0);
}

Eu tentei através do iCustom mas ele diz que o valor é 2147483647 ao especificar qualquer linha ou número de barras ...

 
VOLDEMAR:

Como obter um sinal em um EA a partir deste indicador

Eu tentei através do iCustom mas ele diz que o valor é 2147483647 ao especificar qualquer linha ou número de barras ...

Este valor é VAZIO_VALOR. Ele está no buffer indicador por padrão, se não houver sinal. Cicle através do buffer e obtenha os valores não vazios.
 

Verifique seus amortecedores desta forma:

if (Bufer0>0) {               // в double Bufer0 через iCustom() ранее получено значение буфера индикатора 0
   if (Bufer0!=EMPTY_VALUE) {
      // поймали значение в буфере
      }
   }
 
artmedia70:

Verifique seus amortecedores desta forma:


OK, entendo isso, mas pode haver uma centena de valores no buffer como encontrar o último e como determinar se o último é um sinal de compra ou um sinal de venda ?
 
Entendi, obrigado.
 
VOLDEMAR:

Ok, eu entendo, mas pode haver centenas de valores em buffer e como encontrar o último e como determinar qual é o último a comprar sinal ou a vender ?

Eu não compilei o código e não procurei em MT, mas BufD é o primeiro buffer azul, BufU é zero buffer vermelho. O que eles mostram ali na tela, pontos azuis e vermelhos? Então, veja qual ponto de qual cor aponta para o que lá está. E pegue-os em amortecedores - vermelho em amortecedor zero, azul em primeiro amortecedor.

Bem... E os valores precisam ser capturados na primeira barra muito provavelmente, não a viram redesenhada ou não. Ou talvez seja necessário um loop desde a barra de zero até que o valor seja encontrado. Tudo depende da forma como dá seus sinais.

[Excluído]  
Olá, você pode me dizer por que não consigo configurar nenhuma EA em Mt4, todas elas mostram valores negativos ao testar a estratégia!
 
serjlarkin:
Olá, você pode me dizer por que eu não posso definir nenhum dos Consultores Especialistas em Mt4, todos eles mostram valores negativos quando eu testo a estratégia!
Que valor negativo?