Jump to content

Recommended Posts

Posted

Re: fisher indicator

 

maybe you can test this..

I hope no repaint againt..

-----------------------------------

.......

bool up=true;

for(i=limit-2; i>=0; i--) -> Original

for(i=limit+1; i>=0; i--) -> Repro by me

.......

-----------------------------------

 

The source code :

#property  copyright "Copyright © 2006, Winning Solution Repro SEFC"
#property  link      "Repro...."
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Black
#property  indicator_color2  Lime
#property  indicator_color3  Red
#property indicator_level1 0
#property indicator_levelcolor Yellow
#property indicator_levelwidth 2
extern int period=10;
double ExtBuffer0[];double  ExtBuffer1[];double ExtBuffer2[];
int init()  {
  SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1,Red);
  SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1,Lime);
  SetIndexStyle(2,DRAW_HISTOGRAM);
  IndicatorDigits(Digits+1);
  SetIndexBuffer(0,ExtBuffer0);
  SetIndexBuffer(1,ExtBuffer1);
  SetIndexBuffer(2,ExtBuffer2);
  IndicatorShortName("Winning Solution - Fisher ");
  SetIndexLabel(1,NULL);
  SetIndexLabel(2,NULL);
  return(0);  }
int start()  {
  int    limit;
  int    counted_bars=IndicatorCounted();
  double prev,current,old;
  double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
  double price;
  double MinL=0;
  double MaxH=0;  
  if(counted_bars>0) counted_bars--;
  limit=Bars-counted_bars;
  for(int i=0; i<limit; i++)
   {  MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
      MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
     price = (High[i]+Low[i])/2;
     Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;     
     Value=MathMin(MathMax(Value,-0.999),0.999); 
     ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
     Value1=Value;
     Fish1=ExtBuffer0[i]; }
  bool up=true;
  for(i=limit+1; i>=0; i--)  {
     current=ExtBuffer0[i];
     prev=ExtBuffer0[i+1];
     if (((current<0)&&(prev>0))||(current<0))   up= false;    
     if (((current>0)&&(prev<0))||(current>0))   up= true;
     if(!up) {
        ExtBuffer2[i]=current;
        ExtBuffer1[i]=0.0; }
      else {
         ExtBuffer1[i]=current;
         ExtBuffer2[i]=0.0;}
    }
  return(0);  }

 

Sorry .... saya belum test lho.. mungkin bisa dicoba aja dulu..

Thanks..

SEFC Mode= Red light ...(off) ..

"Indonesia Forex Community"

Posted

Re: fisher indicator

 

for the wesladf and chetachukwu we cannot post the correct url here, so we must put the "*", you should already know that.

 

SEFC thanks, i will try if it works :-bd

Posted

Re: fisher indicator

 

Sorry, regarding the last improved ! fisher version: When a new bar is being shown the last bar changes at that moment!

This an improvement! But still re-painting!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...