1 //+------------------------------------------------------------------+
\r
2 //| jmarket_sentiment.mq4 |
\r
3 //| Copyright © 2011, Zarko Asenov |
\r
4 //| http://jaltoh.6x.to |
\r
5 //+------------------------------------------------------------------+
\r
6 #property copyright "Copyright © 2011, Zarko Asenov"
\r
7 #property link "http://jaltoh.6x.to"
\r
9 #property indicator_separate_window
\r
10 #property indicator_buffers 3
\r
11 #property indicator_color1 Red
\r
12 #property indicator_color2 OrangeRed
\r
13 #property indicator_color3 Gold
\r
14 #property indicator_width1 1
\r
15 #property indicator_width2 2
\r
16 #property indicator_width3 1
\r
18 extern int MA_Period = 13;
\r
19 extern double MA_Coef = 2.5;
\r
20 extern int Time_Frame_Mins = 0;
\r
21 extern string Symbol2 = "USDCHF";
\r
22 extern double Symbol2_Coef = -0.5;
\r
23 extern string Symbol3 = "USDJPY";
\r
24 extern double Symbol3_Coef = -0.4;
\r
25 extern string Symbol4 = "USDCAD";
\r
26 extern double Symbol4_Coef = -0.25;
\r
29 double ExtMapBuffer1[];
\r
30 double ExtMapBuffer2[];
\r
31 double ExtMapBuffer3[];
\r
34 //+------------------------------------------------------------------+
\r
35 //| Custom indicator initialization function |
\r
36 //+------------------------------------------------------------------+
\r
40 SetIndexStyle(0,DRAW_HISTOGRAM);
\r
41 SetIndexBuffer(0,ExtMapBuffer1);
\r
42 SetIndexStyle(1,DRAW_LINE);
\r
43 SetIndexBuffer(1,ExtMapBuffer2);
\r
44 SetIndexStyle(2,DRAW_LINE, 1, STYLE_DOT);
\r
45 SetIndexBuffer(2,ExtMapBuffer3);
\r
47 if (Time_Frame_Mins == 0)
\r
48 time_frame = Period();
\r
50 time_frame = Time_Frame_Mins;
\r
54 //+------------------------------------------------------------------+
\r
55 //| Custom indicator deinitialization function |
\r
56 //+------------------------------------------------------------------+
\r
64 //+------------------------------------------------------------------+
\r
65 //| Custom indicator iteration function |
\r
66 //+------------------------------------------------------------------+
\r
69 int counted_bars = IndicatorCounted();
\r
71 int limit = Bars - counted_bars - 1;
\r
72 if (limit < 0) return (0);
\r
74 for (int i = limit; i >= 0; i--) {
\r
75 double push1 = iCustom(Symbol(), time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 0, i);
\r
76 double filter1 = iCustom(Symbol(), time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 2, i);
\r
78 if (Symbol2 != "") {
\r
79 double push2 = Symbol2_Coef * iCustom(Symbol2, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 0, i);
\r
80 double filter2 = Symbol2_Coef * iCustom(Symbol2, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 2, i);
\r
83 if (Symbol2 != "") {
\r
84 double push3 = Symbol3_Coef * iCustom(Symbol3, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 0, i);
\r
85 double filter3 = Symbol3_Coef * iCustom(Symbol3, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 2, i);
\r
88 if (Symbol2 != "") {
\r
89 double push4 = Symbol4_Coef * iCustom(Symbol4, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 0, i);
\r
90 double filter4 = Symbol4_Coef * iCustom(Symbol4, time_frame, "jmarket_sentiment", MA_Period, MA_Coef, time_frame, 2, i);
\r
93 ExtMapBuffer1[i] = push1 + push2 + push3 + push4;
\r
94 ExtMapBuffer2[i] = ExtMapBuffer1[i];
\r
95 ExtMapBuffer3[i] = filter1 + filter2 + filter3 + filter4;
\r
101 //+------------------------------------------------------------------+