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 865

 
evillive:

Está tudo bem sair da matriz?

Aqui mesmo:

Além disso, "não quer mostrar" tudo lá, não apenas baixo[1].

1
 
mario065:
Sugestões - como consertá-la?
Explique em linguagem humana o que você quer deste roteiro?
 
evillive:
Explique em linguagem humana, o que você quer deste roteiro?

Encontre o valor mais baixo/mais alto do indicador de Volume desde o início do dia até agora.

Se há um novo valor alto/baixo, ele se lembra do último.

 

mal vivo,

Obrigado por sua atenção :)

 
mario065:

Encontre o valor mais baixo/mais alto do indicador de volume desde o início do dia até o presente.

Se houver um novo valor mais alto/mais baixo, ele se lembrará do último.

Isto provavelmente é o melhor:

//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
int high,low;
datetime timeh,timel;
//+------------------------------------------------------------------+
int init(){  
  return(0);
 }
int deinit(){
  Comment("");
  return(0);
 }  
//-------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnStart(){
    double   spred = MarketInfo(Symbol(),MODE_SPREAD);
    int      limit,Open_bar_per,Close_bar_per,av_vol;
    datetime Time_period,Close_per;
//+------------------------------------------------------------------+
       Time_period   = iTime(Symbol(),PERIOD_D1,0);
       Open_bar_per  = iBarShift(Symbol(),0,Time_period,false);
       Close_per     = iTime(Symbol(),0,0);
       Close_bar_per = iBarShift(Symbol(),0,Close_per,false);
       limit         = Open_bar_per - Close_bar_per;

int hivol_s=iHighest(NULL,0,MODE_VOLUME,limit,1);
int lovol_s=iLowest(NULL,0,MODE_VOLUME,limit,1);
high=iVolume(NULL,0,hivol_s);
low=iVolume(NULL,0,lovol_s);
timeh=iTime(NULL,0,hivol_s);
timel=iTime(NULL,0,lovol_s);
       av_vol = NormalizeDouble(high/3,0);
//+------------------------------------------------------------------+
     Print("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr(spred/10,1),
             "\n High_per  :  ",high,
             "\n Low_per   :  ",low,   
             "\n time_high :  ",TimeToStr(timeh,TIME_SECONDS),
             "\n time_low  :  ",TimeToStr(timel,TIME_SECONDS),
             "\n Close_per :  ",TimeToStr(Close_per,TIME_SECONDS),
             "\n Open_per  :  ",TimeToStr(Time_period,TIME_SECONDS), 
             "\n av_vol    :  ",av_vol
             ); 
  }

Meu comentário não mostra algo, imprime bem...

 
void CalculateSimpleMA(int rates_total,int prev_calculated,const double &price[])
  {
   int i,limit;
//--- first calculation or number of bars was changed
   if(prev_calculated==0)
   
     {
      limit=InpMAPeriod;
      //--- calculate first visible value
      double firstValue=0;
      for(i=0; i<limit; i++)
         firstValue+=price[i];
      firstValue/=InpMAPeriod;
      ExtLineBuffer[limit-1]=firstValue;
      ExtLineBufferFid[1]=(firstValue*InpMAPeriod-price[i-InpMAPeriod])/i-1; Добрый человек предоставил вот такую реализацию(sma99[i]=(sma100[i]*100-d[i-100])/99;), но что то не выходит!

Saudações, desculpas pela repetição, mas pergunta interessante!)

COMO calcular:

Tendo um período de deslizamento (por exemplo, 16) calcular um período de 15, a partir de um período de 16.

 
evillive:

Isso provavelmente é o melhor:

Meu comentário não mostra algo, impressões impressas normalmente...

Olá evllive,

Isso é possível, mas eu não preciso disso. Preciso de uma matriz.

Você não pode ver o comentário porque você usa voidOnStart e eu uso intstart.

Eis o que escrevi no outro dia no arquivo de comentários, escrito em búlgaro.

Vou dar uma olhada nisso hoje e ver o que discutimos.

Obrigado por seu feedback.

PS: Eu adicionei outro arquivo.

File H_L- primeiro indicador,file_6 no body explorer, mas só desenha.

 
evillive:

Provavelmente é melhor assim:

Comentei que tenho algo que não aparece, normalmente impressões...

Dito e feito. Ainda não o coloquei em arrays, mas o farei uma vez que o converti em uma função externa.

As linhas são traçadas na primeira janela dos dados indicadores, se for para volumétrica, precisa de um irmão de dados para volumétrica.

Desta forma formalizo o alcance do Volumet em partes baixas, médias e altas.

 

Boa noite!

Você pode me dizer o que há de errado com minha primeira EA? Não exibiu as mensagens no momento da fratura:

//--------------------------------------------------------------------

Período externo_MA=8; // Período de MA calculado

//--------------------------------------------------------------------

int start() // Início de funções especiais

{

valor duplo MA_f, // MA em 0 bar

MA_s, // valor de MA em 1 barra

MA_t, // valor de MA em 2 bar

//--------------------------------------------------------------------

// Acesso à função tech.ind.

MA_f =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);

MA_s =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,1);

MA_t =iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,2);

//--------------------------------------------------------------------

se (MA_t>MA_s<MA_f)

Alerta ("Fratura no meio para baixo");// Mensagem

se (MA_t<MA_s>MA_f)

Alerta("Quebra no meio por cima");// Mensagem

//--------------------------------------------------------------------

retorno; //saída do início()

}

//--------------------------------------------------------------------

Obrigado!

 
Top2n:

Saudações, desculpas pela repetição, mas pergunta interessante!)

COMO calcular:

Ter um período de deslizamento (por exemplo, 16) calcular o período 15, a partir do período 16.

Y(n+1)=(Y(n)*n+x[n+1])/(n+1), onde Y(i) é a média móvel dos valores i, x[i] é o valor número i. Numeração de valores como em séries temporais.

Você ficará muito agradecido se alguma vez me disser por que precisa de tudo isso.

Razão: