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

 
evillive:

Non siete confusi dall'andare fuori dalla matrice?

Proprio qui:

Inoltre, "non vuole mostrare" tutto lì, non solo basso[1].

1
 
mario065:
Suggerimenti: come risolvere il problema?
Spiega in linguaggio umano cosa vuoi da questo script?
 
evillive:
Spiega in linguaggio umano, cosa vuoi da questo script?

Trova il valore più basso/più alto dell'indicatore Volume dall'inizio della giornata fino ad ora.

Se c'è un nuovo valore alto/basso, ricorda l'ultimo.

 

evillive,

Grazie per la vostra attenzione :)

 
mario065:

Trova il valore più basso/più alto dell'indicatore Volume dall'inizio della giornata ad oggi.

Se c'è un nuovo valore alto/basso, ricorderà l'ultimo.

Questo è probabilmente il migliore:

//+------------------------------------------------------------------+
#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
             ); 
  }

Il mio commento non mostra qualcosa, si stampa bene...

 
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;), но что то не выходит!

Saluti, scuse per la ripetizione, ma domanda interessante)!

Come calcolare:

Avere un periodo scorrevole (per esempio 16) calcolare un periodo di 15, partendo da un periodo di 16.

 
evillive:

Probabilmente è meglio così:

Il mio commento non mostra qualcosa, stampa normalmente...

Ciao evllive,

È possibile, ma non mi serve, mi serve un array.

Non puoi vedere il commento perché tu usi voidOnStart e io uso intstart.

Ecco quello che ho scritto l'altro giorno nel file dei commenti, scritto in bulgaro.

Oggi darò un'occhiata e vedrò di cosa abbiamo discusso.

Grazie per il vostro feedback.

PS: ho aggiunto un altro file.

File H_L- primo indicatore, file_6 in body explorer ma disegna solo.

 
evillive:

Probabilmente è meglio così:

Commento Ho qualcosa non mostra, stampa gli output normalmente...

Detto e fatto. Non l'ho ancora messo in array, ma lo farò quando l'avrò convertito in una funzione esterna.

Le linee sono disegnate sulla prima finestra dell'indicatore-dati, se è per il volumetrico, ha bisogno di un fratello di dati per il volumetrico.

In questo modo formalizzo la gamma del Volumet in parti basse, medie, alte.

 

Buona sera!

Puoi dirmi cosa c'è di sbagliato nel mio primo EA? Non ha visualizzato i messaggi al momento della pausa:

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

extern Period_MA=8; // Periodo della MA calcolata

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

int start() // Funzione speciale start

{

double MA_f, // valore MA su 0 bar

MA_s, // valore MA su 1 barra

MA_t, // valore MA su 2 barre

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

// Accesso alla funzione 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)

Alert("Frattura al centro verso il basso");// Messaggio

se (MA_t<MA_s>MA_f)

Alert("Break in the middle from above");// Messaggio

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

return; //uscita da start()

}

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

Grazie!

 
Top2n:

Saluti, mi scuso per la ripetizione, ma domanda interessante)!

Come calcolare:

Avendo un periodo scorrevole (per esempio 16) calcolare il periodo 15, partendo dal periodo 16.

Y(n+1)=(Y(n)*n+x[n+1])/(n+1), dove Y(i) è la media mobile di i valori, x[i] è il valore numero i. Numerazione dei valori come nelle serie temporali.

Le sarò molto grato se mi dirà mai perché ha bisogno di tutto questo.