bleh
[mqlkit.git] / indicators / jmulti_market_sentiment.mq4
blob3f971387c9e499b117b5c7fb6a9596b7d6f00b2b
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
8 \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
28 //--- buffers\r
29 double ExtMapBuffer1[];\r
30 double ExtMapBuffer2[];\r
31 double ExtMapBuffer3[];\r
33 int time_frame;\r
34 //+------------------------------------------------------------------+\r
35 //| Custom indicator initialization function                         |\r
36 //+------------------------------------------------------------------+\r
37 int init()\r
38   {\r
39 //---- indicators\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
46    \r
47    if (Time_Frame_Mins == 0)\r
48      time_frame = Period();\r
49    else\r
50      time_frame = Time_Frame_Mins;\r
51 //----\r
52    return(0);\r
53   }\r
54 //+------------------------------------------------------------------+\r
55 //| Custom indicator deinitialization function                       |\r
56 //+------------------------------------------------------------------+\r
57 int deinit()\r
58   {\r
59 //----\r
60    \r
61 //----\r
62    return(0);\r
63   }\r
64 //+------------------------------------------------------------------+\r
65 //| Custom indicator iteration function                              |\r
66 //+------------------------------------------------------------------+\r
67 int start()\r
68   {\r
69    int counted_bars = IndicatorCounted();\r
70 //----\r
71    int limit = Bars - counted_bars - 1;\r
72    if (limit < 0) return (0);\r
73    \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
77      \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
81      }\r
82      \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
86      }\r
87      \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
91      }\r
92      \r
93      ExtMapBuffer1[i] = push1 + push2 + push3 + push4;\r
94      ExtMapBuffer2[i] = ExtMapBuffer1[i];\r
95      ExtMapBuffer3[i] = filter1 + filter2 + filter3 + filter4;\r
96    }\r
98 //----\r
99    return(0);\r
100   }\r
101 //+------------------------------------------------------------------+