Coding help - page 280

 
rkhan1:
Mladen and Mr Tools

can you help me to make this indy is sep window at bottom.

Trend Magic_mtf.mq4

Thanks

rkhan1

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

Files:
 
rkhan1:
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

Here 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

Files:
 
mrtools:
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.

 
rkhan1:
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

Try this one.

 
Farhad_1:
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.

Files:
wave_pm.png  56 kb
 
mrtools:
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

 

Works Great

Mr Tools

Mr Mladen

I salute both of you guys for your time and expertise

Regards

 
mladen:
You can do somersetting like this :
double minprice = +99999999999;

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);

}

//+------------------------------------------------------------------+