Hopefully someone can do this - if it were simple it would have already been done.
Could the arrow be attached to the price please?
If it cannot be attached to the price candle high or low can it be changed to a vertical line in place of the arrow?
When the price is at the top or bottom of the chart the arrow is not shown till it is too late.
Thanks
TEAMTRADER
Re: MT4 Indicator requests and ideas
8852mrtools wrote: Sun Dec 08, 2019 12:42 pm
Made this one, instead of the lines in between the absolute strength changed it to the histogram, just an explanation about the histogram when it's green it kinda confirms the abs, and should reflect on the sw display. Made it to shoe bull when abs bulls > bears and the histo showing green and the opposite for bears. The display will show weak,bull/bears when the histo is gray. Anyway seems to not affect the computer resources to bad.
Hy,
I have a problem with this indie, i don't know why have this error, it never happend with other indies.
Re: MT4 Indicator requests and ideas
8853When you download it, make sure the name of the indicator stays the same, it's a code placed in the indicator for renaming protection.Raloo90 wrote: Tue Mar 24, 2020 5:55 am
Hy,
I have a problem with this indie, i don't know why have this error, it never happend with other indies.
Blueberry Markets MetaTrader 4 Terminal 2.png
Re: MT4 Indicator requests and ideas
8854It's very good. I want the mtf version of it too.fgh96 wrote: Mon Mar 23, 2020 3:57 am Dear Mr.Tools
As it's shown in the picture, the indicator's slope has a very good potential in showing trends, also it can be used as a trigger indicator if we make it sensitive enough.
I downloaded it from this link : https://forex-station.com/viewtopic.ph ... 1295358003
but I couldn't find the MTF version. It seems that it is a non-repainting indicator so it is worthwhile if we upgrade it to an MTF version. since the slope is important if we add smoothing feature I think the noises will vanish or will be less. I would be grateful if you check it. thank you very much
Capture.JPG
rsi on heikenashi.mq4
Re: MT4 Indicator requests and ideas
8855dear mrtools
sorry to bother you again but that weird behavior still persist as shown in picture.
would you be so kind to check it
sorry to bother you again but that weird behavior still persist as shown in picture.
would you be so kind to check it
Re: MT4 Indicator requests and ideas
8856Duh, not sure what I was thinking, please try this one.'Sorry about that!!medotrader wrote: Tue Mar 24, 2020 7:21 am dear mrtools
sorry to bother you again but that weird behavior still persist as shown in picture.
would you be so kind to check it
Re: MT4 Indicator requests and ideas
8859Thank you for responding. Here it is.
Code: Select all
#define ASIA "Asia"
#define EUROPE "Europe"
#define AMERICA "America"
#define PACIFIC "Pacific"
extern int Winter = 2;
extern int Summer = 3;
extern int Days = 5;
extern bool ShowDescription = true;
extern bool ShowPips = true;
extern bool AsBackground = true;
extern bool ShowNextSessions = true;
extern int Width = 1;
extern int Style = 0;
extern string AsiaDesc = "Asia";
extern color AsiaColor = Aqua;
extern string AsiaOpen = "00:00";
extern string AsiaClose = "09:00";
extern string EuropeDesc = "Europe";
extern color EuropeColor = DarkKhaki;
extern string EuropeOpen = "06:00";
extern string EuropeClose = "15:00";
extern string AmericaDesc = "America";
extern color AmericaColor = LightSalmon;
extern string AmericaOpen = "13:00";
extern string AmericaClose = "22:00";
extern string PacificDesc = "Pacific";
extern color PacificColor = LightSteelBlue;
extern string PacificOpen = "20:00";
extern string PacificClose = "04:00";
bool bREDRAWN=false;
int iBarsInit=0;
//+------------------------------------------------------------------+
datetime Yesterday(datetime dtDate)
{
dtDate-=dtDate%86400;
int ind1=iBarShift( NULL,0,dtDate,false )+1;
if (ind1<0) return(Time[0]);
if (ind1>Bars) return(Time[0]);
if(dtDate>=TimeCurrent())
return( Time[0] );
else
return( Time[ind1] );
}
//+------------------------------------------------------------------+
datetime Tomorrow(datetime dtDate)
{
datetime dtResult;
dtDate -= dtDate%86400;
dtDate += 86399;
int ind1=iBarShift( NULL,0,dtDate,false )-1;
if (ind1<0) return(dtDate);
if (ind1>Bars) return(dtDate);
if(dtDate>=TimeCurrent())
dtResult=dtDate+1;
else
dtResult=Time[ind1];
if(dtResult==0) dtResult=dtDate+1;
return(dtResult);
}
//+------------------------------------------------------------------+
int DST(datetime dtDate)
{
int iYear;
datetime dtLastSunday,dtMarch,dtOctober;
iYear=TimeYear(dtDate);
for(int i=24; i<=31; i++)
{
dtLastSunday=StrToTime(iYear+"."+"03."+i+" 02:00");
if(TimeDayOfWeek(dtLastSunday)==0) dtMarch=dtLastSunday;
dtLastSunday=StrToTime(iYear+"."+"10."+i+" 02:00");
if(TimeDayOfWeek(dtLastSunday)==0) dtOctober=dtLastSunday;
}
if(dtDate < dtMarch) return(Winter);
else if(dtDate >= dtMarch && dtDate < dtOctober) return(Summer);
else if(dtDate >= dtOctober) return(Winter);
return(0);
}
//+------------------------------------------------------------------+
void DrawSession(string sSessionName,
string sSessionDesc,
datetime dtDayToDraw,
string sSessionOpen,
string sSessionClose,
color clrSessionColor)
{
string sDayToDraw;
datetime dtSessionOpen,dtSessionClose;
double dHigh,dLow;
int iFirstBar,iLastBar,iHourCorrection;
sDayToDraw = TimeToStr(dtDayToDraw,TIME_DATE);
iHourCorrection = DST(dtDayToDraw);
sSessionOpen = TimeToStr( StrToTime(sSessionOpen) + iHourCorrection,TIME_MINUTES );
sSessionClose = TimeToStr( StrToTime(sSessionClose) + iHourCorrection - 1,TIME_MINUTES );
if(StrToTime(sSessionOpen)>=StrToTime(sSessionClose))
{
dtSessionClose=StrToTime(TimeToStr(Tomorrow(dtDayToDraw),TIME_DATE)+" "+sSessionClose);
sDayToDraw = TimeToStr(dtDayToDraw,TIME_DATE);
dtSessionOpen = StrToTime(sDayToDraw+" "+sSessionOpen);
}
else
{
dtSessionOpen = StrToTime(sDayToDraw+" "+sSessionOpen);
dtSessionClose = StrToTime(sDayToDraw+" "+sSessionClose);
}
if(ObjectFind(sSessionName)==-1) ObjectCreate(sSessionName,OBJ_RECTANGLE,0,0,0,0,0);
ObjectSet(sSessionName,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1|
OBJ_PERIOD_M5|
OBJ_PERIOD_M15|
OBJ_PERIOD_M30|
OBJ_PERIOD_H1);
ObjectSet(sSessionName,OBJPROP_TIME1,dtSessionOpen);
ObjectSet(sSessionName,OBJPROP_TIME2,dtSessionClose);
ObjectSet(sSessionName,OBJPROP_COLOR,clrSessionColor);
ObjectSet(sSessionName,OBJPROP_BACK,AsBackground);
ObjectSet(sSessionName,OBJPROP_WIDTH,Width);
ObjectSet(sSessionName,OBJPROP_STYLE,Style);
if(TimeCurrent()>=dtSessionOpen)
{
iLastBar = iBarShift(NULL,0,dtSessionClose,false);
iFirstBar = iBarShift(NULL,0,dtSessionOpen,false);
dHigh = High[ iHighest( NULL,0,MODE_HIGH,iFirstBar-iLastBar+1,iLastBar ) ];
dLow = Low [ iLowest( NULL,0,MODE_LOW, iFirstBar-iLastBar+1,iLastBar ) ];
ObjectSet(sSessionName,OBJPROP_PRICE1,dHigh);
ObjectSet(sSessionName,OBJPROP_PRICE2,dLow);
}
else
{
if(ShowNextSessions)
{
ObjectSet(sSessionName,OBJPROP_PRICE1,WindowPriceMax(0)+100);
ObjectSet(sSessionName,OBJPROP_PRICE2,0);
}
}
if(ShowDescription)
{
if(ShowPips)
{
double dPips;
dPips = (dHigh-dLow)*MathPow(10,Digits);
sSessionDesc = sSessionDesc+" "+DoubleToStr(dPips,0);
}
ObjectSetText(sSessionName,sSessionDesc);
}
}
//+------------------------------------------------------------------+
void DrawAllSessions()
{
datetime dtDayToDraw;
dtDayToDraw=TimeCurrent()+86400;
for(int i=0; i<=Days; i++)
{
DrawSession(PACIFIC+i,
PacificDesc,
dtDayToDraw,
PacificOpen,
PacificClose,
PacificColor);
DrawSession(AMERICA+i,
AmericaDesc,
dtDayToDraw,
AmericaOpen,
AmericaClose,
AmericaColor);
DrawSession(EUROPE+i,
EuropeDesc,
dtDayToDraw,
EuropeOpen,
EuropeClose,
EuropeColor);
DrawSession(ASIA+i,
AsiaDesc,
dtDayToDraw,
AsiaOpen,
AsiaClose,
AsiaColor);
dtDayToDraw=Yesterday(dtDayToDraw);
}
}
//+------------------------------------------------------------------+
int init()
{
Winter *= 3600;
Summer *= 3600;
if(Days==0) Days=1;
if(Style>=5) Style=0;
iBarsInit=Bars;
DrawAllSessions();
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
if(UninitializeReason()!=3)
{
for(int i=0; i<=Days; i++)
{
ObjectDelete(ASIA+i);
ObjectDelete(EUROPE+i);
ObjectDelete(AMERICA+i);
ObjectDelete(PACIFIC+i);
}
}
return(0);
}
//+------------------------------------------------------------------+
int start()
{
if(Period()<PERIOD_H4)
{
int iBarsCur,iBarsDiff;
double dNow;
iBarsCur = Bars;
iBarsDiff = iBarsCur-iBarsInit;
dNow = Hour()+Minute()/100.0;
if(iBarsDiff>1)
{
DrawAllSessions();
iBarsInit=iBarsCur;
return(0);
}
else if(iBarsDiff==1)
{
iBarsInit=iBarsCur;
}
if(dNow>=0.00 && dNow<0.01)
{
if(!bREDRAWN)
{
DrawAllSessions();
bREDRAWN=true;
return(0);
}
}
datetime dtTheTime;
datetime dtDayToDraw;
dtTheTime = TimeCurrent();
dtDayToDraw = dtTheTime;
for(int i=1; i<=2; i++)
{
datetime dtOpen,dtClose;
dtOpen = ObjectGet(PACIFIC+i,OBJPROP_TIME1);
dtClose = ObjectGet(PACIFIC+i,OBJPROP_TIME2);
if(dtTheTime>=dtOpen && dtTheTime<=dtClose)
DrawSession(PACIFIC+i,
PacificDesc,
dtDayToDraw,
PacificOpen,
PacificClose,
PacificColor);
dtOpen = ObjectGet(AMERICA+i,OBJPROP_TIME1);
dtClose = ObjectGet(AMERICA+i,OBJPROP_TIME2);
if(dtTheTime>=dtOpen && dtTheTime<=dtClose)
DrawSession(AMERICA+i,
AmericaDesc,
dtDayToDraw,
AmericaOpen,
AmericaClose,
AmericaColor);
dtOpen = ObjectGet(EUROPE+i,OBJPROP_TIME1);
dtClose = ObjectGet(EUROPE+i,OBJPROP_TIME2);
if(dtTheTime>=dtOpen && dtTheTime<=dtClose)
DrawSession(EUROPE+i,
EuropeDesc,
dtDayToDraw,
EuropeOpen,
EuropeClose,
EuropeColor);
dtOpen = ObjectGet(ASIA+i,OBJPROP_TIME1);
dtClose = ObjectGet(ASIA+i,OBJPROP_TIME2);
if(dtTheTime>=dtOpen && dtTheTime<=dtClose)
DrawSession(ASIA+i,
AsiaDesc,
dtDayToDraw,
AsiaOpen,
AsiaClose,
AsiaColor);
dtDayToDraw=Yesterday(dtDayToDraw);
}
}
return(0);
}
Re: MT4 Indicator requests and ideas
8860
hello,
is there any indicator for mt4 so that I can have different currency indices(synthetic) on the main chart to apply technical analysis on them.
thanks a lot.
is there any indicator for mt4 so that I can have different currency indices(synthetic) on the main chart to apply technical analysis on them.
thanks a lot.