Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 618

 
Un'altra domanda. Non riesco a capire come ottenere, con uno sforzo minimo, una variabile di tipo int da Time[0] come 00:00. Non mi viene in mente niente, tranne le conversioni stringa, StrToTime e TimeToStr. Grazie!
 

Colleghi, c'è un'alternativa a Report Manager?

Ho bisogno di unire rapporti di grandi dimensioni per diversi anni, e RM si blocca o semplicemente non fa nulla quando clicco su merge. Non c'è nessun problema con i piccoli rapporti.

 
Si prega di consigliare come eseguire l'indicatore da un EA, se disponibile.
 

Voglio che l'indicatore conti il movimento verso l'alto nell'intervallo di 50 barre su tutto il grafico, cioè c'è una nuova barra, l'ultima è esclusa per la ricerca e così via con ogni nuova barra. Finora sono riuscito a calcolare l'intera storia. In breve, sono bloccato con esso. Qualcuno può suggerire come risolvere questo problema? Non posso usare lo smoothing per tipo di barre scorrevoli.

#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:
Un'altra domanda. Non riesco a capire come ottenere, con uno sforzo minimo, una variabile di tipo int da Time[0] come 00:00. Non mi viene in mente niente, tranne le conversioni stringa, StrToTime e TimeToStr. Grazie!

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

Voglio che l'indicatore conti il movimento verso l'alto nell'intervallo di 50 barre su tutto il grafico, cioè c'è una nuova barra, l'ultima è esclusa per la ricerca e così via con ogni nuova barra. Finora sono riuscito a calcolare l'intera storia. In breve, sono bloccato con esso. Qualcuno può suggerire come risolvere questo problema? Non posso usare lo smoothing per tipo di barre scorrevoli.



C'è la funzione SetIndexDrawBegin(). Ma ha una caratteristica speciale: conta da sinistra a destra. In generale, impostatevi la linea SetIndexDrawBegin(0, Bars-p) in Init, e vedete se questo è ciò di cui avete bisogno.
 

È possibile scaricare i grafici per l'analisi tecnica, - indici S & P 500 Futures Chart, TA 25 Chart, e il S & P 500 Chart se possibile può richiedere come fare questo, forse c'è una spiegazione di come scaricare!

Non riesco a trovare un tale broker, potete consigliarmi un programma di analisi tecnica, che mi permetta di scaricare gli indici che mi interessano (può essere in tempo reale) o un broker.

Forse c'è la possibilità di scaricare questi indici MT-4 o MT-5. Sto appena iniziando a provare a fare analisi tecnica, mi piacerebbe molto sentire i consigli degli esperti su come affrontare il mio compito.

Vi sono molto grato in anticipo per il vostro aiuto.
 
pu6ka:

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

Grazie!
 
Ciao .... come faccio a disegnare una barra da solo? ma senza il prezzo di apertura
 
C'è una funzione per chiudere le posizioni in base al 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;
  }

La posizione si chiude, ma dà l'errore OrderClose 138 per ogni posizione

11:44:49 2000.01.10 07:00 Time+iLowest_old EURUSD,H1: aprire #1 vendere 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: chiudere #1 vendere 0,10 EURUSD a 1,02940 al prezzo 1,02230
11:44:49 2000.01.11 07:00 Time+iLowest_old EURUSD,H1: aprire #2 vendere 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: chiudere #2 vendere 0,10 EURUSD a 1,02660 al prezzo 1,02890
11:44:49 2000.01.13 07:00 Time+iLowest_old EURUSD,H1: aperto #3 vendere 0.10 EURUSD a 1.02860 ok

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

Cosa potrebbe essere? La cosa interessante è che tutto funziona in un altro EA.

Motivazione: