Announcement

Collapse
No announcement yet.

Comportamento insolito indicatore

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Comportamento insolito indicatore

    Un saluto a tutti.
    Sono 2 giorni che sto cercando di capire perchè l'indicatore semplicissimo che ho scritto si comporta in modo bizzarro.

    Il buffer dell'indicatore viene popolato dai seguenti valori
    for(int i=limit-1; i>0; i--)
    {

    //formula %B = (C - bb_Low / (bb_High - bb_Low)
    double bb_Low = iBands(Symbol(),Period(),bb_Periods,bb_Deviation,0 ,PRICE_CLOSE,MODE_LOWER,i);
    double bb_High = iBands(Symbol(),Period(),bb_Periods,bb_Deviation,0 ,PRICE_CLOSE,MODE_UPPER,i);
    double C = iClose(Symbol(),Period(),i);


    PB[i]= (C - bb_Low)/(bb_High - bb_Low);
    }
    In particolare l'indicatore plotta correttamente se prendo una parte della frazione o solo il numeratore oppure solamente il denominatore. Se faccio eseguire la divisione non plotta nulla. Sto veramente impazzendo.
    Qualcuno di voi sa da cosa può dipendere?
    Ringrazio in anticipo chi vorrà aiutarmi.

    #2
    molto probabilmente sulle bb_Periods barre più antiche, quelle da (limit-1) a (limit-1 - bb_Periods)
    bb_High = 0
    bb_Low = 0
    per cui l'indicatore ottiene un errore "zero divide" essendo PB[i]= (C - bb_Low)/(bb_High - bb_Low) , cioè un rapporto con denominatore che vale zero su queste barre antiche... da qui l'errore sull'indicatore che non plotta nulla.

    Questo accade spesso con le formule degli indicatori, e si risolve imponendo a zero il valore di PB[i] per queste barre antiche.
    La vita non è un giro di prova, cogli l’attimo..
    Realizzazione per Metatrader4 di trading system, indicatori, pattern grafici, Ottimizzazioni IS-OOS su Forex e CFD, Analisi di Portafoglio .

    Comment


      #3
      Grazie mille per l'aiuto, era proprio un problema di "zero divide". Ora funziona tutto alla perfezione.

      Comment

      Working...
      X