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 618

 
Outra pergunta. Não consigo descobrir como obter, com o mínimo esforço, uma variável do tipo int do Time[0] como 00:00. Não consigo pensar em nada, exceto nas conversões de string, StrToTime, e TimeToStr. Obrigado!
 

Colegas, existe uma alternativa ao Report Manager?

Preciso fundir grandes relatórios durante vários anos, e o RM desliga ou simplesmente não faz nada quando eu clico em fundir. Não há problema com pequenos relatórios.

 
Por favor, informe como executar o indicador a partir de um EA, se disponível.
 

Quero que o indicador conte o movimento ascendente na faixa de 50 barras em todo o gráfico, ou seja, há uma nova barra, a última é excluída para busca e assim por diante com cada nova barra. Até agora, consegui calcular toda a história. Em resumo, estou preso a isso. Alguém pode sugerir como resolver este problema? Não posso usar o alisamento por tipo de barras deslizantes.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- buffers
double ExtMapBuffer1[];
extern int p=50;//желаемый диапазон баров для поиска 
double val_plus[]; 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),i,limit,indicator_plus;
    double ma1, ma2;
    
   if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars-1; 
   for(i=limit;i>=0;i--)
   {  
   ma2=iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,i+2);
   ma1=iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,i+1);
   ArrayInitialize(val_plus,0);
   for(int k=p;k>=0;k--)//в этом цикле ищем и суммируем все растущия движения машки
   {
    ArrayResize(val_plus,p); 
    if(ma1 > ma2){val_plus[k]=1;}//получили одно растущее движение                 
    if(val_plus[k] > 0){indicator_plus=indicator_plus+val_plus[k];}//прибавили его к общей сумме     
   }
   ExtMapBuffer1[i]=indicator_plus;
 
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
001:
Outra pergunta. Não consigo descobrir como obter, com o mínimo esforço, uma variável do tipo int do Time[0] como 00:00. Não consigo pensar em nada, exceto nas conversões de string, StrToTime, e TimeToStr. Obrigado!

TimeHour(Time[0]) e TimeMinute(Time[0])
 
Forexman77:

O indicador deve calcular o movimento ascendente na faixa de 50 barras em todo o gráfico, ou seja, há uma nova barra, a última é excluída para busca e assim por diante com cada nova barra. Até agora, consegui calcular toda a história. Em resumo, estou preso a isso. Alguém pode sugerir como resolver este problema? Não posso usar o alisamento por tipo de barras deslizantes.



Existe a função SetIndexDrawBegin(). Mas ele tem uma característica especial - conta da esquerda para a direita. Em geral, configure-se na linha SetIndexDrawBegin(0, Bars-p) no Init, e veja se é isso que você precisa.
 

É possível baixar os gráficos para análise técnica, - os índices S & P 500 Futures Chart, TA 25 Chart, e o S & P 500 Chart, se possível, podem fazer o download, talvez haja uma explicação de como fazer o download!

Não consigo encontrar tal corretor, você pode aconselhar um programa de análise técnica, que me permita baixar os índices em que estou interessado (pode ser em tempo real) ou um corretor.

Talvez haja uma oportunidade de baixar estes índices MT-4 ou MT-5. Estou apenas começando a tentar fazer análises técnicas, eu gostaria muito de ouvir conselhos de especialistas sobre como lidar com minha tarefa.

Agradeço antecipadamente por sua ajuda.
 
pu6ka:

TimeHour(Time[0]) e TimeMinute(Time[0])

Obrigado!
 
Olá .... como faço para desenhar uma barra eu mesmo ? mas sem o preço de abertura
 
Há uma função para fechar posições por tempo.
void CheckForLongetivityClose_Sell()
  {
   if(DayOfWeek()==0 || DayOfWeek()==6) return;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      // if(OrderMagicNumber()==MAGIC_S)
        {
         datetime openTime_S= OrderOpenTime();
         int timeDistance_S = TimeCurrent()-openTime_S;
         if(timeDistance_S>60*BarrierMinute_S) int f=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,Red);
        }

     }
   return;
  }

A posição fecha, mas dá OrderClose erro 138 para cada posição

11:44:49 2000.01.10 07:00 Time+iLowest_old EURUSD,H1: aberto #1 venda 0.10 EURUSD a 1.02940 ok
11:44:49 2000.01.10 14:00 Time+iLowest_old EURUSD,H1: OrderClose error 138
11:44:49 2000.01.10 14:00 Time+iLowest_old EURUSD,H1: fechamento #1 venda 0.10 EURUSD a 1.02940 ao preço 1.02230
11:44:49 2000.01.11 07:00 Time+iLowest_old EURUSD,H1: aberto #2 venda 0.10 EURUSD a 1.02660 ok
11:44:49 2000.01.11 14:00 Time+iLowest_old EURUSD,H1: OrderClose error 138
11:44:49 2000.01.11 14:00 Time+iLowest_old EURUSD,H1: fechamento #2 venda 0.10 EURUSD a 1.02660 ao preço 1.02890
11:44:49 2000.01.13 07:00 Time+iLowest_old EURUSD,H1: aberto #3 venda 0.10 EURUSD a 1.02860 ok

11:44:49 2000.01.13 14:00 Time+iLowest_old EURUSD,H1: OrderClose error 138 ,

O que poderia ser? O interessante é que tudo funciona em outra EA.

Razão: