//+------------------------------------------------------------------+
//| MMPRO - Dottor Market.mq4 |
//| D.Market |
//| www.tradersitaliani.com |
//+------------------------------------------------------------------+
#property copyright "D.Market"
#property link "www.tradersitaliani.com"
#property indicator_chart_window
extern int Stop_Loss = 50;
extern double Risk_for_Trade = 1.5;
extern int caratteri = 8;
extern string Nota = "Settaggio_Grafico";
extern color colore = DarkBlue;
extern color colore2 = Red;
extern int angolo = 1;
extern int Altezza = 10;
extern int Scostamento = 0;
extern string Nota_Angolo = "1= AltoDX 2= BassoSX";
extern string Nota_Angolo2 = "3= BassoDX 4= AltoSX";
extern string Non_Lo_Visualizzo = "Usate Altezza e Scostamento!";
double size = 0;
double Risk_for_trade = 0;
double Loss = 0;
double P_L = 0;
int intero = 0;
int decimale = 0;
int centesimale =0;
string symbol;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
symbol = Symbol();
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("MMPRO1");
ObjectDelete("Stop1");
ObjectDelete("Risk1");
ObjectDelete("Loss1");
ObjectDelete("P_L1");
ObjectDelete("Horizzontal Line6");
ObjectDelete("Horizzontal Line5");
ObjectDelete("Title");
ObjectDelete("Link");
ObjectDelete("HL");
ObjectDelete("HL2");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
// Titolo
ObjectCreate("Title", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Title","MMPRO - Dottor Market", caratteri+2, "Verdana", colore);
ObjectSet("Title", OBJPROP_CORNER, angolo);
ObjectSet("Title", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Title", OBJPROP_YDISTANCE, (41+Altezza));
//Line Up
ObjectCreate("Horizzontal Line5", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Horizzontal Line5","------------------------", caratteri, "Verdana", colore2);
ObjectSet("Horizzontal Line5", OBJPROP_CORNER, angolo);
ObjectSet("Horizzontal Line5", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Horizzontal Line5", OBJPROP_YDISTANCE, (50+Altezza));
// SIZE
size = (((AccountEquity()/100)*Risk_for_Trade)/Stop_Loss)/NormalizeDouble(MarketInfo(symbol,MODE_TICKVALUE),2);
size = NormalizeDouble(size,2);
intero = MathFloor(size);
decimale = (size-intero)*100;
ObjectCreate("MMPRO1", OBJ_LABEL, 0, 0, 0);
if(size>=0) ObjectSetText("MMPRO1","SIZE: "+ intero+"."+intero+decimale+" lotti", caratteri+2, "Verdana", colore2);
if(size>=1) ObjectSetText("MMPRO1","SIZE: "+ intero+"."+intero+decimale/10+" lotti", caratteri+2, "Verdana", colore2);
if(size>0.09)ObjectSetText("MMPRO1","SIZE: "+ intero+"."+decimale+" lotti", caratteri+2, "Verdana", colore2);
if(decimale <=9)ObjectSetText("MMPRO1","SIZE: "+ intero+"."+"0"+decimale+" lotti", caratteri+2, "Verdana", colore2);
ObjectSet("MMPRO1", OBJPROP_CORNER, angolo);
ObjectSet("MMPRO1", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("MMPRO1", OBJPROP_YDISTANCE, (56+Altezza));
//Line Down
ObjectCreate("Horizzontal Line6", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Horizzontal Line6","------------------------", caratteri, "Verdana", colore2);
ObjectSet("Horizzontal Line6", OBJPROP_CORNER, angolo);
ObjectSet("Horizzontal Line6", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Horizzontal Line6", OBJPROP_YDISTANCE, (66+Altezza));
// SL
Stop_Loss = Stop_Loss;
ObjectCreate("Stop1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Stop1","SL: "+ Stop_Loss + " pips", caratteri, "Verdana", colore);
ObjectSet("Stop1", OBJPROP_CORNER, angolo);
ObjectSet("Stop1", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Stop1", OBJPROP_YDISTANCE, (73+Altezza));
// RISK
Risk_for_Trade = NormalizeDouble(Risk_for_Trade,2);
intero = MathFloor (Risk_for_Trade);
decimale = (Risk_for_Trade - intero)*100;
ObjectCreate("Risk1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Risk1","RISK: "+ intero +"."+decimale+ " %", caratteri, "Verdana", colore);
ObjectSet("Risk1", OBJPROP_CORNER, angolo);
ObjectSet("Risk1", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Risk1", OBJPROP_YDISTANCE, (83+Altezza));
//LOSS
Loss = NormalizeDouble(size,2)*NormalizeDouble(MarketInfo(symbol,MODE_TICKVALUE),2)* Stop_Loss;
intero = MathFloor (Loss);
decimale = (Loss - intero)*100;
ObjectCreate("Loss1", OBJ_LABEL, 0, 0, 0);
if (decimale >9) ObjectSetText("Loss1","LOSS: "+intero+"."+decimale+" uro", caratteri, "Verdana", colore);
if (decimale <=9) ObjectSetText("Loss1","LOSS: "+intero+"."+"0"+decimale+" uro", caratteri, "Verdana", colore);
ObjectSet("Loss1", OBJPROP_CORNER, angolo);
ObjectSet("Loss1", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Loss1", OBJPROP_YDISTANCE, (92+Altezza));
//Profit/Loss per PIP
P_L= NormalizeDouble(size,2)*NormalizeDouble(MarketInfo(symbol,MODE_TICKVALUE),2);
intero = MathFloor (P_L);
decimale = (P_L - intero)*100;
ObjectCreate("P_L1", OBJ_LABEL, 0, 0, 0);
if (size <= 0.01) ObjectSetText("P_L1","P&L: "+intero+"."+intero+decimale+" pip", caratteri, "Verdana", colore);
if (size > 0.01) ObjectSetText("P_L1","P&L: "+intero+"."+decimale+" pip", caratteri, "Verdana", colore);
if (decimale <=9)ObjectSetText("P_L1","P&L: "+intero+"."+"0"+decimale+" pip", caratteri, "Verdana", colore);
ObjectSet("P_L1", OBJPROP_CORNER, angolo);
ObjectSet("P_L1", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("P_L1", OBJPROP_YDISTANCE, (101+Altezza));
// Link
ObjectCreate("Link", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Link","www.tradersitaliani.com", caratteri+2, "Verdana", colore);
ObjectSet("Link", OBJPROP_CORNER, angolo);
ObjectSet("Link", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("Link", OBJPROP_YDISTANCE, (115+Altezza));
// Horizzontal end
ObjectCreate("HL", OBJ_LABEL, 0, 0, 0);
ObjectSetText("HL","--------------------------------", caratteri, "Verdana", colore);
ObjectSet("HL", OBJPROP_CORNER, angolo);
ObjectSet("HL", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("HL", OBJPROP_YDISTANCE, (110+Altezza));
// Horizzontal end 2
ObjectCreate("HL2", OBJ_LABEL, 0, 0, 0);
ObjectSetText("HL2","--------------------------------", caratteri, "Verdana", colore);
ObjectSet("HL2", OBJPROP_CORNER, angolo);
ObjectSet("HL2", OBJPROP_XDISTANCE, (3+Scostamento));
ObjectSet("HL2", OBJPROP_YDISTANCE, (125+Altezza));
//----
//----
return(0);
}
//+------------------------------------------------------------------+
Comments