Indicators Used
0
Views
0
Downloads
0
Favorites
ToR_1.20_v1
//+------------------------------------------------------------------+
//| Trending or Ranging? |
//| ToR_1.20.mq4 |
//| Copyright © 2008 Tom Balfe |
//| |
//| This indicator shows you whether a pair is trending or ranging. |
//| For trending markets use moving averages and for ranging |
//| market use oscillators. |
//| |
//| Best of luck in all your trades... |
//| Special thanks to whereswaldo! |
//| |
//| Version: 1.12 |
//| |
//| Changelog: |
//| 1.20 - added CCI |
//| 1.12 - made color assignment more efficient, made arrow |
//| assignment more efficient |
//| 1.11 - adjusted fonts, spacing, added ranging, text broken |
//| 1.10 - added ADX increasing and decreasing notice |
//| 1.03 - adjusted spacing, fonts, unreleased |
//| 1.02 - added arrows, ranging icon, no zero space state |
//| for icons/arrows, spacing got messed up, now |
//| fixed |
//| 1.01 - unreleased, Reduced number of colors, functional |
//| 1.0 - unreleased, too many colors for ADX values |
//| |
//| http://www.forex-tsd.com/members/nittany1.html |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007-2008 Tom Balfe"
#property link "http://www.forex-tsd.com/members/nittany1.html"
#property link "redcarsarasota@yahoo.com"
//----
#property indicator_separate_window
//----
int spread;
//---- user selectable stuff
extern int SpreadThreshold =6;
extern string ADX_Settings ="=== ADX Settings ===";
extern int ADX_trend_level =23;
extern int ADX_trend_strong =28;
extern string CCI_Settings ="=== CCI Settings ===";
extern int M1_EntryCCI_Period =14;
extern int M1_TrendCCI_Period =50;
extern int M5_EntryCCI_Period =14;
extern int M5_TrendCCI_Period =34;
extern int M15_EntryCCI_Period =6;
extern int M15_TrendCCI_Period =14;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator short name
IndicatorShortName("ToR 1.20 ");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- need to delete objects should user remove indicator
ObjectsDeleteAll(0,OBJ_LABEL);
ObjectDelete("ToR120-1");ObjectDelete("ToR120-2");ObjectDelete("ToR120-3");
ObjectDelete("ToR120-3a");ObjectDelete("ToR120-4");ObjectDelete("ToR120-4a");
ObjectDelete("ToR120-4d");ObjectDelete("ToR120-5");ObjectDelete("ToR120-6");
ObjectDelete("ToR120-6a");ObjectDelete("ToR120-6d");ObjectDelete("ToR120-7");
ObjectDelete("ToR120-8");ObjectDelete("ToR120-8a");ObjectDelete("ToR120-8d");
ObjectDelete("ToR120-9");ObjectDelete("ToR120-10");ObjectDelete("ToR120-10a");
ObjectDelete("ToR120-10d");ObjectDelete("ToR120-11");ObjectDelete("ToR120-12");
ObjectDelete("ToR120-12a");ObjectDelete("ToR120-13");ObjectDelete("ToR120-12d");
ObjectDelete("ToR120-14");ObjectDelete("ToR120-15");ObjectDelete("ToR120-18d");
ObjectDelete("ToR120-cci1");ObjectDelete("ToR120-cci2");ObjectDelete("ToR120-cci3");
ObjectDelete("ToR120-cci4");ObjectDelete("ToR120-cci1a");ObjectDelete("ToR120-cci1b");
ObjectDelete("ToR120-cci1c");ObjectDelete("ToR120-cci5");ObjectDelete("ToR120-cci6");
ObjectDelete("ToR120-cci7");ObjectDelete("ToR120-cci8");ObjectDelete("ToR120-cci5b");
ObjectDelete("ToR120-cci5c");ObjectDelete("ToR120-cci9");ObjectDelete("ToR120-cci10");
ObjectDelete("ToR120-cci11");ObjectDelete("ToR120-cci12");ObjectDelete("ToR120-9b");
ObjectDelete("ToR120-cci9c");
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//---- let's define some stuff
// M1 ADX data
double adx_m1=iADX(NULL,1,14,PRICE_CLOSE,0,0); // ADX 1 min
double adx_1ago_m1=iADX(NULL,1,14,PRICE_CLOSE,0,1); // ADX 1 min 1 bar ago
double di_p_m1=iADX(NULL,1,14,PRICE_CLOSE,1,0); // DI+ 1 min
double di_m_m1=iADX(NULL,1,14,PRICE_CLOSE,2,0); // DI- 1 min
// M5 ADX data
double adx_m5=iADX(NULL,5,14,PRICE_CLOSE,0,0); // ADX 5 min
double adx_1ago_m5=iADX(NULL,5,14,PRICE_CLOSE,0,1); // ADX 5 min 1 bar ago
double di_p_m5=iADX(NULL,5,14,PRICE_CLOSE,1,0); // DI+ 5 min
double di_m_m5=iADX(NULL,5,14,PRICE_CLOSE,2,0); // DI- 5 min
// M15 ADX data
double adx_m15=iADX(NULL,15,14,PRICE_CLOSE,0,0); // ADX 15 min
double adx_1ago_m15=iADX(NULL,15,14,PRICE_CLOSE,0,1); // ADX 15 min 1 bar ago
double di_p_m15=iADX(NULL,15,14,PRICE_CLOSE,1,0); // DI+ 15 min
double di_m_m15=iADX(NULL,15,14,PRICE_CLOSE,2,0); // DI- 15 min
// M30 ADX data
double adx_m30=iADX(NULL,30,14,PRICE_CLOSE,0,0); // ADX 30 min
double adx_1ago_m30=iADX(NULL,30,14,PRICE_CLOSE,0,1); // ADX 30 min 1 bar ago
double di_p_m30=iADX(NULL,30,14,PRICE_CLOSE,1,0); // DI+ 30 min
double di_m_m30=iADX(NULL,30,14,PRICE_CLOSE,2,0); // DI- 30 min
// h1 ADX data
double adx_h1=iADX(NULL,60,14,PRICE_CLOSE,0,0); // ADX 1 hour
double adx_1ago_h1=iADX(NULL,60,14,PRICE_CLOSE,0,1); // ADX 1 hr 1 bar ago
double di_p_h1=iADX(NULL,60,14,PRICE_CLOSE,1,0); // DI+ 1 hour
double di_m_h1=iADX(NULL,60,14,PRICE_CLOSE,2,0); // DI- 1 hour
// h4 ADX data
double adx_h4=iADX(NULL,240,14,PRICE_CLOSE,0,0); // ADX 4 hour
double adx_1ago_h4=iADX(NULL,240,14,PRICE_CLOSE,0,1); // ADX 4 hr 1 bar ago
double di_p_h4=iADX(NULL,240,14,PRICE_CLOSE,1,0); // DI+ 4 hour
double di_m_h4=iADX(NULL,240,14,PRICE_CLOSE,2,0); // DI- 4 hour
// M1 CCI data
double cci_entry_m1=iCCI(NULL,1,M1_EntryCCI_Period,PRICE_TYPICAL,0);
double cci_trend_m1=iCCI(NULL,1,M1_TrendCCI_Period,PRICE_TYPICAL,0);
double cci_entry_1ago_m1=iCCI(NULL,1,M1_EntryCCI_Period,PRICE_TYPICAL,1);
double cci_trend_1ago_m1=iCCI(NULL,1,M1_TrendCCI_Period,PRICE_TYPICAL,1);
// M5 CCI data
double cci_entry_m5=iCCI(NULL,5,M5_EntryCCI_Period,PRICE_TYPICAL,0);
double cci_trend_m5=iCCI(NULL,5,M5_TrendCCI_Period,PRICE_TYPICAL,0);
double cci_entry_1ago_m5=iCCI(NULL,5,M5_EntryCCI_Period,PRICE_TYPICAL,1);
double cci_trend_1ago_m5=iCCI(NULL,5,M5_TrendCCI_Period,PRICE_TYPICAL,1);
// M15 CCI data
double cci_entry_m15=iCCI(NULL,15,M15_EntryCCI_Period,PRICE_TYPICAL,0);
double cci_trend_m15=iCCI(NULL,15,M15_TrendCCI_Period,PRICE_TYPICAL,0);
double cci_entry_1ago_m15=iCCI(NULL,15,M15_EntryCCI_Period,PRICE_TYPICAL,1);
double cci_trend_1ago_m15=iCCI(NULL,15,M15_TrendCCI_Period,PRICE_TYPICAL,1);
//---- define colors and arrows
color adx_color_m1,adx_color_m5,adx_color_m15,adx_color_m30,adx_color_h1,adx_color_h4,
cci_color_entry_m1,cci_color_entry_m5,cci_color_entry_m15, cci_color_trend_m1,
cci_color_trend_m5,cci_color_trend_m15;
//----
string adx_arrow_m1,adx_arrow_m5,adx_arrow_m15,adx_arrow_m30,adx_arrow_h1,adx_arrow_h4;
//----- Assign colors
adx_color_m1=assigncolor(adx_m1,ADX_trend_level,di_p_m1, di_m_m1);
adx_color_m5=assigncolor(adx_m5,ADX_trend_level,di_p_m5, di_m_m5);
adx_color_m15=assigncolor(adx_m15,ADX_trend_level,di_p_m15, di_m_m15);
adx_color_m30=assigncolor(adx_m30,ADX_trend_level,di_p_m30, di_m_m30);
adx_color_h1=assigncolor(adx_h1,ADX_trend_level,di_p_h1, di_m_h1);
adx_color_h4=assigncolor(adx_h4,ADX_trend_level,di_p_h4, di_m_h4);
//----
cci_color_entry_m1=assignCCIcolor (cci_entry_m1);
cci_color_entry_m5=assignCCIcolor (cci_entry_m5);
cci_color_entry_m15=assignCCIcolor (cci_entry_m15);
cci_color_trend_m1=assignCCIcolor (cci_trend_m1);
cci_color_trend_m5=assignCCIcolor (cci_trend_m5);
cci_color_trend_m15=assignCCIcolor (cci_trend_m15);
//---- feed all the ADX values into strings
string adx_value_m1=adx_m1;
string adx_value_m5=adx_m5;
string adx_value_m15=adx_m15;
string adx_value_m30=adx_m30;
string adx_value_h1=adx_h1;
string adx_value_h4=adx_h4;
//---- feed all the CCI values into strings
string cci_value_entry_m1=cci_entry_m1;
string cci_value_trend_m1=cci_trend_m1;
string cci_value_e1ago_m1=cci_entry_1ago_m1;
string cci_value_t1ago_m1=cci_entry_1ago_m1;
string cci_value_entry_m5=cci_entry_m5;
string cci_value_trend_m5=cci_trend_m5;
string cci_value_e1ago_m5=cci_entry_1ago_m5;
string cci_value_t1ago_m5=cci_entry_1ago_m5;
string cci_value_entry_m15=cci_entry_m15;
string cci_value_trend_m15=cci_trend_m15;
string cci_value_e1ago_m15=cci_entry_1ago_m15;
string cci_value_t1ago_m15=cci_entry_1ago_m15;
//----- Assign Arrows
adx_arrow_m1=AssignArrow(adx_m1,di_p_m1,di_m_m1);
adx_arrow_m5=AssignArrow(adx_m5,di_p_m5,di_m_m5);
adx_arrow_m15= AssignArrow(adx_m15,di_p_m15,di_m_m15);
adx_arrow_m30= AssignArrow(adx_m30,di_p_m30,di_m_m30);
adx_arrow_h1=AssignArrow(adx_h1,di_p_h1,di_m_h1);
adx_arrow_h4=AssignArrow(adx_h4,di_p_h4,di_m_h4);
//---- defines what spread is
spread=MarketInfo(Symbol(),MODE_SPREAD);
//+------------------------------------------------------------------+
//| Spread |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-1", OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-1","SPREAD:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-1", OBJPROP_CORNER, 0);
ObjectSet("ToR120-1", OBJPROP_XDISTANCE, 65);
ObjectSet("ToR120-1", OBJPROP_YDISTANCE, 2);
//---- creates spread number, Lime if less than threshold, Red if above it
ObjectCreate("ToR120-2", OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
if (spread<=SpreadThreshold)
{
ObjectSetText("ToR120-2",DoubleToStr(spread ,0),10, "Arial Bold", Lime);
}
else
ObjectSetText("ToR120-2",DoubleToStr(spread ,0),10, "Arial Bold", Red);
ObjectSet("ToR120-2", OBJPROP_CORNER, 0);
ObjectSet("ToR120-2", OBJPROP_XDISTANCE, 115);
ObjectSet("ToR120-2", OBJPROP_YDISTANCE, 2);
//+------------------------------------------------------------------+
//| 1 MIN |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-3",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-3","1 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-3", OBJPROP_CORNER, 0);
ObjectSet("ToR120-3", OBJPROP_XDISTANCE, 150);
ObjectSet("ToR120-3", OBJPROP_YDISTANCE, 2);
//---- create text "Getting: "
ObjectCreate("ToR120-3a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-3a","CHANGE:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-3a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-3a", OBJPROP_XDISTANCE, 135);
ObjectSet("ToR120-3a", OBJPROP_YDISTANCE, 17);
//---- create 1 min value
ObjectCreate("ToR120-4",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-4", " ADX "+StringSubstr(adx_value_m1,0,5)+" ",9, "Arial Bold",adx_color_m1);
ObjectSet("ToR120-4", OBJPROP_CORNER, 0);
ObjectSet("ToR120-4", OBJPROP_XDISTANCE, 185);
ObjectSet("ToR120-4", OBJPROP_YDISTANCE, 2);
//---- create 1 min arrow, squiggle if ranging
ObjectCreate("ToR120-4a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-4a",adx_arrow_m1,9, "Wingdings",adx_color_m1);
ObjectSet("ToR120-4a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-4a", OBJPROP_XDISTANCE, 250);
ObjectSet("ToR120-4a", OBJPROP_YDISTANCE, 2);
//----create 1 min Strong/Weaker/Ranging
ObjectCreate("ToR120-4d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-4d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-4d", OBJPROP_XDISTANCE, 190);
ObjectSet("ToR120-4d", OBJPROP_YDISTANCE, 17);
if (adx_m1 < ADX_trend_level)
{
ObjectSetText("ToR120-4d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_m1 > adx_1ago_m1)
{
ObjectSetText("ToR120-4d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-4d", " WEAKER ",8, "Arial Bold",Silver);
}
//---- CCI stuff ---- :)~~~
//---- 1st "1 MIN:"
ObjectCreate("ToR120-cci1",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci1","1 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci1", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci1", OBJPROP_XDISTANCE, 125);
ObjectSet("ToR120-cci1", OBJPROP_YDISTANCE, 35);
//---- create 1 min cci entry value
ObjectCreate("ToR120-cci2",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci2", " CCI(" + M1_EntryCCI_Period + ") "+StringSubstr(cci_value_entry_m1,0,6)+" ",9, "Arial Bold",cci_color_entry_m1);
ObjectSet("ToR120-cci2", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci2", OBJPROP_XDISTANCE, 160);
ObjectSet("ToR120-cci2", OBJPROP_YDISTANCE, 35);
//---- 2nd "1 MIN:"
ObjectCreate("ToR120-cci3",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci3","1 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci3", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci3", OBJPROP_XDISTANCE, 250);
ObjectSet("ToR120-cci3", OBJPROP_YDISTANCE, 35);
//---- creat 1 min cci trend value
ObjectCreate("ToR120-cci4",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci4", " CCI(" + M1_TrendCCI_Period + ") "+StringSubstr(cci_value_trend_m1,0,6)+" ",9, "Arial Bold",cci_color_trend_m1);
ObjectSet("ToR120-cci4", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci4", OBJPROP_XDISTANCE, 290);
ObjectSet("ToR120-cci4", OBJPROP_YDISTANCE, 35);
//---- create text "Heading: "
ObjectCreate("ToR120-cci1a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci1a","HEADING:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci1a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci1a", OBJPROP_XDISTANCE, 105);
ObjectSet("ToR120-cci1a", OBJPROP_YDISTANCE, 50);
//---- create 1 min entry CCI direction
ObjectCreate("ToR120-cci1b",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci1b", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci1b", OBJPROP_XDISTANCE, 180);
ObjectSet("ToR120-cci1b", OBJPROP_YDISTANCE, 50);
if (cci_entry_m1 > cci_entry_1ago_m1)
{
ObjectSetText("ToR120-cci1b", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci1b", " DOWNHILL ",8, "Arial Bold",Silver);
}
//---- create 1 min trend cci direction
ObjectCreate("ToR120-cci1c",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci1c", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci1c", OBJPROP_XDISTANCE, 310);
ObjectSet("ToR120-cci1c", OBJPROP_YDISTANCE, 50);
if (cci_trend_m1 > cci_trend_1ago_m1)
{
ObjectSetText("ToR120-cci1c", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci1c", " DOWNHILL ",8, "Arial Bold",Silver);
}
//+------------------------------------------------------------------+
//| 5 MIN |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-5",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-5","5 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-5", OBJPROP_CORNER, 0);
ObjectSet("ToR120-5", OBJPROP_XDISTANCE, 270);
ObjectSet("ToR120-5", OBJPROP_YDISTANCE, 2);
//---- create 5 min value
ObjectCreate("ToR120-6",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-6", " ADX "+StringSubstr(adx_value_m5,0,5)+" ",9, "Arial Bold",adx_color_m5);
ObjectSet("ToR120-6", OBJPROP_CORNER, 0);
ObjectSet("ToR120-6", OBJPROP_XDISTANCE, 305);
ObjectSet("ToR120-6", OBJPROP_YDISTANCE, 2);
//---- create 5 min arrow, squiggle if ranging
ObjectCreate("ToR120-6a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-6a",adx_arrow_m5,9, "Wingdings",adx_color_m5);
ObjectSet("ToR120-6a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-6a", OBJPROP_XDISTANCE, 370);
ObjectSet("ToR120-6a", OBJPROP_YDISTANCE, 2);
//---- create 5 min Strong/Weaker/Ranging
ObjectCreate("ToR120-6d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-6d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-6d", OBJPROP_XDISTANCE, 310);
ObjectSet("ToR120-6d", OBJPROP_YDISTANCE, 17);
if (adx_m5 < ADX_trend_level)
{
ObjectSetText("ToR120-6d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_m5 > adx_1ago_m5)
{
ObjectSetText("ToR120-6d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-6d", " WEAKER ",8, "Arial Bold",Silver);
}
//---- CCI stuff ---- :)~~~
//---- 1st "5 MIN:"
ObjectCreate("ToR120-cci5",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci5","5 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci5", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci5", OBJPROP_XDISTANCE, 380);
ObjectSet("ToR120-cci5", OBJPROP_YDISTANCE, 35);
//---- create 5 min cci entry value
ObjectCreate("ToR120-cci6",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci6", " CCI(" + M5_EntryCCI_Period + ") "+StringSubstr(cci_value_entry_m5,0,6)+" ",9, "Arial Bold",cci_color_entry_m5);
ObjectSet("ToR120-cci6", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci6", OBJPROP_XDISTANCE, 415);
ObjectSet("ToR120-cci6", OBJPROP_YDISTANCE, 35);
//---- 2nd "5 MIN:"
ObjectCreate("ToR120-cci7",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci7","5 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci7", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci7", OBJPROP_XDISTANCE, 510);
ObjectSet("ToR120-cci7", OBJPROP_YDISTANCE, 35);
//---- creat 5 min cci trend value
ObjectCreate("ToR120-cci8",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci8", " CCI(" + M5_TrendCCI_Period + ") "+StringSubstr(cci_value_trend_m5,0,6)+" ",9, "Arial Bold",cci_color_trend_m5);
ObjectSet("ToR120-cci8", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci8", OBJPROP_XDISTANCE, 545);
ObjectSet("ToR120-cci8", OBJPROP_YDISTANCE, 35);
//---- create 5 min entry CCI direction
ObjectCreate("ToR120-cci5b",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci5b", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci5b", OBJPROP_XDISTANCE, 430);
ObjectSet("ToR120-cci5b", OBJPROP_YDISTANCE, 50);
if (cci_entry_m5 > cci_entry_1ago_m5)
{
ObjectSetText("ToR120-cci5b", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci5b", " DOWNHILL ",8, "Arial Bold",Silver);
}
//---- create 5 min trend CCI direction
ObjectCreate("ToR120-cci5c",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci5c", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci5c", OBJPROP_XDISTANCE, 560);
ObjectSet("ToR120-cci5c", OBJPROP_YDISTANCE, 50);
if (cci_trend_m5 > cci_trend_1ago_m5)
{
ObjectSetText("ToR120-cci5c", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci5c", " DOWNHILL ",8, "Arial Bold",Silver);
}
//+------------------------------------------------------------------+
//| 15 MIN |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-7",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-7","15 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-7", OBJPROP_CORNER, 0);
ObjectSet("ToR120-7", OBJPROP_XDISTANCE, 390);
ObjectSet("ToR120-7", OBJPROP_YDISTANCE, 2);
//---- create 15 min value
ObjectCreate("ToR120-8",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-8", " ADX "+StringSubstr(adx_value_m15,0,5)+" ",9, "Arial Bold",adx_color_m15);
ObjectSet("ToR120-8", OBJPROP_CORNER, 0);
ObjectSet("ToR120-8", OBJPROP_XDISTANCE, 430);
ObjectSet("ToR120-8", OBJPROP_YDISTANCE, 2);
//---- create 15 min arrow, squiggle if ranging
ObjectCreate("ToR120-8a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-8a",adx_arrow_m15,9, "Wingdings",adx_color_m15);
ObjectSet("ToR120-8a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-8a", OBJPROP_XDISTANCE, 495);
ObjectSet("ToR120-8a", OBJPROP_YDISTANCE, 2);
//----create 15 min Strong/Weaker/Ranging
ObjectCreate("ToR120-8d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-8d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-8d", OBJPROP_XDISTANCE, 435);
ObjectSet("ToR120-8d", OBJPROP_YDISTANCE, 17);
if (adx_m15 < ADX_trend_level)
{
ObjectSetText("ToR120-8d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_m15 > adx_1ago_m15)
{
ObjectSetText("ToR120-8d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-8d", " WEAKER ",8, "Arial Bold",Silver);
}
//---- CCI stuff ---- :)~~~
//---- 1st "15 MIN:"
ObjectCreate("ToR120-cci9",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci9","15 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci9", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci9", OBJPROP_XDISTANCE, 635);
ObjectSet("ToR120-cci9", OBJPROP_YDISTANCE, 35);
//---- create 15 min cci entry value
ObjectCreate("ToR120-cci10",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci10", " CCI(" + M15_EntryCCI_Period + ") "+StringSubstr(cci_value_entry_m15,0,6)+" ",9, "Arial Bold",cci_color_entry_m15);
ObjectSet("ToR120-cci10", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci10", OBJPROP_XDISTANCE, 675);
ObjectSet("ToR120-cci10", OBJPROP_YDISTANCE, 35);
//---- 2nd "15 MIN:"
ObjectCreate("ToR120-cci11",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci11","15 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-cci11", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci11", OBJPROP_XDISTANCE, 755);
ObjectSet("ToR120-cci11", OBJPROP_YDISTANCE, 35);
//---- create 15 min cci trend value
ObjectCreate("ToR120-cci12",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-cci12", " CCI(" + M15_TrendCCI_Period + ") "+StringSubstr(cci_value_trend_m15,0,6)+" ",9, "Arial Bold",cci_color_trend_m15);
ObjectSet("ToR120-cci12", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci12", OBJPROP_XDISTANCE, 795);
ObjectSet("ToR120-cci12", OBJPROP_YDISTANCE, 35);
//---- create 15 min entry CCI direction
ObjectCreate("ToR120-cci9b",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci9b", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci9b", OBJPROP_XDISTANCE, 690);
ObjectSet("ToR120-cci9b", OBJPROP_YDISTANCE, 50);
if (cci_entry_m15 > cci_entry_1ago_m15)
{
ObjectSetText("ToR120-cci9b", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci9b", " DOWNHILL ",8, "Arial Bold",Silver);
}
//---- create 15 min trend CCI direction
ObjectCreate("ToR120-cci9c",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-cci9c", OBJPROP_CORNER, 0);
ObjectSet("ToR120-cci9c", OBJPROP_XDISTANCE, 810);
ObjectSet("ToR120-cci9c", OBJPROP_YDISTANCE, 50);
if (cci_trend_m15 > cci_trend_1ago_m15)
{
ObjectSetText("ToR120-cci9c", " UPHILL ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-cci9c", " DOWNHILL ",8, "Arial Bold",Silver);
}
//+------------------------------------------------------------------+
//| 30 MIN |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-9",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-9","30 MIN:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-9", OBJPROP_CORNER, 0);
ObjectSet("ToR120-9", OBJPROP_XDISTANCE, 515);
ObjectSet("ToR120-9", OBJPROP_YDISTANCE, 2);
//---- create 30 min value
ObjectCreate("ToR120-10",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-10", " ADX "+StringSubstr(adx_value_m30,0,5)+" ",9, "Arial Bold",adx_color_m30);
ObjectSet("ToR120-10", OBJPROP_CORNER, 0);
ObjectSet("ToR120-10", OBJPROP_XDISTANCE, 555);
ObjectSet("ToR120-10", OBJPROP_YDISTANCE, 2);
//---- create 30 min arrow, squiggle if ranging
ObjectCreate("ToR120-10a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-10a",adx_arrow_m30,9, "Wingdings",adx_color_m30);
ObjectSet("ToR120-10a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-10a", OBJPROP_XDISTANCE, 620);
ObjectSet("ToR120-10a", OBJPROP_YDISTANCE, 2);
//---- create 30 min Strong/Weaker/Ranging
ObjectCreate("ToR120-10d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-10d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-10d", OBJPROP_XDISTANCE, 560);
ObjectSet("ToR120-10d", OBJPROP_YDISTANCE, 17);
if (adx_m30 < ADX_trend_level)
{
ObjectSetText("ToR120-10d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_m30 > adx_1ago_m30)
{
ObjectSetText("ToR120-10d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-10d", " WEAKER ",8, "Arial Bold",Silver);
}
//+------------------------------------------------------------------+
//| 1 HOUR |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-11",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-11","1 HR:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-11", OBJPROP_CORNER, 0);
ObjectSet("ToR120-11", OBJPROP_XDISTANCE, 640);
ObjectSet("ToR120-11", OBJPROP_YDISTANCE, 2);
//---- create 15 min value
ObjectCreate("ToR120-12",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-12", " ADX "+StringSubstr(adx_value_h1,0,5)+" ",9, "Arial Bold",adx_color_h1);
ObjectSet("ToR120-12", OBJPROP_CORNER, 0);
ObjectSet("ToR120-12", OBJPROP_XDISTANCE, 670);
ObjectSet("ToR120-12", OBJPROP_YDISTANCE, 2);
ObjectCreate("ToR120-12a",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-12a",adx_arrow_h1,9, "Wingdings",adx_color_h1);
ObjectSet("ToR120-12a", OBJPROP_CORNER, 0);
ObjectSet("ToR120-12a", OBJPROP_XDISTANCE, 735);
ObjectSet("ToR120-12a", OBJPROP_YDISTANCE, 2);
//----create hour min Strong/Weaker/Ranging
ObjectCreate("ToR120-12d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-12d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-12d", OBJPROP_XDISTANCE, 675);
ObjectSet("ToR120-12d", OBJPROP_YDISTANCE, 17);
if (adx_h1 < ADX_trend_level)
{
ObjectSetText("ToR120-12d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_h1 > adx_1ago_h1)
{
ObjectSetText("ToR120-12d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-12d", " WEAKER ",8, "Arial Bold",Silver);
}
//+------------------------------------------------------------------+
//| 4 HOUR |
//+------------------------------------------------------------------+
ObjectCreate("ToR120-13",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-13","4 HR:", 8, "Arial Bold", LightSteelBlue);
ObjectSet("ToR120-13", OBJPROP_CORNER, 0);
ObjectSet("ToR120-13", OBJPROP_XDISTANCE, 760);
ObjectSet("ToR120-13", OBJPROP_YDISTANCE, 2);
//---- create 15 min value
ObjectCreate("ToR120-14",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-14", " ADX "+StringSubstr(adx_value_h4,0,5)+" ",9, "Arial Bold",adx_color_h4);
ObjectSet("ToR120-14", OBJPROP_CORNER, 0);
ObjectSet("ToR120-14", OBJPROP_XDISTANCE, 790);
ObjectSet("ToR120-14", OBJPROP_YDISTANCE, 2);
ObjectCreate("ToR120-15",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSetText("ToR120-15",adx_arrow_h4,9, "Wingdings",adx_color_h4);
ObjectSet("ToR120-15", OBJPROP_CORNER, 0);
ObjectSet("ToR120-15", OBJPROP_XDISTANCE, 855);
ObjectSet("ToR120-15", OBJPROP_YDISTANCE, 2);
//---- create 4hour min Strong/Weaker/Ranging
ObjectCreate("ToR120-18d",OBJ_LABEL, WindowFind("ToR 1.20 "), 0, 0);
ObjectSet("ToR120-18d", OBJPROP_CORNER, 0);
ObjectSet("ToR120-18d", OBJPROP_XDISTANCE, 795);
ObjectSet("ToR120-18d", OBJPROP_YDISTANCE, 17);
if (adx_h4 < ADX_trend_level)
{
ObjectSetText("ToR120-18d", " RANGING ",8, "Arial Bold",Silver);
}
else if (adx_h4 > adx_1ago_h4)
{
ObjectSetText("ToR120-18d", " STRONGER ",8, "Arial Bold",Silver);
}
else
{
ObjectSetText("ToR120-18d", " WEAKER ",8, "Arial Bold",Silver);
}
//----
return(0);
} //---- end of main loop
//+------------------------------------------------------------------+
//| Common Functions |
//+------------------------------------------------------------------+
color assigncolor(double adx_time,double ADX_trend_level,double di_p_time,double di_m_time)
{
if (adx_time < ADX_trend_level)
{
return(LightSkyBlue);
}
else if (di_p_time > di_m_time)
{
return(Lime);
}
else
{
return(Red);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
color assignCCIcolor(double cci_time)
{
if (cci_time > 0)
{
return(Lime);
}
else
{
return(Red);
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string AssignArrow (double adx_time, double di_p_time, double di_m_time)
{
if ((adx_time < ADX_trend_level) && (adx_time!=0))
{
return("h");
}
else if (adx_time < ADX_trend_strong )
{
if (di_p_time > di_m_time)
{
return("ì");
}
else
{
return("î");
}
} else
{
if (di_p_time > di_m_time)
{
return("é");
}
else
{
return("ê");
}
}
} //End Function
//+------------------------------------------------------------------+
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
---