RBCI + TTF = Profitto? - pagina 2

 
Mendikero:
Assolutamente no - lo uso così com'è.

Beh, alla fine prendi uno sciacquone.
 
jelizavettka:

Beh, alla fine finirai per essere prosciugato.
Date un'occhiata al grafico (l'ho messo nel primo post). Questi indicatori sono abbastanza specifici, non hanno bisogno di molta messa a punto, potete lasciarli come sono. Ho rimosso le linee inutili da entrambi gli indicatori, lasciando solo quelle necessarie.
 
Mendikero:
Date un'occhiata al grafico (incluso nel primo post). Questi indicatori sono abbastanza specifici, non hanno bisogno di molta personalizzazione, potete lasciarli così come sono. Ho rimosso le linee inutili da entrambi gli indicatori, lasciando solo quelle necessarie.

Ora li scaricherò e li testerò. Che bastardo è RBCI! Mangia irragionevolmente le risorse della CPU. Dobbiamo ottimizzare il codice.
 
jelizavettka:

Ora li scaricherò e li testerò. Questo RBCI è un abominio! Mangia irragionevolmente le risorse della CPU. Dobbiamo ottimizzare il codice.
Sì, è quello che è. Il mio terminale ci mette un paio di minuti a caricarsi con esso. Ma non c'è niente da ottimizzare lì - il codice è di sei kilobyte, mentre i calcoli stessi sono un paio di decine di righe.
 

Un paio di dozzine di linee possono essere così disordinate che il terminale non si carica affatto.

Sì, non posso chiamare questo codice ottimale. La linea con l'errore è evidenziata (notata da Rosh).

//+------------------------------------------------------------------+ 
//| RBCI.mq4                                                         |
//|                                                                  |
//+------------------------------------------------------------------+ 
#property copyright "Copyright 2002, Finware.ru Ltd."
#property link "http://www.finware.ru/"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
//---- buffers 
double RBCIBuffer[];
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int init()
  {
   string short_name;
//---- indicator line 
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,RBCIBuffer);
   SetIndexDrawBegin(0,55);
//---- 
   return(0);
  }
//+------------------------------------------------------------------+ 
//| RBCI                                                             | 
//+------------------------------------------------------------------+ 
int start()
  {
   int i,counted_bars=IndicatorCounted();
//---- 
   if(Bars<=55) return(0);
//---- initial zero 
   if(counted_bars<55)
      for(i=1;i<=0;i++) RBCIBuffer[Bars-i]=0.0;
//---- 
   i=Bars-55-1;
   if(counted_bars>=55) i=Bars-counted_bars-1;
   while(i>=0)
     {
      RBCIBuffer[i]=
      -(
      -35.5241819400*Close[i+0]
      -29.3339896500*Close[i+1]
      -18.4277449600*Close[i+2]
      -5.3418475670*Close[i+3]
      +7.0231636950*Close[i+4]
      +16.1762815600*Close[i+5]
      +20.6566210400*Close[i+6]
      +20.3266115800*Close[i+7]
      +16.2702390600*Close[i+8]
      +10.3524012700*Close[i+9]
      +4.5964239920*Close[i+10]
      +0.5817527531*Close[i+11]
      -0.9559211961*Close[i+12]
      -0.2191111431*Close[i+13]
      +1.8617342810*Close[i+14]
      +4.0433304300*Close[i+15]
      +5.2342243280*Close[i+16]
      +4.8510862920*Close[i+17]
      +2.9604408870*Close[i+18]
      +0.1815496232*Close[i+19]
      -2.5919387010*Close[i+20]
      -4.5358834460*Close[i+21]
      -5.1808556950*Close[i+22]
      -4.5422535300*Close[i+23]
      -3.0671459820*Close[i+24]
      -1.4310126580*Close[i+25]
      -0.2740437883*Close[i+26]
      +0.0260722294*Close[i+27]
      -0.5359717954*Close[i+28]
      -1.6274916400*Close[i+29]
      -2.7322958560*Close[i+30]
      -3.3589596820*Close[i+31]
      -3.2216514550*Close[i+32]
      -2.3326257940*Close[i+33]
      -0.9760510577*Close[i+34]
      +0.4132650195*Close[i+35]
      +1.4202166770*Close[i+36]
      +1.7969987350*Close[i+37]
      +1.5412722800*Close[i+38]
      +0.8771442423*Close[i+39]
      +0.1561848839*Close[i+40]
      -0.2797065802*Close[i+41]
      -0.2245901578*Close[i+42]
      +0.3278853523*Close[i+43]
      +1.1887841480*Close[i+44]
      +2.0577410750*Close[i+45]
      +2.6270409820*Close[i+46]
      +2.6973742340*Close[i+47]
      +2.2289941280*Close[i+48]
      +1.3536792430*Close[i+49]
      +0.3089253193*Close[i+50]
      -0.6386689841*Close[i+51]
      -1.2766707670*Close[i+52]
      -1.5136918450*Close[i+53]
      -1.3775160780*Close[i+54]
      -1.6156173970*Close[i+55]);
      i--;
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Mendikero:
Non so perché r772ra ha scelto il grafico a minuti per illustrarlo - ho dato un esempio sul grafico a quattro ore.

L'indicatore ridisegna su tutti i grafici, prova a testarlo in modalità visualizzazione, e dopo il passaggio metti lo stesso indicatore sul grafico, vedi cosa succede.
 
Mathemat:

In un paio di dozzine di linee, si può fare un tale casino che il terminale non si avvia affatto.

Sì, non posso chiamare questo codice ottimale. La linea con un errore è evidenziata (Rosh l'ha notato).

È una strana linea in generale. È giusto?

if(counted_bars<55)
      for(i=0;i<=1;i++) RBCIBuffer[Bars-i]=0.0;

Ma questa correzione non lo fa caricare più velocemente.

 

le linee di incrocio dei diversi indicatori non sono fisse, autodistruttive

ingrandire al massimo

un po' più piccolo e tutto è diverso

il mio terminale non carica un po', ma questi indicatori sono inutili)

 
r772ra:

L'indicatore ridisegna su tutti i grafici, prova a testarlo in modalità visualizzazione, e dopo il passaggio, applica lo stesso indicatore al grafico, vedi cosa succede.
Si ridisegna sulla barra dello zero, ma non bisogna concentrarsi su di essa. Il segnale è solo la barra chiusa (le ho usate per segnare i punti di entrata sul grafico, altrimenti sarebbero state spostate al passato di una candela e i segnali sarebbero stati ancora prima).
 
r772ra: L'indicatore ridisegna su tutti i grafici, prova a testare in modalità di visualizzazione, e dopo il passaggio dello stesso indicatore sul grafico, vedi cosa succede.

Non credo che dovrebbe - a parte zero...

Mendikero: Mi ci vogliono un paio di minuti per caricarci il terminale.

jelizavettka : Che abominio questo RBCI! Mangia irragionevolmente le risorse della CPU.

Sono sorpreso. Mi sono già preparato per il minuto di carico - ma ho calcolato tutto all'istante (sulla storia dei grafici fino a luglio 2006). Avete entrambi bisogno di cambiare le vostre rocce...
Motivazione: