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

 
tara:
Imparare, imparare e imparare. Prima - imparare a capire cosa fare, poi - imparare a formulare una domanda, come farlo. E poi imparare a fare le cose. Se lo vuoi davvero, naturalmente...

Grazie... Che paese dei sovietici! Sfortunatamente, non brucio dalla voglia di studiare approfonditamente MQL4. In questa fase è di stretto interesse applicativo, cioè puramente per un particolare Expert Advisor. So che non ho bisogno di un manuale, ma voglio che dei professionisti mi aiutino, anche i tutor assenti sono disponibili. Bene, lo faremo noi stessi. Peccato solo per il tempo.

Bene, un'altra cosa: in realtà mi sono rivolto a questo ramo, credendo al titolo: "Qualsiasi domanda di un principiante ..." E se una risposta normale è umiliante per te, allora perché sei qui? Per mostrare la sua professionalità? Penso che questo si ottenga in un modo leggermente diverso.

 
rapid_minus:
Grazie... Che paese dei sovietici! Sfortunatamente, non brucio dalla voglia di studiare a fondo MQL4. In questa fase è di stretto interesse applicativo, cioè puramente per un particolare Expert Advisor. So che non ho bisogno di un manuale, ma voglio che dei professionisti mi aiutino, anche i tutor assenti sono disponibili. Bene, lo faremo noi stessi. Ma è un peccato per il tempo.

Aiuto qualificato ad un prezzo ragionevole: https://www.mql5.com/ru/job Non trascurare e risparmia tempo! In questo mondo pagano anche i consigli!

Tutto è commercializzato!

 
borilunad:

Aiuto qualificato ad un prezzo ragionevole: https://www.mql5.com/ru/job Non trascurare e risparmia tempo! In questo mondo pagano anche i consigli!

Tutto è commercializzato!

L'unico dinosauro rimasto è Igor Kim. E lui, secondo me, si è stancato di noi ignoranti. È un peccato...
 
rapid_minus:
L'unico dinosauro rimasto è probabilmente Igor Kim. E credo che si sia stancato di noi dilettanti. È un peccato...
Perché? C'è ancora qualche...
 
artmedia70:
Perché, c'è un po' di più...

Sì, grazie. Ti conosco anche dal thread di Kim. Negli ultimi anni il ramo è diventato pesantemente disseminato, purtroppo (IMHO).

Non oso rivolgermi direttamente al rispettato e persino riverito (ancora...), ma: "A" è già stato detto...

 

Salve,

Sembra che vada bene, ma non mostra basso[1] .


//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
int high[7],low[7],timeh[7],timel[7];
//+------------------------------------------------------------------+
int init(){  
  return(0);
 }
int deinit(){
  Comment("");
  return(0);
 }  
//-------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start(){
    double   spred = MarketInfo(Symbol(),MODE_SPREAD);
    int      value0,value1,value2,limit,av_vol;
    int      i,Open_bar_per,Close_bar_per;
    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)-Period()*60;
       Close_bar_per = iBarShift(Symbol(),0,Close_per,false);
       limit         = Open_bar_per - Close_bar_per;

   for(i=limit;i>0;i--){
       value0=0;value1=0;value2=0;

       value0   = iVolume(Symbol(),0,i);
       value1   = iVolume(Symbol(),0,i+1);
       value2   = iVolume(Symbol(),0,i+2);
       
    if(value0 > value1 && value1 < value2){
       low[0]   = value1;
       timel[0] = iTime(Symbol(),0,i+1);
     }
    if(value0 < value1 && value1 > value2){
       high[0]  = value1;
       timeh[0] = iTime(Symbol(),0,i+1);
     }
   for(int j=7;j>=0;j--){
       high[j]  = high[j-1];
       low[j]   = low[j-1];
       timeh[j] = timeh[j-1];
       timel[j] = timel[j-1];
     }
    if(high[1] < high[2]){
       high[1]  = high[2];
       timeh[1] = timeh[2];
     }
    if(low[1] > low[2]){
       low[1]   = low[2];
       timel[1] = timel[2];
     }
  } 
       av_vol = NormalizeDouble(high[1]/3,0);
//+------------------------------------------------------------------+
     Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr(spred/10,1),
             "\n=====================",
             "\n High_per  :  ",high[1],
             "\n Low_per   :  ",low[1],   
             "\n time_high :  ",TimeToStr(timeh[1],TIME_SECONDS),
             "\n time_low  :  ",TimeToStr(timel[1],TIME_SECONDS),
             "\n Close_per :  ",TimeToStr(Close_per,TIME_SECONDS),
             "\n Open_per  :  ",limit, 
             "\n=====================",
             "\n av_vol    :  ",av_vol,
             "\n====================="
             ); 
  return(0);  
  }
 
mario065:

Salve,

Sembra essere ok, ma non mostra basso[1] .



Non ti confonde se è fuori dalla matrice?

È proprio qui:

for(int j=7;j>=0;j--){
       high[j]  = high[j-1];
       low[j]   = low[j-1];
       timeh[j] = timeh[j-1];
       timel[j] = timel[j-1];
     }

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

 
evillive:

Non siete confusi dall'andare fuori dalla matrice?

Proprio lì:

Non capisco!?

Questo ciclo è solo per spostare il risultato.

Poi, se c'è una condizione, sarà di nuovo la prima.

 
mario065:

Non capisco!?

Questo ciclo è solo per spostare il risultato.

Poi se la condizione è di nuovo sarà il primo

Il ciclo accede a elementi di array inesistenti, non importa per cosa viene usato. Questo non va bene.
 
evillive:
Un ciclo accede a elementi di array inesistenti, non importa a cosa serva. Questo non va bene.
Suggerimenti: come risolvere il problema?