Barre di conteggio compresi i fine settimana - pagina 8

 
Integro, Rena - ti viene offerto di tirare un vuoto senza un gran travestimento. Non voglio cascarci.
 
Renat Akhtyamov:

ecco qui.

Tempo[i -(int)Fr]

Il ciclo va così

for(i=100; i>=0; i--)

con analisi non inferiore a zero questo: i -(int)Fr

ma la linea al futuro (a i<0) comunque - solo per tempo o aggiungere fine settimana

anche se...

può essere indizio - come passare a un numero negativo di barre, non ricordo

Ora ho fatto Time[(i+Fr)-x_bar] dal punto frattale al futuro,
ora tutte le linee sono nei posti giusti dal frattale più le barre necessarie avanti, ma oltre la barra zero le linee non salgono più

 
forex2030:

Ora dal punto frattale al futuro ho fatto Time[(i+Fr)-x_bar],
ora tutte le linee stanno sui posti necessari dal frattale più le barre necessarie più avanti, ma le linee non stanno più dietro la barra zero

forse provare in questo caso a disegnare un altro buffer nel tempo presente e passare al futuro?

https://docs.mql4.com/ru/customind/setindexshift

SetIndexShift - Пользовательские индикаторы - Справочник MQL4
SetIndexShift - Пользовательские индикаторы - Справочник MQL4
  • docs.mql4.com
При положительном значении изображение линии смещается вправо, при отрицательном - влево. Значение, рассчитанное на текущем баре, рисуется с указанным смещением относительно текущего бара.
 
Renat Akhtyamov:

forse provare a disegnare al presente e passare al futuro in questo caso?

Hmm, dovrò provarlo.
Cioè traccio una linea nel primo punto e la sposto di barre.
La mia linea non è un buffer ma un oggetto, come posso organizzare questo.

 
forex2030:

Hmmm, dovrò provarlo.
Cioè traccio una linea sul primo punto e la sposto di barre.
Non ho la linea come buffer ma come oggetto, come posso organizzare questo.

se un oggetto, calcolare il tempo della barra futura, tenendo conto del fine settimana

ma se è un indicatore, allora due buffer a >=0 e a <0

in quest'ultimo caso, il comando dal link sopra all'interno del ciclo

in questo caso, solo l'ultima linea dell'indicatore per il secondo buffer e tutto per il primo buffer sarà vero

 

Cosa c'è che non va? C'è un'ora di inizio, c'è un'ora corrente.

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );
 
Renat Akhtyamov:

se un oggetto, allora calcola il tempo della barra futura tenendo conto delle uscite
e se è un indicatore, allora due buffer a >=0 e a <0
in quest'ultimo caso, il comando che segue il link qui sopra sarebbe corretto
in questo caso, solo l'ultima linea dell'indicatore sarà corretta

OK, grazie.
Penso che sia abbastanza per oggi, lo proverò domani, metterò la linea nel buffer e la sposterò di barre in avanti.

Konstantin Nikitin:

Cosa c'è che non va? C'è un'ora di inizio, c'è un'ora corrente.

Non funziona, l'ho provato.

//+------------------------------------------------------------------------+ 
int NumData(datetime d_start,datetime d_stop){
   int bar=Bars(Symbol(),0,d_start,d_stop);
return(bar);}
 

forex2030:

Non funziona, l'ho provato.

Per quanto è chiaro da tutti i vostri post. Non è possibile impostare correttamente il tempo di inizio per il conteggio dello spazio tra le barre.
È una variante di quello che ti serve. Inizio della settimana/mese/anno precedente o corrente

int  Bars(
   _Symbol,
   PERIOD_CURRENT,
   iTime(_Symbol, PERIOD_W1, 1),
   TimeCurrent()
   );
 
forex2030:

Va bene, grazie.
Questo è probabilmente sufficiente per oggi, lo proverò domani, metterò la linea nel buffer e la sposterò in avanti di qualche barra.

Non funziona, l'ho provato.

Gli indicatori più interessanti, naturalmente, sono quelli che disegnano il futuro.

 
forex2030:

Ora ho fatto Time[(i+Fr)-x_bar] dal punto frattale al futuro,
ora tutte le linee stanno sui posti corretti del frattale più le barre necessarie in avanti, ma le linee non stanno dietro la barra zero

Fate un controllo, se la barra è negativa, allora aggiungete il tempo alla barra zero. Dovete scrivere la vostra funzione MyTime(int bar), se la barra è inferiore a zero, aggiungete il tempo alla barra zero, altrimenti usate Time[].

Motivazione: