Price Data Components
Indicators Used
0
Views
0
Downloads
0
Favorites
FXRaiderTable_enM
//+------------------------------------------------------------------+
//| FXRaiderTable.mq4 |
//| Copyright © 2008, AlexKS |
//| |
//+------------------------------------------------------------------+
//mod: FXRaiderTable_enM.mq4
//org: http://codebase.mql4.com/ru/4790
#property copyright "Copyright © 2008, AlexKS"
#property link "alex_ks@bk.ru"
#property indicator_separate_window
double BUFFER[100][100];
double VALUES[100][100];
int TOTAL[100][100];
//ÑÏÈÑÎÊ ÈÍÑÒÐÓÌÅÍÒÎÂ (ÏÐÎÑÒÎ ÄÎÁÀÂÈÒÜ â ÑÏÈÑÎÊ)
string SYMBOLS[] = {"EURUSD","GBPUSD","AUDUSD","NZDUSD","USDCHF","USDJPY","USDCAD"};
string FRAMES[] = {"W","D","H4(9:00)","H4(13:00)","H4(17:00)","H4(21:00)"};
string ARROWS[9];
string short_name = "FXRaiderTable EM";
int init()
{
return(0);
}
int deinit() { return(0); }
int start()
{
ARROWS[0] = "DOWN!!";
ARROWS[1] = "DOWN!";
ARROWS[2] = "DOWN";
ARROWS[3] = "DOWN";
ARROWS[4] = "-";
ARROWS[5] = "UP";
ARROWS[6] = "UP";
ARROWS[7] = "UP!";
ARROWS[8] = "UP!!";
IndicatorShortName(short_name);
//Ðàñ÷åò èíäèêàòîðîâ
Calc();
//Àíàëèç ðåçóëüòàòîâ
Analis();
//Ñîçäàíèå îáúåêòîâ
CreateObjects();
return(0);
}
void Calc()
{
ArrayInitialize(BUFFER,-1);
for(int i=0; i<ArrayRange(SYMBOLS,0); i++)
{
string symbol = SYMBOLS[i];
BUFFER[i][0] = iMA (symbol, PERIOD_W1, 55, 0, 3, PRICE_CLOSE, 0);
BUFFER[i][1] = iMA (symbol, PERIOD_W1, 21, 0, 3, PRICE_CLOSE, 0);
BUFFER[i][2] = iMACD(symbol,PERIOD_W1,8,13,1,PRICE_OPEN,MODE_MAIN,0);
BUFFER[i][3] = iMACD(symbol,PERIOD_W1,8,13,1,PRICE_OPEN,MODE_MAIN,1);
// BUFFER[i][2] = iCustom(symbol, PERIOD_W1, "Awesome", 0, 0);
// BUFFER[i][3] = iCustom(symbol, PERIOD_W1, "Awesome", 0, 1);
BUFFER[i][4] = iMA(symbol,PERIOD_D1,34,0,MODE_LWMA,PRICE_OPEN,0);
BUFFER[i][5] = iMA(symbol,PERIOD_D1,35,2,MODE_LWMA,PRICE_OPEN,0);
// BUFFER[i][4] = iCustom(symbol, PERIOD_D1, "t_ma", 0, 0);
// BUFFER[i][5] = iCustom(symbol, PERIOD_D1, "t_ma", 1, 0);
BUFFER[i][6] = iMACD(symbol,PERIOD_D1,8,13,1,PRICE_OPEN,MODE_MAIN,0);
BUFFER[i][7] = iMACD(symbol,PERIOD_D1,8,13,1,PRICE_OPEN,MODE_MAIN,1);
// BUFFER[i][6] = iCustom(symbol, PERIOD_D1, "Awesome", 0, 0);
// BUFFER[i][7] = iCustom(symbol, PERIOD_D1, "Awesome", 0, 1);
BUFFER[i][8] = iSAR (symbol, PERIOD_D1, 0.02, 0.2, 0);
int shift1, shift2, shift3, shift4;
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 0) { shift1=-1; shift2=-1; shift3=-1; shift4=-1; }
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 4) { shift1= 0; shift2=-1; shift3=-1; shift4=-1; }
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 8) { shift1= 1; shift2= 0; shift3=-1; shift4=-1; }
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 12) { shift1= 2; shift2= 1; shift3= 0; shift4=-1; }
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 16) { shift1= 3; shift2= 2; shift3= 1; shift4= 0; }
if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 20) { shift1= 4; shift2= 3; shift3= 2; shift4= 1; }
if (shift1 > 0)
{
BUFFER[i][9] = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift1);
BUFFER[i][10] = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift1);
// BUFFER[i][9] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift1);
// BUFFER[i][10] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift1);
BUFFER[i][11] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift1);
BUFFER[i][12] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift1);
// BUFFER[i][11] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift1);
// BUFFER[i][12] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift1);
}
if (shift2 > 0)
{
BUFFER[i][13] = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift2);
BUFFER[i][14] = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift2);
BUFFER[i][15] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift2);
BUFFER[i][16] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift2);
// BUFFER[i][13] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift2);
// BUFFER[i][14] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift2);
// BUFFER[i][15] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift2);
// BUFFER[i][16] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift2);
}
if (shift3 > 0)
{
BUFFER[i][17] = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift3);
BUFFER[i][18] = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift3);
BUFFER[i][19] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift3);
BUFFER[i][20] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift3);
// BUFFER[i][17] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift3);
// BUFFER[i][18] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift3);
// BUFFER[i][19] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift3);
// BUFFER[i][20] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift3);
}
if (shift4 > 0)
{
BUFFER[i][21] = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift4);
BUFFER[i][22] = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift4);
BUFFER[i][23] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift4);
BUFFER[i][24] = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift4);
// BUFFER[i][21] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift4);
// BUFFER[i][22] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift4);
// BUFFER[i][23] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift4);
// BUFFER[i][24] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift4);
}
}
}
void Analis()
{
ArrayInitialize(VALUES,0);
for(int i=0; i<ArrayRange(SYMBOLS,0); i++)
{
string symbol = SYMBOLS[i];
//Àíàëèç ÌÀ WEEK
if (BUFFER[i][0]<BUFFER[i][1]) VALUES[i][0] = 2;
if (BUFFER[i][0]>BUFFER[i][1]) VALUES[i][0] = -2;
//Àíàëèç Awesome WEEK
if (BUFFER[i][2]>BUFFER[i][3]) VALUES[i][1] = 1;
if (BUFFER[i][2]<BUFFER[i][3]) VALUES[i][1] = -1;
TOTAL[i][0] = VALUES[i][0]+VALUES[i][1];
//Àíàëèç T_MA DAY
if (BUFFER[i][4]>BUFFER[i][5]) VALUES[i][2] = 2;
if (BUFFER[i][4]<BUFFER[i][5]) VALUES[i][2] = -2;
//Àíàëèç Awesome DAY
if (BUFFER[i][6]>BUFFER[i][7]) VALUES[i][3] = 1;
if (BUFFER[i][6]<BUFFER[i][7]) VALUES[i][3] = -1;
//Àíàëèç PSAR DAY
if (BUFFER[i][8]<iHigh(SYMBOLS[i], PERIOD_D1, 0)) VALUES[i][4] = 1; else VALUES[i][4] = -1;
TOTAL[i][1] = VALUES[i][2]+VALUES[i][4];
if (VALUES[i][2] == 2 || VALUES[i][3] == 1) TOTAL[i][1] = TOTAL[i][1]+VALUES[i][3];
if (VALUES[i][2] == -2 || VALUES[i][3] == -1) TOTAL[i][1] = TOTAL[i][1]+VALUES[i][3];
//Àíàëèç T_MA H4 9:00
if (BUFFER[i][9]>BUFFER[i][10]) VALUES[i][5] = 2;
if (BUFFER[i][9]<BUFFER[i][10]) VALUES[i][5] = -2;
//Àíàëèç Awesome H4 9:00
if (BUFFER[i][11]>BUFFER[i][12]) VALUES[i][6] = 1;
if (BUFFER[i][11]<BUFFER[i][12]) VALUES[i][6] = -1;
TOTAL[i][2] = VALUES[i][5]+VALUES[i][6];
//Àíàëèç T_MA H4 13:00
if (BUFFER[i][13]>BUFFER[i][14]) VALUES[i][7] = 2;
if (BUFFER[i][13]<BUFFER[i][14]) VALUES[i][7] = -2;
//Àíàëèç Awesome H4 13:00
if (BUFFER[i][15]>BUFFER[i][16]) VALUES[i][8] = 1;
if (BUFFER[i][15]<BUFFER[i][16]) VALUES[i][8] = -1;
TOTAL[i][3] = VALUES[i][7]+VALUES[i][8];
//Àíàëèç T_MA H4 17:00
if (BUFFER[i][17]>BUFFER[i][18]) VALUES[i][9] = 2;
if (BUFFER[i][17]<BUFFER[i][18]) VALUES[i][9] = -2;
//Àíàëèç Awesome H4 17:00
if (BUFFER[i][19]>BUFFER[i][20]) VALUES[i][10] = 1;
if (BUFFER[i][19]<BUFFER[i][20]) VALUES[i][10] = -1;
TOTAL[i][4] = VALUES[i][9]+VALUES[i][10];
//Àíàëèç T_MA H4 21:00
if (BUFFER[i][21]>BUFFER[i][22]) VALUES[i][11] = 2;
if (BUFFER[i][21]<BUFFER[i][22]) VALUES[i][11] = -2;
//Àíàëèç Awesome H4 121:00
if (BUFFER[i][23]>BUFFER[i][24]) VALUES[i][12] = 1;
if (BUFFER[i][23]<BUFFER[i][24]) VALUES[i][12] = -1;
TOTAL[i][5] = VALUES[i][11]+VALUES[i][12];
}
}
void CreateObjects()
{
int delta_y = 20;
int delta_x = 60;
int start_pos_x = 70;
int start_pos_y = 30;
ObjectCreate("Info", OBJ_LABEL, WindowFind(short_name), 0, 0);
// ObjectSetText("Info", "{UP} - Ñîâïàäåíèå òðåõ èíäèêàòîðîâ; [UP] - äâóõ; UP - îäíîãî",8,"Verdana", MediumVioletRed);
ObjectSetText("Info", " UP!! - agreement of three indicators; UP! - two; UP - one ",8,"Verdana", MediumVioletRed);
ObjectSet("Info", OBJPROP_XDISTANCE, 0);
ObjectSet("Info", OBJPROP_YDISTANCE, 15);
for(int i=0; i< ArrayRange(SYMBOLS,0); i++)
{
ObjectCreate("Title" + SYMBOLS[i], OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("Title" + SYMBOLS[i], SYMBOLS[i],8,"Verdana", Blue);
ObjectSet("Title" + SYMBOLS[i], OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);
ObjectSet("Title" + SYMBOLS[i], OBJPROP_YDISTANCE, start_pos_y);
for(int j=0;j<6;j++)
{
ObjectCreate("Title" + FRAMES[j], OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("Title" + FRAMES[j], FRAMES[j],8,"Verdana", Blue);
ObjectSet("Title" + FRAMES[j], OBJPROP_XDISTANCE, 5);
ObjectSet("Title" + FRAMES[j], OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);
if (TOTAL[i][j]>0)
{
ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", Lime);
ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);
ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);
}
if (TOTAL[i][j]<0)
{
ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", Red);
ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);
ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);
}
if (TOTAL[i][j]==0)
{
ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", DarkSlateGray);
ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);
ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);
}
}
}
}
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
---