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 525

 
É possível carregar dados do terminal para processamento em Excel?
 
AlexMikash:
Posso descarregar os dados do terminal para processamento em Excel?

Via ... ...você pode. Você entendeu errado, através do IE você pode. Salvar o relatório abri-lo no IE e convertê-lo em Excelência a partir daí

Eu o fiz apenas uma vez, portanto, se algo estiver errado, não magoe, talvez não se lembre de algo errado.

 
AlexMikash:
É possível descarregar os dados do terminal para processamento em Excel?

Existem scripts para isso, você pode usar F2 - exportação.
 
Obrigado!)
 
tara:
Meu filho está no ringue de dança de flamenco. Está bem assim?

Menino, menina? Quantos anos?
 

Quero escrever um consultor especializado sobre o indicador "Supertrend".

Mas não está integrado no MT4 e não sei como obter dados do indicador.

Você pode me ajudar com conselhos?

Aqui está o código do indicador "Supertrend".

//+------------------------------------------------------------------+
//|                                                   Supertrend.mq4 |
//|                   Copyright © 2005, Jason Robinson (jnrtrading). |
//|                                      http://www.jnrtrading.co.uk |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)."
#property link      "http://www.jnrtrading.co.uk"

#property indicator_chart_window
#property indicator_buffers 2
#property  indicator_color1 Lime
#property  indicator_color2 Red
#property  indicator_width1 2
#property  indicator_width2 2

double TrendUp[];
double TrendDown[];
int st = 0;
//extern int SlowerEMA = 6;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators

   //SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
   SetIndexBuffer(0, TrendUp);
   //SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);
   SetIndexBuffer(1, TrendDown);
   
   /*SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 159);
   SetIndexBuffer(0, TrendUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 159);
   SetIndexBuffer(1, TrendDown);*/
   
   /*for(int i = 0; i < Bars; i++) {
      TrendUp[i] = NULL;
      TrendDown[i] = NULL;
   }*/
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
   /*for(int i = 0; i < Bars; i++) {
      TrendUp[i] = NULL;
      TrendDown[i] = NULL;
   }*/
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   
   int limit, i, counter;
   double Range, AvgRange, cciTrendNow, cciTrendPrevious, var;

   int counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) counted_bars--;

   limit=Bars-counted_bars;
   
   for(i = limit; i >= 0; i--) {
      cciTrendNow = iCCI(NULL, 0, 50, PRICE_TYPICAL, i);
      cciTrendPrevious = iCCI(NULL, 0, 50, PRICE_TYPICAL, i+1);
      
      //st = st * 100;
      
      counter = i;
      Range = 0;
      AvgRange = 0;
      for (counter = i; counter >= i-9; counter--) {
         AvgRange = AvgRange + MathAbs(High[counter]-Low[counter]);
      }
      Range = AvgRange/10;
      if (cciTrendNow >= st && cciTrendPrevious < st) {
         TrendUp[i+1] = TrendDown[i+1];
      }
      
      if (cciTrendNow <= st && cciTrendPrevious > st) {
         TrendDown[i+1] = TrendUp[i+1];
      }
      
      if (cciTrendNow >= st) {
         TrendUp[i] = Low[i] - iATR(NULL, 0, 5, i);         
         if (TrendUp[i] < TrendUp[i+1]) {
            TrendUp[i] = TrendUp[i+1];
         }
      }
      else if (cciTrendNow <= st) {
         TrendDown[i] = High[i] + iATR(NULL, 0, 5, i);
         if (TrendDown[i] > TrendDown[i+1]) {
            TrendDown[i] = TrendDown[i+1];
         }
      }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
culler:

Quero escrever um consultor especializado sobre o indicador "Supertrend".

Mas não está integrado no MT4 e não sei como obter dados do indicador.

Você pode me ajudar com conselhos?

Aqui está o código do indicador "Supertrend".


Os dados do indicador personalizado são obtidos usando a função iCustom
 
alsu:

Os dados do indicador personalizado são obtidos usando a função iCustom


Estou apenas começando com a MQL4, não consigo entender o iCustom.

Alguém poderia me ajudar a extrair esses dados do código indicador "Supertrend" acima , para que eu possa aplicá-los a um Expert Advisor?

 
culler:


Estou apenas começando com a MQL4, não consigo entender o iCustom.

Alguém poderia me ajudar a extrair os dados do código indicador "Supertrend" acima , para que eu possa usá-los em um Expert Advisor?


Bem, você terá que fazer isso, o que mais poderia ser? Se você quiser escrever um Consultor Especialista...

O Help tem um exemplo, faça-o assim: iCustom(símbolo, cronograma, "Supertrend", você não tem parâmetros especiais, então vamos pular esta posição, definir o número da linha e o número da barra que você precisa)

 

No meta-iditor, há uma função de solicitação, digite o operador e pressione F1.it diz tudo o que você precisa para inserir o operador. é feito desta forma:

double UP=iCustom(Symbol(),NULL,"Supertrend",0,0);

double DOWN=iCustom(Symbol(),NULL,"Supertrend",1,0);
Razão: