NO LINKS OR MQL SOURCE CODE REQUESTS. Please follow the rules.


Re: Trend Indicators for MT4

#1142
mrtools wrote:
Wed Oct 06, 2021 12:47 pm
Are you sure it doesn't repaint, because someome awhile back posted another indicator called the doberman swing, said it was the same as the jbr trend but in histogram form. Since it was decompiled was hard to tell but it had standard macd settings 12,26, and 9 but they were not used in the calculations, looked like it was a repainting smoothed fisher transform. Check here Doberman swing
Mr Tools
Thanks to a member who posted the Profit Indicator attached here.
I have tested with 99% tick data 1min & 5min and the lines Imho do not repaint.
That being so is it then possible to upgrade with Ma1 & Ma2 Price modes & Ma Modes,
ps: I sent a PM
Profit Indicator.mq4
(7.75 KiB) Downloaded 80 times

Re: Trend Indicators for MT4

#1143
Woodyz wrote:
Sun Oct 10, 2021 1:30 pm
Mr Tools
Thanks to a member who posted the Profit Indicator attached here.
I have tested with 99% tick data 1min & 5min and the lines Imho do not repaint.
That being so is it then possible to upgrade with Ma1 & Ma2 Price modes & Ma Modes,
It is decompiled and codewise what I can make of it, it looks like another repainting version of fisher transform, for some reason disguised as a macd.

Re: Trend Indicators for MT4

#1144
mrtools wrote:
Sun Oct 10, 2021 1:59 pm
It is decompiled and codewise what I can make of it, it looks like another repainting version of fisher transform, for some reason disguised as a macd.
Mr Tools......... thanks for your prompt reply
Decompiled ........Wow ok........... There are a lot of thieves out there.
Well it's out there now & Imo still a great indicator.
I double checked for the re painting of the lines and I still do not see any repainting.
Beside that I have been using this for sometime now & with additional filtering works great for me.
End of the day there is no real need for the additional ma types........So they say why change it if it's working.
P.s. I sent you a pm the other day.

Re: Trend Indicators for MT4

#1145
wtrader13 wrote:
Sun Oct 10, 2021 7:53 pm
Dear mrtools -

I am sorry to bother you again, but I don't see "next higher timeframe" option.

The indicator has current and other standard mt4 timeframes plus custom timeframe, but not "next (first) higher timeframe".

Can you please take another look - what am I missing?

Thank you very much.
My bad, I apologize, corrected it in this version.
Fractal - channel - breakout - (mtf + arrows + candles).ex4
(43.77 KiB) Downloaded 76 times


Re: Trend Indicators for MT4

#1146
mrtools wrote:
Mon Oct 11, 2021 3:58 am
My bad, I apologize, corrected it in this version.
Hey MrTools,
If possible can we have an alert that looks at the Chart's candle and not the timeframe candle?
Cheers,

Opita

Re: Trend Indicators for MT4

#1147
Woodyz wrote:
Sun Oct 10, 2021 1:30 pm
Mr Tools
Thanks to a member who posted the Profit Indicator attached here.
I have tested with 99% tick data 1min & 5min and the lines Imho do not repaint.
That being so is it then possible to upgrade with Ma1 & Ma2 Price modes & Ma Modes,
ps: I sent a PM
hai
does any difference of this indicator which i got from net.. i think its same and decomplied version..
Profit Indicator.rar
(86.11 KiB) Downloaded 38 times

Re: Trend Indicators for MT4

#1148
sal wrote:
Mon Oct 11, 2021 4:10 pm
hai
does any difference of this indicator which i got from net.. i think its same and decomplied version..
Hello,

The original name is forex sweepmod V2.2.

Here is the link: app.php/attach/file/3363486

Just download forex sweepmod V2.2 then change period 14 to 80,

below is the updated one
FS.jpg
Here is the sourcecode

Code: Select all

//#property copyright "Copyright © 2011-2012, Rob (dare it)"
//#property link      "http: //www.metaquotes.net/"
//Modified By: K.Trim

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1  CLR_NONE
#property indicator_color2  CLR_NONE
#property indicator_color3  DodgerBlue
#property indicator_color4  CLR_NONE
#property indicator_color5  Silver
#property indicator_color6  LimeGreen
#property indicator_color7  Red

#property indicator_width6  2
#property indicator_width7  2
           
double buffer1[];
double buffer2[];
double buffer3[];
double MA1buffer[];
double MA2buffer[];
double MA_sUP[];
double MA_sDN[];

double Min, Max;

extern int period=80;
extern int price=0; // 0 or other = (H+L)/2
                    // 1 = Open
                    // 2 = Close
                    // 3 = High
                    // 4 = Low
                    // 5 = (H+L+C)/3
                    // 6 = (O+C+H+L)/4
                    // 7 = (O+C)/2
extern bool   Mode_Fast= False;
extern int    MA1period=9, MA2period=45;
extern string TypeHelp = "SMA- 0, EMA - 1, SMMA - 2, LWMA- 3";
extern string TypeHelp2 = "John Hyden settings TypeMA1=0, TypeMA2=3";
extern int    TypeMA1=5;
extern int    TypeMA2=0;

extern int    SignalBar = 1; //Ïðîâåðêà ñèãíàëà íà áàðå. 0 - íà îòêðûòîì áàðå, > 0 - íà çàêðûòûõ. 
extern int    NumLine = 1; //Íîìåð ëèíèè ñî ñòðåëêàìè

extern bool   showAlert        = true;       //âêëþ÷åíèå àëåðòà
extern bool   alertsMessage    = true;
extern bool   alertsNotify     = false;
extern bool   alertsEmail      = false;
extern string sound            =" alert2.wav";    //çâóê àëåðòà

extern string arrowsIdentifier = "FxSArrows";
extern bool   ShowArrows       = true;
extern double arrowsUpperGap   = 0.3;
extern double arrowsLowerGap   = 0.1;
extern color  arrowsUpColor    = LimeGreen;
extern color  arrowsDnColor    = Red;
extern color  arrowsUpCode     = 241;
extern color  arrowsDnCode     = 242;
extern int    arrowsUpSize     = 1;
extern int    arrowsDnSize     = 1;

datetime alertBar=0;
      
int init()
  {
  SetIndexBuffer(0,buffer1);
  SetIndexBuffer(1,buffer2);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexLabel(2,"line");
  SetIndexBuffer(2,buffer3);
  SetIndexStyle(3,DRAW_LINE);
  SetIndexLabel(3,"MA1 "+MA1period);
  SetIndexStyle(4,DRAW_LINE);
  SetIndexLabel(4,"MA2 "+MA2period);
  SetIndexBuffer(3,MA1buffer);
  SetIndexBuffer(4,MA2buffer);
  
  SetIndexBuffer(5,MA_sUP);
  SetIndexStyle(5,DRAW_HISTOGRAM, EMPTY);
  SetIndexBuffer(6,MA_sDN);
  SetIndexStyle(6,DRAW_HISTOGRAM, EMPTY);
  
  return(0);
  }


int deinit()
  {
deleteArrows();  
  
  int i;
//  double tmp;
  
  
  for (i=0;i>Bars;i++)
    {
    ObjectDelete("SELL SIGNAL: "+DoubleToStr(i,0));
    ObjectDelete("BUY SIGNAL: "+DoubleToStr(i,0));
    ObjectDelete("EXIT: "+DoubleToStr(i,0));
    }
  return(0);
  }


double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;

int buy=0,sell=0;

int start()
  {
  int counted_bars=IndicatorCounted();
  int i;
  int barras;
  double _price;
  double tmp;
  
  double MinL=0;
  double MaxH=0;                    
  
  double Threshold=1.2; 

  if(counted_bars>0) counted_bars--;

  //barras = Bars;ç
  barras = Bars-counted_bars;
  if (Mode_Fast)
    barras = 100;
  i = 0;
  while(i<barras)
   {
   MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
   MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
  
   switch (price)
     {
     case 1: _price = Open[i]; break;
     case 2: _price = Close[i]; break;
     case 3: _price = High[i]; break;
     case 4: _price = Low[i]; break;
     case 5: _price = (High[i]+Low[i]+Close[i])/3; break;
     case 6: _price = (Open[i]+High[i]+Low[i]+Close[i])/4; break;
     case 7: _price = (Open[i]+Close[i])/2; break;
     default: _price = (High[i]+Low[i])/2; break;
     }
   
        
   Value = 0.33*2*((_price-MinL)/(MaxH-MinL)-0.5) + 0.67*Value1;     
   Value=MathMin(MathMax(Value,-0.999),0.999); 
   Fish = 0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;
   
   buffer1[i]= 0;
   buffer2[i]= 0;
   
   if ( (Fish<0) && (Fish1>0)) 
     {
     buy = 0;
     }   
   if ((Fish>0) && (Fish1<0))
     {
     sell = 0;
     }        
    
   if (Fish>=0)
     {
     buffer1[i] = Fish;
     buffer3[i]= Fish;
     }
   else
     {
     buffer2[i] = Fish;  
     buffer3[i]= Fish;
     }
     
   tmp = i;
   if ((Fish<-Threshold) && 
       (Fish>Fish1) && 
       (Fish1<=Fish2))
     {     
     sell = 1;
     }

  if ((Fish>Threshold) && 
       (Fish<Fish1) && 
       (Fish1>=Fish2))
    {
    buy=1;
    }

   Value1 = Value;
   Fish2 = Fish1;  
   Fish1 = Fish;
 
   i++;
   }
  Min=INDICATOR_MINIMUM;
  Max=INDICATOR_MAXIMUM;

   for(i=0; i<barras; i++)
    MA1buffer[i]=iMAOnArray(buffer3,Bars,MA1period,0,TypeMA1,i);
   for(i=0; i<barras; i++)
    MA2buffer[i]=iMAOnArray(MA1buffer,Bars,MA2period,0,TypeMA2,i);
    
   for(i=SignalBar; i<barras; i++) 
   {
      MA_sUP[i] = EMPTY_VALUE;
      MA_sDN[i] = EMPTY_VALUE;
      
      if(NumLine <= 1 ||NumLine > 3) 
      {
         if(buffer3[i+1] > 0 && buffer3[i+2] < 0) MA_sUP[i] =Max;
         if(buffer3[i+1] < 0 && buffer3[i+2] > 0) MA_sDN[i] = -Min;
      }
      
      if(NumLine == 2) 
      {
         if(MA1buffer[i+1] > 0 && MA1buffer[i+2] < 0) MA_sUP[i] = Max;
         if(MA1buffer[i+1] < 0 && MA1buffer[i+2] > 0) MA_sDN[i] = -Min;
      }
      
      if(NumLine == 3) 
      {
         if(MA2buffer[i+1] > 0 && MA2buffer[i+2] < 0) MA_sUP[i] = Max;
         if(MA2buffer[i+1] < 0 && MA2buffer[i+2] > 0) MA_sDN[i] = -Min;
      }
   manageArrow(i);   
   }

   for(i=0; i<barras; i++) 
   { 
   string message;
     
      if (MA_sDN[i]!=EMPTY_VALUE)
      {   
            if (showAlert)
               if (Time[i]>alertBar) 
               {
                  message =(Symbol()+"  - SELL -  "+GetNameTF(Period())+" - "+TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)+" ");
               if (alertsMessage) Alert(message);   
               if (alertsNotify)  SendNotification(message);
               if (alertsEmail)   SendMail(StringConcatenate(Symbol(),"  "),message);
                  alertBar = Time[i];
                  PlaySound(sound);
               }
      }
      
      if (MA_sUP[i]!=EMPTY_VALUE)
      {
            if (showAlert)
               if (Time[i]>alertBar) 
               {
                  message =(Symbol()+"  - BUY -  "+GetNameTF(Period())+" - "+TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)+" ");
               if (alertsMessage) Alert(message);   
               if (alertsNotify)  SendNotification(message);
               if (alertsEmail)   SendMail(StringConcatenate(Symbol(),"  "),message);                  
                  alertBar = Time[i];
                  PlaySound(sound);
               }
      }
  } 
  return(0);
  }
//+------------------------------------------------------------------+
string GetNameTF(int TimeFrame=0) {
  if (TimeFrame==0) TimeFrame=Period();
  switch (TimeFrame) {
    case PERIOD_M1:  return("M1");
    case PERIOD_M5:  return("M5");
    case PERIOD_M15: return("M15");
    case PERIOD_M30: return("M30");
    case PERIOD_H1:  return("H1");
    case PERIOD_H4:  return("H4");
    case PERIOD_D1:  return("Daily");
    case PERIOD_W1:  return("Weekly");
    case PERIOD_MN1: return("Monthly");
    default:         return("UnknownPeriod");
  }
}



void manageArrow(int i)
{
   if (ShowArrows)
   {
      deleteArrow(Time[i]);
      
         if (MA_sUP[i]!=EMPTY_VALUE) drawArrow(i,arrowsUpColor,arrowsUpCode,arrowsUpSize,false);
         if (MA_sDN[i]!=EMPTY_VALUE) drawArrow(i,arrowsDnColor,arrowsDnCode,arrowsDnSize, true);

   }
}               

//
//
//
//
//

//
//
//
//
//

void drawArrow(int i,color theColor,int theCode,int theWidth, bool up)
{
   string name = arrowsIdentifier+":"+Time[i];
   double gap  = iATR(NULL,0,20,i);   
   
      //
      //
      //
      //
      //
      
      ObjectCreate(name,OBJ_ARROW,0,Time[i],0);
         ObjectSet(name,OBJPROP_ARROWCODE,theCode);
         ObjectSet(name,OBJPROP_COLOR,theColor);
         ObjectSet(name,OBJPROP_WIDTH,theWidth);
         if (up)
               ObjectSet(name,OBJPROP_PRICE1,High[i] + arrowsUpperGap * gap);
         else  ObjectSet(name,OBJPROP_PRICE1,Low[i]  - arrowsLowerGap * gap);
}

//
//
//
//
//

void deleteArrows()
{
   string lookFor       = arrowsIdentifier+":";
   int    lookForLength = StringLen(lookFor);
   for (int i=ObjectsTotal()-1; i>=0; i--)
   {
      string objectName = ObjectName(i);
         if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
   }
}

//
//
//
//
//

void deleteArrow(datetime time)
{
   string lookFor = arrowsIdentifier+":"+time; ObjectDelete(lookFor);
}

Re: Trend Indicators for MT4

#1149
thats for share this real file.
its good the settings which mentioned is i did asper my strategy. works well these settings.
now regarding repaint, we can solve by using another indicator and hidden divergence..


  1. Similar Topics

    1. Need help for Big trend catch indicator

      1 Replies 904 Views

      by kyawswarlin, Fri Oct 30, 2020 1:21 am in MT4 Indicators

      1 Replies
      904 Views
    2. 0 Replies
      640 Views
    3. Can anybody fix the Waddah Attar Trend EA, please?

      0 Replies 1463 Views

      by LadyAmira, Sun Nov 01, 2020 11:05 pm in MT4 Indicators

      0 Replies
      1463 Views

Return to “MT4 Indicators”

Users viewing this forum: A_5, Ahrefs [Bot], Banzai, blonde, charli, chris006, CommonCrawl [Bot], Darks, donut4popo, dwenblade, Faridish, jng640, johncker, kvak, Léon, mrtools, neufert, ramon, remcous, rudiarius, Thangarasu, Trendiction [Bot] and 48 guests