![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Mladen and Mr Tools
can you help me to make this indy is sep window at bottom.
Trend Magic_mtf.mq4
Thanksrkhan1
Here you go : trend_magic_mtf_separate.mq4
hi Mladen
This has 1 trend magic line , can you make it to have the option of 2nd trend magic line in the same indy, like crossover
Thanks
hi Mladen
This has 1 trend magic line , can you make it to have the option of 2nd trend magic line in the same indy, like crossover
ThanksHere you go : trend_magic_mtf_separate_2.mq4
Happy trading
Hi Mladen
There is problem
The first chart , the timeframe of indy as current
The second chart , the timeframe is weekly, but only 1 line
Thanks
Farhad_1, this is a version of the WAVE PM that I have and its working on build 646 for me.
Thank you again Mrtools. I have been reading the book but I can't grasp what WAVE-PM is supposed to show and what the red and the blue indicators are supposed to mean and how they can be used. If you can, please explain it to me.
Many thanks in advance.
Hi Mladen
There is problem
The first chart , the timeframe of indy as current
The second chart , the timeframe is weekly, but only 1 line
ThanksTry this one.
Thank you again Mrtools. I have been reading the book but I can't grasp what WAVE-PM is supposed to show and what the red and the blue indicators are supposed to mean and how they can be used. If you can, please explain it to me. Many thanks in advance.
Farhad_1, from my memory it's not a directional indicator, more of a trend or no trend indicator, if both the slow and fast lines are sloping up then there's a trend, when both lines getting around .7 and .9 area there's a good chance of the trend stalling or ending, and around .3 to .5 area trend either resuming or reversing. Sooo looking at hourly EurUsd now, the slow line is sloping up and the fast line is around .3 and .5 area looking like it wants to slope up as well, so whatever trend is on the hourly will possibly start back up soon.
Farhad_1, from my memory it's not a directional indicator, more of a trend or no trend indicator, if both the slow and fast lines are sloping up then there's a trend, when both lines getting around .7 and .9 area there's a good chance of the trend stalling or ending, and around .3 to .5 area trend either resuming or reversing. Sooo looking at hourly EurUsd now, the slow line is sloping up and the fast line is around .3 and .5 area looking like it wants to slope up as well, so whatever trend is on the hourly will possibly start back up soon.
Thanks Mrtools. It takes a bit to get used to this indicator![](https://c.mql5.com/forextsd/smiles/smile.png)
Works Great
Mr Tools
Mr Mladen
I salute both of you guys for your time and expertise
Regards
You can do somersetting like this :
for(int i =- 0; i<ObjectsTotal(); i++)
{
string name = ObjectName(i);
if (ObjectType(name) == OBJ_HLINE) MathMin(ObjectGet(name,OBJPROP_PRICE1),minprice);
}
Hello once again,
I tried using the above with a comment but it was displaying the Max only. Can you help with maybe two functions . One displaying the immediate lineprice above Bid and the second the line below Bid . Thank you.
Here's the code.
//+------------------------------------------------------------------+
//| SimpleGrid.mq4+
//+------------------------------------------------------------------+
#include
#include
#property strict
// exported variables
extern string GridStartingPrice = " Start Price to Place Lines ";
extern double GSP = 0.0;
extern int GR = 5;
extern double GridStep = 5;
extern color CGL = Gold;
extern color BGL = Green;
extern color SGL = Red;
extern bool ClearAllObjects = False;
// local variables
double PipValue=1; // this variable is here to support 5-digit brokers
bool Terminated = false;
string LF = "\n"; // use this in custom or utility blocks where you need line feeds
int NDigits = 4; // used mostly for NormalizeDouble in Flex type blocks
int ObjCount = 0; // count of all objects created on the chart, allows creation of objects with unique names
int current = 0;
int init()
{
NDigits = Digits;
if (false) ObjectsDeleteAll(); // clear the chart
Comment(""); // clear the chart
return(0);
}
// Expert start
int start()
{
if (Bars < 10)
{
Comment("Not enough bars");
return (0);
}
if (Terminated == true)
{
Comment("EA Terminated.");
return (0);
}
OnEveryTick7();
return (0);
}
void OnEveryTick7()
{
PipValue = 1;
if (NDigits == 3 || NDigits == 5) PipValue = 10;
CentreGridLine();
}
void CentreGridLine()
{ if (ObjectFind("CGL") == (-1) )
{
{
string objName = "CGL" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0],GSP);
ObjectSet(objName, OBJPROP_PRICE1, GSP);
ObjectSet(objName, OBJPROP_COLOR,CGL);
}
TradeLine();
UprBnd();
LwrBnd();
}
}
void TradeLine()
{
int i;
double GridStep1= (GridStep*2);
double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;
double SGSP= (GSP-((GridStep/2)*PipValue*Point));
double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;
double SSGSP= (SGSP+((GridStep*(GR))*PipValue*Point));
{
for(i=0; i<GR;i++)
{
SGL("Sell"+i,BBGSP+GridStep1*i*PipValue*Point);
}
}
{
for(i=0; i<GR;i++)
{
BGL("Buy"+i,SSGSP-GridStep1*i*PipValue*Point);
}
}
}
void BGL(string objName, double price)
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, price);
ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(objName, OBJPROP_WIDTH, 1);
ObjectSet(objName, OBJPROP_COLOR, BGL);
}
void SGL(string objName, double price)
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, price);
ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(objName, OBJPROP_WIDTH, 1);
ObjectSet(objName, OBJPROP_COLOR, SGL);
}
void UprBnd()
{ if (ObjectFind("UPRBND") == (-1) )
{
double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;
double price= (BGSP+((GridStep*(GR))*PipValue*Point)) ;
string objName = "UPRBND" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );
ObjectSet(objName, OBJPROP_PRICE1,price);
ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);
ObjectSet(objName, OBJPROP_WIDTH,3);
}
}
void LwrBnd()
{ if (ObjectFind("LWRBND") == (-1) )
{
double SGSP= (GSP-((GridStep/2)*PipValue*Point));
double price= (SGSP-((GridStep*(GR))*PipValue*Point));
string objName = "LWRBND" ;
ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );
ObjectSet(objName, OBJPROP_PRICE1,price);
ObjectSet(objName, OBJPROP_COLOR, Tomato);
ObjectSet(objName, OBJPROP_WIDTH, 3);
}
}
int deinit()
{
if (ClearAllObjects) ObjectsDeleteAll();
return (0);
}
//+------------------------------------------------------------------+