0
Views
0
Downloads
0
Favorites
PS_Calculator
//+------------------------------------------------------------------+
//| PS_calculator.mq3 |
//| Copyright © 2007, itLogics itlogics@itlogics.eu |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, itLogics"
#property link "http://www.powertradingfx.com"
#property indicator_separate_window
extern double percent_risk = 2;
extern int stoploss_1 = 10;
extern int stoploss_2 = 20;
extern int stoploss_3 = 30;
extern int stoploss_4 = 40;
extern color description_color = Black;
extern bool show_spread = true;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int spread=MarketInfo(Symbol(),MODE_SPREAD);
double equity=AccountEquity( );
double risk;
double lotsize1;
double lotsize2;
double lotsize3;
double lotsize4;
double tickvalue=MarketInfo(Symbol(),MODE_TICKVALUE);
double pipvalue1;
double pipvalue2;
double pipvalue3;
double pipvalue4;
double risk1;
double risk2;
double risk3;
double risk4;
risk=percent_risk/100;
lotsize1=NormalizeDouble(equity*risk/stoploss_1/tickvalue,2);
lotsize2=NormalizeDouble(equity*risk/stoploss_2/tickvalue,2);
lotsize3=NormalizeDouble(equity*risk/stoploss_3/tickvalue,2);
lotsize4=NormalizeDouble(equity*risk/stoploss_4/tickvalue,2);
pipvalue1=(lotsize1*tickvalue);
pipvalue2=(lotsize2*tickvalue);
pipvalue3=(lotsize3*tickvalue);
pipvalue4=(lotsize4*tickvalue);
risk1=pipvalue1*stoploss_1/equity*100;
risk2=pipvalue2*stoploss_2/equity*100;
risk3=pipvalue3*stoploss_3/equity*100;
risk4=pipvalue4*stoploss_4/equity*100;
ObjectCreate("SLdesc", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("SLdesc","Stop Loss",10, "Arial Bold", description_color);
ObjectSet("SLdesc", OBJPROP_CORNER, 0);
ObjectSet("SLdesc", OBJPROP_XDISTANCE, 200);
ObjectSet("SLdesc", OBJPROP_YDISTANCE, 2);
ObjectCreate("LSdesc", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("LSdesc","Lot Size",10, "Arial Bold", description_color);
ObjectSet("LSdesc", OBJPROP_CORNER, 0);
ObjectSet("LSdesc", OBJPROP_XDISTANCE, 290);
ObjectSet("LSdesc", OBJPROP_YDISTANCE, 2);
ObjectCreate("PVdesc", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("PVdesc","Pip Value",10, "Arial Bold", description_color);
ObjectSet("PVdesc", OBJPROP_CORNER, 0);
ObjectSet("PVdesc", OBJPROP_XDISTANCE, 370);
ObjectSet("PVdesc", OBJPROP_YDISTANCE, 2);
ObjectCreate("RRdesc", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("RRdesc","Real Risk",10, "Arial Bold", description_color);
ObjectSet("RRdesc", OBJPROP_CORNER, 0);
ObjectSet("RRdesc", OBJPROP_XDISTANCE, 455);
ObjectSet("RRdesc", OBJPROP_YDISTANCE, 2);
ObjectCreate("stoploss_1", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("stoploss_1"," "+stoploss_1,10, "Arial Bold", Red);
ObjectSet("stoploss_1", OBJPROP_CORNER, 0);
ObjectSet("stoploss_1", OBJPROP_XDISTANCE, 218);
ObjectSet("stoploss_1", OBJPROP_YDISTANCE, 15);
ObjectCreate("stoploss_2", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("stoploss_2"," "+stoploss_2,10, "Arial Bold", Red);
ObjectSet("stoploss_2", OBJPROP_CORNER, 0);
ObjectSet("stoploss_2", OBJPROP_XDISTANCE, 218);
ObjectSet("stoploss_2", OBJPROP_YDISTANCE, 28);
ObjectCreate("stoploss_3", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("stoploss_3"," "+stoploss_3,10, "Arial Bold", Red);
ObjectSet("stoploss_3", OBJPROP_CORNER, 0);
ObjectSet("stoploss_3", OBJPROP_XDISTANCE, 218);
ObjectSet("stoploss_3", OBJPROP_YDISTANCE, 41);
ObjectCreate("stoploss_4", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("stoploss_4"," "+stoploss_4,10, "Arial Bold", Red);
ObjectSet("stoploss_4", OBJPROP_CORNER, 0);
ObjectSet("stoploss_4", OBJPROP_XDISTANCE, 218);
ObjectSet("stoploss_4", OBJPROP_YDISTANCE, 54);
ObjectCreate("lotsize1", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("lotsize1"," "+DoubleToStr(lotsize1,2),10, "Arial Bold", Blue);
ObjectSet("lotsize1", OBJPROP_CORNER, 0);
ObjectSet("lotsize1", OBJPROP_XDISTANCE, 295);
ObjectSet("lotsize1", OBJPROP_YDISTANCE, 15);
ObjectCreate("lotsize2", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("lotsize2"," "+DoubleToStr(lotsize2,2),10, "Arial Bold", Blue);
ObjectSet("lotsize2", OBJPROP_CORNER, 0);
ObjectSet("lotsize2", OBJPROP_XDISTANCE, 295);
ObjectSet("lotsize2", OBJPROP_YDISTANCE, 28);
ObjectCreate("lotsize3", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("lotsize3"," "+DoubleToStr(lotsize3,2),10, "Arial Bold", Blue);
ObjectSet("lotsize3", OBJPROP_CORNER, 0);
ObjectSet("lotsize3", OBJPROP_XDISTANCE, 295);
ObjectSet("lotsize3", OBJPROP_YDISTANCE, 41);
ObjectCreate("lotsize4", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("lotsize4"," "+DoubleToStr(lotsize4,2),10, "Arial Bold", Blue);
ObjectSet("lotsize4", OBJPROP_CORNER, 0);
ObjectSet("lotsize4", OBJPROP_XDISTANCE, 295);
ObjectSet("lotsize4", OBJPROP_YDISTANCE, 54);
ObjectCreate("pipvalue1", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("pipvalue1"," "+DoubleToStr(pipvalue1,2),10, "Arial Bold", Blue);
ObjectSet("pipvalue1", OBJPROP_CORNER, 0);
ObjectSet("pipvalue1", OBJPROP_XDISTANCE, 380);
ObjectSet("pipvalue1", OBJPROP_YDISTANCE, 15);
ObjectCreate("pipvalue2", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("pipvalue2"," "+DoubleToStr(pipvalue2,2),10, "Arial Bold", Blue);
ObjectSet("pipvalue2", OBJPROP_CORNER, 0);
ObjectSet("pipvalue2", OBJPROP_XDISTANCE, 380);
ObjectSet("pipvalue2", OBJPROP_YDISTANCE, 28);
ObjectCreate("pipvalue3", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("pipvalue3"," "+DoubleToStr(pipvalue3,2),10, "Arial Bold", Blue);
ObjectSet("pipvalue3", OBJPROP_CORNER, 0);
ObjectSet("pipvalue3", OBJPROP_XDISTANCE, 380);
ObjectSet("pipvalue3", OBJPROP_YDISTANCE, 41);
ObjectCreate("pipvalue4", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("pipvalue4"," "+DoubleToStr(pipvalue4,2),10, "Arial Bold", Blue);
ObjectSet("pipvalue4", OBJPROP_CORNER, 0);
ObjectSet("pipvalue4", OBJPROP_XDISTANCE, 380);
ObjectSet("pipvalue4", OBJPROP_YDISTANCE, 54);
ObjectCreate("risk1", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("risk1"," "+DoubleToStr(risk1,2),10, "Arial Bold", Blue);
ObjectSet("risk1", OBJPROP_CORNER, 0);
ObjectSet("risk1", OBJPROP_XDISTANCE, 465);
ObjectSet("risk1", OBJPROP_YDISTANCE, 15);
ObjectCreate("risk2", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("risk2"," "+DoubleToStr(risk2,2),10, "Arial Bold", Blue);
ObjectSet("risk2", OBJPROP_CORNER, 0);
ObjectSet("risk2", OBJPROP_XDISTANCE, 465);
ObjectSet("risk2", OBJPROP_YDISTANCE, 28);
ObjectCreate("risk3", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("risk3"," "+DoubleToStr(risk3,2),10, "Arial Bold", Blue);
ObjectSet("risk3", OBJPROP_CORNER, 0);
ObjectSet("risk3", OBJPROP_XDISTANCE, 465);
ObjectSet("risk3", OBJPROP_YDISTANCE, 41);
ObjectCreate("risk4", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("risk4"," "+DoubleToStr(risk4,2),10, "Arial Bold", Blue);
ObjectSet("risk4", OBJPROP_CORNER, 0);
ObjectSet("risk4", OBJPROP_XDISTANCE, 465);
ObjectSet("risk4", OBJPROP_YDISTANCE, 54);
ObjectCreate("symbol", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("symbol",Symbol(),15, "Arial Bold", description_color);
ObjectSet("symbol", OBJPROP_CORNER, 0);
ObjectSet("symbol", OBJPROP_XDISTANCE, 20);
ObjectSet("symbol", OBJPROP_YDISTANCE, 14);
if (show_spread)
{
ObjectCreate("spreaddesc", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("spreaddesc","Spread:",10, "Arial Bold", description_color);
ObjectSet("spreaddesc", OBJPROP_CORNER, 0);
ObjectSet("spreaddesc", OBJPROP_XDISTANCE, 60);
ObjectSet("spreaddesc", OBJPROP_YDISTANCE, 40);
ObjectCreate("spread", OBJ_LABEL, WindowFind("PS_Calculator"), 0, 0);
ObjectSetText("spread"," "+spread,30, "Arial Bold", Green);
ObjectSet("spread", OBJPROP_CORNER, 0);
ObjectSet("spread", OBJPROP_XDISTANCE, 100);
ObjectSet("spread", OBJPROP_YDISTANCE, 22);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---