//+------------------------------------------------------------------+ //| FisherKus_Star11.mq4 | //| Copyright © 23.07.2006 MartinG | //| http://home.arcor.de/cam06/fisher | //+------------------------------------------------------------------+ #property copyright "Copyright © 23.07.2006 MartinG" #property link "http://home.arcor.de/cam06/fisher" #property indicator_separate_window //#property indicator_minimum -1 //#property indicator_maximum 1 #property indicator_buffers 3 #property indicator_color2 Blue #property indicator_color3 Red //#property indicator_width2 4 //#property indicator_width3 4 int LeftNum1=56; int LeftNum2=56; extern int RangePeriods=15; extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10 extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10 extern int DrawType = 3; extern int DrawSize = 1; string ThisName="FisherKus_Star11"; int DrawStart; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(4); SetIndexLabel(0,"Fish"); SetIndexStyle(0,DRAW_NONE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DrawType,STYLE_SOLID,DrawSize); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DrawType,STYLE_SOLID,DrawSize); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_NONE); SetIndexBuffer(3,ExtMapBuffer4); string Text=ThisName; Text=Text+" (rPeriods "+RangePeriods; Text=Text+", pSmooth "+DoubleToStr(PriceSmoothing,2); Text=Text+", iSmooth "+DoubleToStr(IndexSmoothing,2); Text=Text+") "; IndicatorShortName(Text); SetIndexLabel(1,NULL); SetIndexLabel(2,NULL); DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculated from left to right SetIndexDrawBegin(1,DrawStart); SetIndexDrawBegin(2,DrawStart); if (PriceSmoothing>=1.0) { PriceSmoothing=0.9999; Alert("Fish61: PriceSmothing factor has to be smaller 1!"); } if (PriceSmoothing<0) { PriceSmoothing=0; Alert("Fish61: PriceSmothing factor mustn''t be negative!"); } if (IndexSmoothing>=1.0) { IndexSmoothing=0.9999; Alert("Fish61: PriceSmothing factor has to be smaller 1!"); } if (IndexSmoothing<0) { IndexSmoothing=0; Alert("Fish61: PriceSmothing factor mustn''t be negative!"); } //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if (Bars0) // up trend { ExtMapBuffer2[pos]=SmoothedFish; ExtMapBuffer3[pos]=0; } else // else down trend { ExtMapBuffer2[pos]=0; ExtMapBuffer3[pos]=SmoothedFish; } //---- return(0); } //+------------------------------------------------------------------+