0
Views
0
Downloads
0
Favorites
Di_Napoli_Objectives
//+------------------------------------------------------------------+
//| DI NAPOLI.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
#define FIBNODE_01 0.328
#define FIBNODE_02 0.500
#define FIBNODE_03 0.618
#define FIBNODE_04 1.000
#define FIBNODE_06 1.328
#define FIBNODE_07 1.500
#define FIBNODE_08 1.618
extern string Note00a = " From which bar back start to ";
extern string Note00b = " calculate fractals. If 0, from current.";
extern int FracsFromBar = 61;
extern int FibFractals01 = 121;
extern int FibFractals02 = 221;
extern int FibFractals03 = 321;
extern int FibFractals04 = 455;
extern string Note01 = " T/F Show Comments or Not.";
extern bool CommentsOn = false;
double ArrowDist = 0.0021;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- Averaged Values For all 3 nodes, for all ranges
ObjectCreate("Range01Medium",OBJ_HLINE,0,0,0,0,0);
ObjectSet("Range01Medium", OBJPROP_COLOR, LightBlue);
//ObjectCreate("Arrow01_up" , OBJ_ARROW, 0, 0, 0);
//ObjectCreate("Arrow01_dn" , OBJ_ARROW, 0, 0, 0);
ObjectCreate("Range02Medium",OBJ_HLINE,0,0,0,0,0);
ObjectSet("Range02Medium", OBJPROP_COLOR, SteelBlue);
//ObjectCreate("Arrow02_up" , OBJ_ARROW, 0, 0, 0);
//ObjectCreate("Arrow02_dn" , OBJ_ARROW, 0, 0, 0);
ObjectCreate("Range03Medium",OBJ_HLINE,0,0,0,0,0);
ObjectSet("Range03Medium", OBJPROP_COLOR, RoyalBlue);
//ObjectCreate("Arrow03_up" , OBJ_ARROW, 0, 0, 0);
//ObjectCreate("Arrow03_dn" , OBJ_ARROW, 0, 0, 0);
ObjectCreate("Range04Medium",OBJ_HLINE,0,0,0,0,0);
ObjectSet("Range04Medium", OBJPROP_COLOR, Blue);
//ObjectCreate("Arrow04_up" , OBJ_ARROW, 0, 0, 0);
//ObjectCreate("Arrow04_dn" , OBJ_ARROW, 0, 0, 0);
// op, cop, xop FIRST range
// op dn
ObjectCreate("op01_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op01_dn", OBJPROP_COLOR, Pink);
ObjectSet("op01_dn", OBJPROP_STYLE, STYLE_DOT);
// op up
ObjectCreate("op01_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op01_up", OBJPROP_COLOR, Pink);
ObjectSet("op01_up", OBJPROP_STYLE, STYLE_DOT);
// dn cop
ObjectCreate("cop01_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop01_dn", OBJPROP_COLOR, LightPink);
ObjectSet("cop01_dn", OBJPROP_STYLE, STYLE_DOT);
// up cop
ObjectCreate("cop01_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop01_up", OBJPROP_COLOR, LightPink);
ObjectSet("cop01_up", OBJPROP_STYLE, STYLE_DOT);
// dn xop
ObjectCreate("xop01_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop01_dn", OBJPROP_COLOR, Red);
ObjectSet("xop01_dn", OBJPROP_STYLE, STYLE_DOT);
// up
ObjectCreate("xop01_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop01_up", OBJPROP_COLOR, Red);
ObjectSet("xop01_up", OBJPROP_STYLE, STYLE_DOT);
// op, cop, xop SECOND range
// op dn
ObjectCreate("op02_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op02_dn", OBJPROP_COLOR, Plum);
ObjectSet("op02_dn", OBJPROP_STYLE, STYLE_DASH);
// op up
ObjectCreate("op02_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op02_up", OBJPROP_COLOR, Plum);
ObjectSet("op02_up", OBJPROP_STYLE, STYLE_DASH);
// dn cop
ObjectCreate("cop02_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop02_dn", OBJPROP_COLOR, Salmon);
ObjectSet("cop02_dn", OBJPROP_STYLE, STYLE_DASH);
// up cop
ObjectCreate("cop02_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop02_up", OBJPROP_COLOR, Salmon);
ObjectSet("cop02_up", OBJPROP_STYLE, STYLE_DASH);
// dn xop
ObjectCreate("xop02_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop02_dn", OBJPROP_COLOR, BlueViolet);
ObjectSet("xop02_dn", OBJPROP_STYLE, STYLE_DASH);
// up xop
ObjectCreate("xop02_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop02_up", OBJPROP_COLOR, BlueViolet);
ObjectSet("xop02_up", OBJPROP_STYLE, STYLE_DASH);
// op, cop, xop Third range
// op dn
ObjectCreate("op03_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op03_dn", OBJPROP_COLOR, Tomato);
// op up
ObjectCreate("op03_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("op03_up", OBJPROP_COLOR, Tomato);
// dn cop
ObjectCreate("cop03_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop03_dn", OBJPROP_COLOR, Brown);
// up cop
ObjectCreate("cop03_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("cop03_up", OBJPROP_COLOR, Brown);
// dn xop
ObjectCreate("xop03_dn",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop03_dn", OBJPROP_COLOR, Maroon);
// up xop
ObjectCreate("xop03_up",OBJ_HLINE,0,0,0,0,0);
ObjectSet("xop03_up", OBJPROP_COLOR, Maroon);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Range01Medium"); ObjectDelete("Arrow01_up"); ObjectDelete("Arrow03_up");
ObjectDelete("Range02Medium"); ObjectDelete("Arrow01_dn"); ObjectDelete("Arrow03_dn");
ObjectDelete("Range03Medium"); ObjectDelete("Arrow02_up"); ObjectDelete("Arrow04_up");
ObjectDelete("Range04Medium"); ObjectDelete("Arrow02_dn"); ObjectDelete("Arrow04_dn");
// op, cop, xop FIRST range SECOND THIRD
ObjectDelete("op01_dn"); ObjectDelete("op02_dn"); ObjectDelete("op03_dn");
// op up
ObjectDelete("op01_up"); ObjectDelete("op02_up"); ObjectDelete("op03_up");
// dn cop
ObjectDelete("cop01_dn"); ObjectDelete("cop02_dn"); ObjectDelete("cop03_dn");
// up cop
ObjectDelete("cop01_up"); ObjectDelete("cop02_up"); ObjectDelete("cop03_up");
// dn xop
ObjectDelete("xop01_dn"); ObjectDelete("xop02_dn"); ObjectDelete("xop03_dn");
// up xop
ObjectDelete("xop01_up"); ObjectDelete("xop02_up"); ObjectDelete("xop03_up");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
if(CommentsOn == true)
{
string ScreenText = StringConcatenate("\n ----------------------------",
"\n - Blue Lines Light-Dark",
"\n - are medium values of",
"\n - .328 .500 .618 Fib levels",
"\n ----------------------------",
"\n - Brown, Pink, Red, Violet",
"\n - lines, are Objective Points;",
"\n - doted for shorter range",
"\n - dashed mid range and solid",
"\n - long range taken",
"\n - from fractals specified.",
"\n ----------------------------",
"\n - Red dots shows, which H/L are used.",
"\n - AND REMEMBER TO WATCH FOR REPOS !");
}
else ScreenText = "";
Comment(ScreenText);
int shiftFU1 = iHighest(NULL,0,MODE_UPPER,FibFractals01,FracsFromBar);
int shiftFD1 = iLowest(NULL,0,MODE_LOWER,FibFractals01,FracsFromBar);
double FU1 = High[shiftFU1];
double FD1 = Low[shiftFD1];
double diff01 = FU1 - FD1;
double n11 = diff01*FIBNODE_01 + FD1;
double n12 = diff01*FIBNODE_02 + FD1;
double n13 = diff01*FIBNODE_03 + FD1;
double medium01 = (n11 + n12 + n13)/3;
int shiftFU2 = iHighest(NULL,0,MODE_UPPER,FibFractals02,FracsFromBar);
int shiftFD2 = iLowest(NULL,0,MODE_LOWER,FibFractals02,FracsFromBar);
double FU2 = High[shiftFU2];
double FD2 = Low[shiftFD2];
double diff02 = FU2 - FD2;
double n21 = diff02*FIBNODE_01 + FD2;
double n22 = diff02*FIBNODE_02 + FD2;
double n23 = diff02*FIBNODE_03 + FD2;
double medium02 = (n21 + n22 + n23)/3;
int shiftFU3 = iHighest(NULL,0,MODE_UPPER,FibFractals03,FracsFromBar);
int shiftFD3 = iLowest(NULL,0,MODE_LOWER,FibFractals03,FracsFromBar);
double FU3 = High[shiftFU3];
double FD3 = Low[shiftFD3];
double diff03 = FU3 - FD3;
double n31 = diff03*FIBNODE_01 + FD3;
double n32 = diff03*FIBNODE_01 + FD3;
double n33 = diff03*FIBNODE_01 + FD3;
double medium03 = (n31 + n32 + n33)/3;
int shiftFU4 = iHighest(NULL,0,MODE_UPPER,FibFractals04,FracsFromBar);
int shiftFD4 = iLowest(NULL,0,MODE_LOWER,FibFractals04,FracsFromBar);
double FU4 = High[shiftFU4];
double FD4 = Low[shiftFD4];
double diff04 = FU4 - FD4;
double n41 = diff04*FIBNODE_01 + FD4;
double n42 = diff04*FIBNODE_01 + FD4;
double n43 = diff04*FIBNODE_01 + FD4;
double medium04 = (n41 + n42 + n43)/3;
//---- Calculating Di Napoli OP, COP, XOP:
//-- First Range
double op01_dn = FU2 - FD1 + FU1;
double op01_up = FD2 - FU1 + FD1;
double cop01_dn = FIBNODE_03*(FU2 - FD1) + FU1;
double cop01_up = FIBNODE_03*(FD2 - FU1) + FD1;
double xop01_dn = FIBNODE_08*(FU2 - FD1) + FU1;
double xop01_up = FIBNODE_08*(FD2 - FU1) + FD1;
//-- Second Range
double op02_dn = FU3 - FD2 + FU2;
double op02_up = FD3 - FU2 + FD2;
double cop02_dn = FIBNODE_03*(FU3 - FD2) + FU2;
double cop02_up = FIBNODE_03*(FD3 - FU2) + FD2;
double xop02_dn = FIBNODE_08*(FU3 - FD2) + FU2;
double xop02_up = FIBNODE_08*(FD3 - FU2) + FD2;
//-- Third Range
double op03_dn = FU4 - FD3 + FU3;
double op03_up = FD4 - FU3 + FD3;
double cop03_dn = FIBNODE_03*(FU4 - FD3) + FU3;
double cop03_up = FIBNODE_03*(FD4 - FU3) + FD3;
double xop03_dn = FIBNODE_08*(FU4 - FD3) + FU3;
double xop03_up = FIBNODE_08*(FD4 - FU3) + FD3;
//------ Setting Values For Lines
//-- Averaged Levels Lines
ObjectSet("Range01Medium", OBJPROP_PRICE1, medium01);
/*ObjectSet("Arrow01_up", 14, 159);
ObjectSet("Arrow01_dn", 14, 159);
ObjectSet("Arrow01_up", OBJPROP_TIME1, Time[shiftFU1]);
ObjectSet("Arrow01_dn", OBJPROP_TIME1, Time[shiftFD1]);
ObjectSet("Arrow01_up", OBJPROP_PRICE1, FU1 + ArrowDist);
ObjectSet("Arrow01_dn", OBJPROP_PRICE1, FD1 - ArrowDist);*/
ObjectSet("Range02Medium", OBJPROP_PRICE1, medium02);
/*ObjectSet("Arrow02_up", 14, 159);
ObjectSet("Arrow02_dn", 14, 159);
ObjectSet("Arrow02_up", OBJPROP_TIME1, Time[shiftFU2]);
ObjectSet("Arrow02_dn", OBJPROP_TIME1, Time[shiftFD2]);
ObjectSet("Arrow02_up", OBJPROP_PRICE1, FU2 + ArrowDist);
ObjectSet("Arrow02_dn", OBJPROP_PRICE1, FD2 - ArrowDist);*/
ObjectSet("Range03Medium", OBJPROP_PRICE1, medium03);
/*ObjectSet("Arrow03_up", 14, 159);
ObjectSet("Arrow03_dn", 14, 159);
ObjectSet("Arrow03_up", OBJPROP_TIME1, Time[shiftFU3]);
ObjectSet("Arrow03_dn", OBJPROP_TIME1, Time[shiftFD3]);
ObjectSet("Arrow03_up", OBJPROP_PRICE1, FU3 + ArrowDist);
ObjectSet("Arrow03_dn", OBJPROP_PRICE1, FD3 - ArrowDist);*/
ObjectSet("Range04Medium", OBJPROP_PRICE1, medium04);
/*ObjectSet("Arrow04_up", 14, 159);
ObjectSet("Arrow04_dn", 14, 159);
ObjectSet("Arrow04_up", OBJPROP_TIME1, Time[shiftFU4]);
ObjectSet("Arrow04_dn", OBJPROP_TIME1, Time[shiftFD4]);
ObjectSet("Arrow04_up", OBJPROP_PRICE1, FU4 + ArrowDist);
ObjectSet("Arrow04_dn", OBJPROP_PRICE1, FD4 - ArrowDist);*/
//------ Di Napoli op, cop, xop FIRST range
ObjectSet("op01_dn", OBJPROP_PRICE1, op01_dn);
ObjectSet("op01_up", OBJPROP_PRICE1, op01_up);
ObjectSet("cop01_dn", OBJPROP_PRICE1, cop01_dn);
ObjectSet("cop01_up", OBJPROP_PRICE1, cop01_up);
ObjectSet("xop01_dn", OBJPROP_PRICE1, xop01_dn);
ObjectSet("xop01_up", OBJPROP_PRICE1, xop01_up);
//------ Di Napoli op, cop, xop SECOND range
ObjectSet("op02_dn", OBJPROP_PRICE1, op02_dn);
ObjectSet("op02_up", OBJPROP_PRICE1, op02_up);
ObjectSet("cop02_dn", OBJPROP_PRICE1, cop02_dn);
ObjectSet("cop02_up", OBJPROP_PRICE1, cop02_up);
ObjectSet("xop02_dn", OBJPROP_PRICE1, xop02_dn);
ObjectSet("xop02_up", OBJPROP_PRICE1, xop02_up);
//------ Di Napoli op, cop, xop THIRD range
ObjectSet("op03_dn", OBJPROP_PRICE1, op03_dn);
ObjectSet("op03_up", OBJPROP_PRICE1, op03_up);
ObjectSet("cop03_dn", OBJPROP_PRICE1, cop03_dn);
ObjectSet("cop03_up", OBJPROP_PRICE1, cop03_up);
ObjectSet("xop03_dn", OBJPROP_PRICE1, xop03_dn);
ObjectSet("xop03_up", OBJPROP_PRICE1, xop03_up);
//----
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
---