-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwideshooter.mq5
77 lines (49 loc) · 3.97 KB
/
wideshooter.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
//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2020, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
//-------------------------------------------------------------------+
double High[],Low[];
int bars=1500,KF=1; //
//-------------------------------------------------------------------+
void OnStart()
{
if(_Digits==5 || _Digits==3)
{
KF=10;
}
else
{
KF=1;
}
//
int first_bar=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR);
int vis_bar=(int)ChartGetInteger(0,CHART_VISIBLE_BARS);
Print("Ïî øèðèíå ãðàôèêà îòîáðàæåíî áàðîâ=",vis_bar);
if(first_bar<bars)
{
bars=first_bar;
}
int ch=CopyHigh(_Symbol,_Period,first_bar-bars,bars,High);
int cl=CopyLow(_Symbol,_Period,first_bar-bars,bars,Low);
double min_price=Low[ArrayMinimum(Low,0,bars)];
double max_price=High[ArrayMaximum(High,0,bars)];
ChartSetInteger(0,CHART_SCALEFIX,0,1);
ChartSetDouble(0,CHART_FIXED_MAX,max_price+20*KF*_Point);
ChartSetDouble(0,CHART_FIXED_MIN,min_price-20*KF*_Point);
ChartSetInteger(0,CHART_AUTOSCROLL,false);
MqlDateTime day;
TimeToStruct(TimeCurrent(),day);
string file=_Symbol+(string)day.year+"_"+(string)day.mon+"_"+(string)day.day+"_"+(string)day.hour+"_"+(string)day.min+"_"+(string)day.sec+".png";
int screen_width=1000*bars/vis_bar;
Print("Øèðèíà ñêðèíà=",screen_width);
int scr_height=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
ChartScreenShot(0,file,screen_width,scr_height,ALIGN_LEFT);
if(GetLastError()>0)
{
Print("Error (",GetLastError(),") ");
}
ResetLastError();
}
//+------------------------------------------------------------------+