-
Notifications
You must be signed in to change notification settings - Fork 0
/
basic-robot.mq5
167 lines (135 loc) · 4.45 KB
/
basic-robot.mq5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#include<Trade\Trade.mqh>
#include <Trade\AccountInfo.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
input string Expert_Title ="amoosi"; // Document name
ulong Expert_MagicNumber =06051369; // Magic Number
bool Expert_EveryTick =false; //
CTrade trade;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit()
{
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//Alert(random_signal());
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string trade_or_do_not_trade_that_is_the_question() // OFF or ON?
{
//if spread is small, not bad times, and all other conditional situations are OK, then
//DayOfWeekDescription(STime.day_of_week)
string text="";
switch(mostafa_time().day_of_week) {
case 0:
text= "OFF"; //"Sunday";
break;
case 1:
text= "ON"; //"Monday";
break;
case 2:
text= "ON"; //"Tuesday";
break;
case 3:
text= "ON"; //"Wednesday";
break;
case 4:
text= "ON"; //"Thursday";
break;
case 5:
text= "ON"; //"Friday";
break;
case 6:
text= "OFF"; //"Saturday";
break;
default:
text= "OFF"; //"Another day";
break;
}
//---
return(text);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string random_signal()
{
double random_buy_or_sell = (MathRand()/(32767/2.0));
if(random_buy_or_sell >=1)
return("BUY");
else
return("SELL");
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
MqlDateTime mostafa_time ()
{
// bellow block of code is something for mamaging Broker and Client date and times
MqlDateTime STime;
datetime time_current=TimeCurrent();
datetime time_local=TimeLocal();
TimeToStruct(time_current,STime);
// Print ("Time Current ",TimeToString(time_current,TIME_DATE|TIME_SECONDS)," day of week ",DayOfWeekDescription(STime.day_of_week));
return(STime);
//TimeToStruct(time_local,STime);
// Print ("Time Local ",TimeToString(time_local,TIME_DATE|TIME_SECONDS)," day of week ",DayOfWeekDescription(STime.day_of_week));
// end of date annd time concerns!
}
// string DayOfWeekDescription(const int day_of_week)
//{
// string text="";
// switch(day_of_week) {
// case 0:
// text="Sunday";
// break;
// case 1:
// text="Monday";
// break;
// case 2:
// text="Tuesday";
// break;
// case 3:
// text="Wednesday";
// break;
// case 4:
// text="Thursday";
// break;
// case 5:
// text="Friday";
// break;
// case 6:
// text="Saturday";
// break;
// default:
// text="Another day";
// break;
// }
////---
// return(text);
//}
//
////+------------------------------------------------------------------+