Price Data Components
Indicators Used
0
Views
0
Downloads
0
Favorites
ATM_TSRdata
//+------------------------------------------------------------------+
//| (T_S_R)-DATA WINDOW#2.mq4 |
//| Copyright © 2006, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property link "Display by cja"
// Thanks to the coders who supplied some of the code
// & Xdard777 for his MM labels code.
#property indicator_separate_window
#property indicator_buffers 3
//---- indicator buffers
#define Daily "Daily"
#define Daily1 "Daily1"
#define Daily2 "Daily2"
#define OP1 "OP1"
color DailyColor =Maroon;
color DailyColor1 =DarkGreen;
color DailyColor2= Lime;//C'0,44,09'
//---- buffers
//---- input parameters
int shift=0,i2=0,WorkTime=0,Periods=0,CurPeriod=0,nTime=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorShortName("ATM_TSRdata");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete(Daily);
ObjectDelete(DailyColor);
ObjectDelete(Daily1);
ObjectDelete(DailyColor1);
ObjectDelete(Daily2);
ObjectDelete(DailyColor2);
ObjectsDeleteAll(0,OBJ_TRENDBYANGLE);
ObjectsDeleteAll(0,OBJ_RECTANGLE);
ObjectsDeleteAll(0, OBJ_TEXT);
ObjectsDeleteAll(0, OBJ_LABEL);
ObjectDelete(OP1);
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
CreateOP();
}
void CreateObj2(string objName2, double start, double end, color clr)
{
ObjectCreate(objName2, OBJ_TRENDBYANGLE, 0, iTime(NULL,1440,0), start, Time[0], end);
// ObjectSet(objName2, OBJPROP_COLOR, clr);
ObjectSet(objName2, OBJPROP_COLOR, Green);
ObjectSet(objName2,OBJPROP_RAY,false);
ObjectSet(objName2,OBJPROP_WIDTH,5);
}
ObjectDelete(OP1);
void CreateOP()
{
ObjectsDeleteAll(0,OBJ_TRENDBYANGLE);
CreateHL();
}
void CreateObj(string objName, double start, double end, color clr)
{
// ObjectCreate(objName, OBJ_RECTANGLE, 0, iTime(NULL,1440,0), start, Time[0], end);
// ObjectSet(objName, OBJPROP_COLOR, clr);
// ObjectCreate(objName, OBJ_RECTANGLE, 0, iTime(NULL,1440,0), 0, Time[0],0);
// ObjectSet(objName, OBJPROP_COLOR, clr);
}
void DeleteObjects()
{
ObjectDelete(Daily);
ObjectDelete(DailyColor);
ObjectDelete(Daily1);
ObjectDelete(DailyColor1);
ObjectDelete(Daily2);
ObjectDelete(DailyColor2);
}
void CreateHL()
{
DeleteObjects();
double HI2 = iHigh(NULL,1440,0);
double LOW2 = iLow(NULL,1440,0);
double HI3 = iHigh(NULL,1440,1);
double LOW3 = iLow(NULL,1440,1);
double HI4 = iHigh(NULL,1440,0);
double LOW4 = iLow(NULL,1440,0);
double HI5 = iHigh(NULL,1440,2);
double LOW5 = iLow(NULL,1440,2);
double HI6 = iHigh(NULL,1440,3);
double LOW6 = iLow(NULL,1440,3);
double HI7 = iHigh(NULL,1440,4);
double LOW7 = iLow(NULL,1440,4);
double HI8 = iHigh(NULL,1440,5);
double LOW8 = iLow(NULL,1440,5);
double HI9 = iHigh(NULL,1440,6);
double LOW9 = iLow(NULL,1440,6);
double HI10 = iHigh(NULL,1440,7);
double LOW10 = iLow(NULL,1440,7);
double HI11 = iHigh(NULL,1440,8);
double LOW11 = iLow(NULL,1440,8);
double HI12 = iHigh(NULL,1440,9);
double LOW12 = iLow(NULL,1440,9);
double HI13 = iHigh(NULL,1440,10);
double LOW13 = iLow(NULL,1440,10);
double HI14 = iHigh(NULL,1440,11);
double LOW14 = iLow(NULL,1440,11);
double HI15 = iHigh(NULL,1440,12);
double LOW15 = iLow(NULL,1440,12);
double HI16 = iHigh(NULL,1440,13);
double LOW16 = iLow(NULL,1440,13);
double HI17 = iHigh(NULL,1440,14);
double LOW17 = iLow(NULL,1440,14);
double HI18 = iHigh(NULL,1440,15);
double LOW18 = iLow(NULL,1440,15);
double HI19 = iHigh(NULL,1440,16);
double LOW19 = iLow(NULL,1440,16);
double HI20 = iHigh(NULL,1440,17);
double LOW20 = iLow(NULL,1440,17);
double HI21 = iHigh(NULL,1440,18);
double LOW21 = iLow(NULL,1440,18);
double HI22 = iHigh(NULL,1440,19);
double LOW22 = iLow(NULL,1440,19);
double HI23 = iHigh(NULL,1440,20);
double LOW23 = iLow(NULL,1440,20);
double OPEN = iOpen(NULL,1440,0);
double CLOSE = iClose(NULL,1440,0);
double ONE = (HI3-LOW3)/2;
double FIVE = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8))/10;
double TEN = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+
(HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13))/20;
double TWENTY = ((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+
(HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13)+
(HI14-LOW14)+(HI15-LOW15)+(HI16-LOW16)+(HI17-LOW17)+(HI18-LOW18)+
(HI19-LOW19)+(HI20-LOW20)+(HI21-LOW21)+(HI22-LOW22)+(HI23-LOW23))/40;
double AV = (ONE+FIVE+TEN+TWENTY)/4;// New Setting AV = (FIVE+TEN+TWENTY)/3;
double HIDaily = iHigh(NULL,1440,0)-(AV);
double LOWDaily = iLow(NULL,1440,0)+(AV);
double HIDaily1 = iHigh(NULL,1440,0);
double LOWDaily1 =iLow(NULL,1440,0);
double HIDaily2 = iHigh(NULL,1440,0)-(AV)*2;
double LOWDaily2 =iLow(NULL,1440,0)+(AV)*2;
double CURRPRICE = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);
//Short Average
if(ObjectFind("HIDaily1") != 0)
{
//ObjectCreate("HIDaily1", OBJ_TEXT, 0, Time[0], HIDaily);
//ObjectSetText("HIDaily1", " SHORT Entry", 9, "Verdana", Black);
}
else
{
//ObjectMove("HIDaily1", 0, Time[0], HIDaily);
}
//High Average
if(ObjectFind("HIDaily2") != 0)
{
//ObjectCreate("HIDaily2", OBJ_TEXT, 0, Time[0], LOWDaily);
//ObjectSetText("HIDaily2", " LONG Entry", 9, "Verdana", Black);
}
else
{
//ObjectMove("HIDaily2", 0, Time[0], LOWDaily);
}
//Today's High
if(ObjectFind("HIDaily3") != 0)
{
//ObjectCreate("HIDaily3", OBJ_TEXT, 0, Time[0], HI4);
//ObjectSetText("HIDaily3", " High ", 9, "Verdana", Black);
}
else
{
//ObjectMove("HIDaily3", 0, Time[0], HI4);
}
//Todays Low
if(ObjectFind("HIDaily4") != 0)
{
//ObjectCreate("HIDaily4", OBJ_TEXT, 0, Time[0], LOW4);
//ObjectSetText("HIDaily4", " Low ", 9, "Verdana", Black);
}
else
{
//ObjectMove("HIDaily4", 0, Time[0], LOW4);
}
//Open
if(ObjectFind("HIDaily5") != 0)
{
//ObjectCreate("HIDaily5", OBJ_TEXT, 0, Time[2], OPEN);
//ObjectSetText("HIDaily5", "Open", 9, "Verdana",Black);
}
else
{
//ObjectMove("HIDaily5", 0, Time[2], OPEN);
}
//Bottom of Daily Range
if(ObjectFind("HIDaily6") != 0)
{
//ObjectCreate("HIDaily6", OBJ_TEXT, 0, Time[8],HIDaily2);
//ObjectSetText("HIDaily6", "Bottom Daily Range", 9, "Verdana",SandyBrown);
}
else
{
//ObjectMove("HIDaily6", 0, Time[8], HIDaily2);
}
//TOP of Daily Range
if(ObjectFind("HIDaily7") != 0)
{
//ObjectCreate("HIDaily7", OBJ_TEXT, 0, Time[7],LOWDaily2);
//ObjectSetText("HIDaily7", "Top Daily Range", 9, "Verdana",SandyBrown);
}
else
{
//ObjectMove("HIDaily7", 0, Time[7], LOWDaily2);
}
{
if( (WorkTime != Time[0]) || (Periods != Period()) ) {
CreateObj(Daily, HIDaily, LOWDaily, DailyColor);
CreateObj(Daily1, HIDaily1, LOWDaily1, DailyColor1);
CreateObj(Daily2, HIDaily2, LOWDaily2, DailyColor2);
CreateObj2(OP1,OPEN,OPEN, Coral);}
ObjectCreate("ATSR2", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR2","50% Avg Daily Range:", 11, "Arial Bold", Black);
ObjectSet("ATSR2", OBJPROP_CORNER, 0);
ObjectSet("ATSR2", OBJPROP_XDISTANCE, 5);
ObjectSet("ATSR2", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR3", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR3",DoubleToStr(AV/Point,0),11, "Arial Bold", Lime);
ObjectSet("ATSR3", OBJPROP_CORNER, 0);
ObjectSet("ATSR3", OBJPROP_XDISTANCE, 160);
ObjectSet("ATSR3", OBJPROP_YDISTANCE, 45);
/*
ObjectCreate("ATSR4", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR4","SHORT Entry:", 11, "Arial Bold", Red);
ObjectSet("ATSR4", OBJPROP_CORNER, 0);
ObjectSet("ATSR4", OBJPROP_XDISTANCE, 340);
ObjectSet("ATSR4", OBJPROP_YDISTANCE, 30);
ObjectCreate("ATSR5", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR5",DoubleToStr(HIDaily,Digits),11, "Arial Bold", Red);
ObjectSet("ATSR5", OBJPROP_CORNER, 0);
ObjectSet("ATSR5", OBJPROP_XDISTANCE, 470);
ObjectSet("ATSR5", OBJPROP_YDISTANCE, 30);
ObjectCreate("ATSR6", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR6","LONG Entry:", 11, "Arial Bold",Green);
ObjectSet("ATSR6", OBJPROP_CORNER, 0);
ObjectSet("ATSR6", OBJPROP_XDISTANCE, 340);
ObjectSet("ATSR6", OBJPROP_YDISTANCE, 15);
ObjectCreate("ATSR7", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR7",DoubleToStr(LOWDaily,Digits),11, "Arial Bold", Green);
ObjectSet("ATSR7", OBJPROP_CORNER, 0);
ObjectSet("ATSR7", OBJPROP_XDISTANCE, 470);
ObjectSet("ATSR7", OBJPROP_YDISTANCE, 15);
*/
ObjectCreate("ATSR8", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR8","Top Daily Average Range:", 11, "Arial Bold", Aqua);
ObjectSet("ATSR8", OBJPROP_CORNER, 0);
ObjectSet("ATSR8", OBJPROP_XDISTANCE, 5);
ObjectSet("ATSR8", OBJPROP_YDISTANCE, 25);
ObjectCreate("ATSR9", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR9",DoubleToStr(LOWDaily2,Digits),11, "Arial Bold", Aqua);
ObjectSet("ATSR9", OBJPROP_CORNER, 0);
ObjectSet("ATSR9", OBJPROP_XDISTANCE, 200);
ObjectSet("ATSR9", OBJPROP_YDISTANCE, 25);
ObjectCreate("ATSR10", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR10","Bottom Average Daily Range:", 11, "Arial Bold", Magenta);
ObjectSet("ATSR10", OBJPROP_CORNER, 0);
ObjectSet("ATSR10", OBJPROP_XDISTANCE, 260);//5
ObjectSet("ATSR10", OBJPROP_YDISTANCE, 25);//30
ObjectCreate("ATSR11", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR11",DoubleToStr(HIDaily2,Digits),11, "Arial Bold", Magenta);
ObjectSet("ATSR11", OBJPROP_CORNER, 0);
ObjectSet("ATSR11", OBJPROP_XDISTANCE, 475);//240
ObjectSet("aTSR11", OBJPROP_YDISTANCE, 25);//30
ObjectCreate("ATSR12", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR12","Pips From HI to LOW:", 11, "Arial Bold", Black);
ObjectSet("ATSR12", OBJPROP_CORNER, 0);
ObjectSet("ATSR12", OBJPROP_XDISTANCE, 320);
ObjectSet("ATSR12", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR13", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR13",DoubleToStr((HI2-LOW2)/Point,0),11, "Arial Bold", Lime);
ObjectSet("ATSR13", OBJPROP_CORNER, 0);
ObjectSet("ATSR13", OBJPROP_XDISTANCE, 470);
ObjectSet("ATSR13", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR14", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR14","OPEN:",11, "Arial Bold", Black);
ObjectSet("ATSR14", OBJPROP_CORNER, 0);
ObjectSet("ATSR14", OBJPROP_XDISTANCE, 200);
ObjectSet("ATSR14", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR15", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR15",DoubleToStr(OPEN,Digits),11, "Arial Bold", Lime);
ObjectSet("ATSR15", OBJPROP_CORNER, 0);
ObjectSet("ATSR15", OBJPROP_XDISTANCE, 250);
ObjectSet("ATSR15", OBJPROP_YDISTANCE, 45);
/*
ObjectCreate("ATSR16", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR16","Profit LONG:", 11, "Arial Bold", Green);
ObjectSet("ATSR16", OBJPROP_CORNER, 0);
ObjectSet("ATSR16", OBJPROP_XDISTANCE, 570);
ObjectSet("ATSR16", OBJPROP_YDISTANCE, 15);
ObjectCreate("ATSR17", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR17",DoubleToStr(CURRPRICE-LOWDaily ,Digits),11, "Arial Bold", Green);
ObjectSet("ATSR17", OBJPROP_CORNER, 0);
ObjectSet("ATSR17", OBJPROP_XDISTANCE, 690);
ObjectSet("ATSR17", OBJPROP_YDISTANCE, 15);
ObjectCreate("ATSR18", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR18","Profit SHORT:", 11, "Arial Bold", Red);
ObjectSet("ATSR18", OBJPROP_CORNER, 0);
ObjectSet("ATSR18", OBJPROP_XDISTANCE, 570);
ObjectSet("ATSR18", OBJPROP_YDISTANCE, 30);
ObjectCreate("ATSR19", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR19",DoubleToStr(HIDaily-CURRPRICE,Digits),11, "Arial Bold", Red);
ObjectSet("ATSR19", OBJPROP_CORNER, 0);
ObjectSet("ATSR19", OBJPROP_XDISTANCE, 690);
ObjectSet("ATSR19", OBJPROP_YDISTANCE, 30);
*/
ObjectCreate("ATSR19", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR19","Current Price:", 11, "Arial Bold", Yellow);
ObjectSet("ATSR19", OBJPROP_CORNER, 0);
ObjectSet("ATSR19", OBJPROP_XDISTANCE, 550);
ObjectSet("ATSR19", OBJPROP_YDISTANCE, 25);
ObjectCreate("ATSR20", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR20",DoubleToStr(CURRPRICE,Digits),11, "Arial Bold", Yellow);
ObjectSet("ATSR20", OBJPROP_CORNER, 0);
ObjectSet("ATSR20", OBJPROP_XDISTANCE, 660);
ObjectSet("ATSR20", OBJPROP_YDISTANCE, 25);
ObjectCreate("ATSR21", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR21","Daily HI:", 11, "Arial Bold", Black);
ObjectSet("ATSR21", OBJPROP_CORNER, 0);
ObjectSet("ATSR21", OBJPROP_XDISTANCE, 495);
ObjectSet("ATSR21", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR22", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR22",DoubleToStr(HI2,Digits),11, "Arial Bold", Lime);
ObjectSet("ATSR22", OBJPROP_CORNER, 0);
ObjectSet("ATSR22", OBJPROP_XDISTANCE, 557);
ObjectSet("ATSR22", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR23", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR23","Daily LOW:", 11, "Arial Bold", Black);
ObjectSet("ATSR23", OBJPROP_CORNER, 0);
ObjectSet("ATSR23", OBJPROP_XDISTANCE, 630);
ObjectSet("ATSR23", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR24", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR24",DoubleToStr(LOW2,Digits),11, "Arial Bold", Lime);
ObjectSet("ATSR24", OBJPROP_CORNER, 0);
ObjectSet("ATSR24", OBJPROP_XDISTANCE, 705);
ObjectSet("ATSR24", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR25", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR25","Local Time:", 11, "Arial Bold", Black);
ObjectSet("ATSR25", OBJPROP_CORNER, 0);
ObjectSet("ATSR25", OBJPROP_XDISTANCE, 785);
ObjectSet("ATSR25", OBJPROP_YDISTANCE, 30);
ObjectCreate("ATSR26", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR26",TimeToStr(LocalTime(),Digits+2),11, "Arial Bold", Lime);
ObjectSet("ATSR26", OBJPROP_CORNER, 0);
ObjectSet("ATSR26", OBJPROP_XDISTANCE, 880);
ObjectSet("ATSR26", OBJPROP_YDISTANCE, 30);
ObjectCreate("ATSR27", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR27","Sever Time:", 11, "Arial Bold", Black);
ObjectSet("ATSR27", OBJPROP_CORNER, 0);
ObjectSet("ATSR27", OBJPROP_XDISTANCE, 785);
ObjectSet("ATSR27", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR28", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR28",TimeToStr(CurTime(),Digits+2),11, "Arial Bold", Lime);
ObjectSet("ATSR28", OBJPROP_CORNER, 0);
ObjectSet("ATSR28", OBJPROP_XDISTANCE, 880);
ObjectSet("ATSR28", OBJPROP_YDISTANCE, 45);
ObjectCreate("ATSR30", OBJ_LABEL, WindowFind("ATM_TSRdata"), 0, 0);
ObjectSetText("ATSR30","Original Indicator & Display by cja", 8, "Arial", DarkGray);
ObjectSet("ATSR30", OBJPROP_CORNER, 0);
ObjectSet("ATSR30", OBJPROP_XDISTANCE, 100);
ObjectSet("ATSR30", OBJPROP_YDISTANCE, 5);
}
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
---