質問編集履歴
2
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
Print(a0,a1,a2,a3,a4,a5); //本来、012345となるはずが、00005と、最後の値しか検索できていない
|
59
|
+
Print(a0,a1,a2,a3,a4,a5); //本来、012345となるはずが、00005と、最初と最後の値しか検索できていない
|
60
60
|
|
61
61
|
|
62
62
|
|
1
コードのミスを修正して、もう少しわかりやすく編集しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,69 +18,83 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
```MQL4
|
22
|
+
|
21
23
|
int OnInit()
|
22
24
|
|
23
25
|
{
|
24
26
|
|
25
27
|
|
26
28
|
|
27
|
-
|
29
|
+
double a[6];
|
28
30
|
|
29
|
-
|
31
|
+
a[0] = High[0];
|
30
32
|
|
31
|
-
a[
|
33
|
+
a[1] = High[1];
|
32
34
|
|
33
|
-
a[
|
35
|
+
a[2] = High[2];
|
34
36
|
|
35
|
-
a[
|
37
|
+
a[3] = High[3];
|
36
38
|
|
37
|
-
a[
|
39
|
+
a[4] = High[4];
|
40
|
+
|
41
|
+
a[5] = High[5];
|
38
42
|
|
39
43
|
|
40
44
|
|
41
|
-
int
|
45
|
+
int a0 = ArrayBsearch(a, High[0], WHOLE_ARRAY, 0, MODE_ASCEND);
|
42
46
|
|
43
|
-
int
|
47
|
+
int a1 = ArrayBsearch(a, High[1], WHOLE_ARRAY, 0, MODE_ASCEND);
|
44
48
|
|
45
|
-
int
|
49
|
+
int a2 = ArrayBsearch(a, High[2], WHOLE_ARRAY, 0, MODE_ASCEND);
|
46
50
|
|
51
|
+
int a3 = ArrayBsearch(a, High[3], WHOLE_ARRAY, 0, MODE_ASCEND);
|
52
|
+
|
47
|
-
int
|
53
|
+
int a4 = ArrayBsearch(a, High[4], WHOLE_ARRAY, 0, MODE_ASCEND);
|
54
|
+
|
55
|
+
int a5 = ArrayBsearch(a, High[5], WHOLE_ARRAY, 0, MODE_ASCEND);
|
48
56
|
|
49
57
|
|
50
58
|
|
51
|
-
Print(
|
59
|
+
Print(a0,a1,a2,a3,a4,a5); //本来、012345となるはずが、00005と、最後の値しか検索できていない
|
52
60
|
|
53
61
|
|
54
62
|
|
55
|
-
//うまくいくパターン
|
56
|
-
|
57
|
-
//全く同じ処理をHigh[]を使わずに実数で処理した場合。これは想定どおりに動きます。
|
63
|
+
//以下は全く同じ処理をHigh[]を使わずに実数で処理した場合。これは想定どおりに動きます。
|
58
64
|
|
59
65
|
|
60
66
|
|
61
|
-
double c[
|
67
|
+
double c[6];
|
62
68
|
|
63
|
-
c[0] = 106.89
|
69
|
+
c[0] = 106.890;
|
64
70
|
|
65
|
-
c[1] = 106.89
|
71
|
+
c[1] = 106.891;
|
66
72
|
|
67
|
-
c[2] = 106.89
|
73
|
+
c[2] = 106.892;
|
68
74
|
|
69
|
-
c[3] = 106.89
|
75
|
+
c[3] = 106.893;
|
76
|
+
|
77
|
+
c[4] = 106.894;
|
78
|
+
|
79
|
+
c[5] = 106.895;
|
70
80
|
|
71
81
|
|
72
82
|
|
73
|
-
int
|
83
|
+
int c0 = ArrayBsearch(c, 106.890, WHOLE_ARRAY, 0, MODE_ASCEND);
|
74
84
|
|
75
|
-
int
|
85
|
+
int c1 = ArrayBsearch(c, 106.891, WHOLE_ARRAY, 0, MODE_ASCEND);
|
76
86
|
|
77
|
-
int
|
87
|
+
int c2 = ArrayBsearch(c, 106.892, WHOLE_ARRAY, 0, MODE_ASCEND);
|
78
88
|
|
89
|
+
int c3 = ArrayBsearch(c, 106.893, WHOLE_ARRAY, 0, MODE_ASCEND);
|
90
|
+
|
79
|
-
int
|
91
|
+
int c4 = ArrayBsearch(c, 106.894, WHOLE_ARRAY, 0, MODE_ASCEND);
|
92
|
+
|
93
|
+
int c5 = ArrayBsearch(c, 106.895, WHOLE_ARRAY, 0, MODE_ASCEND);
|
80
94
|
|
81
95
|
|
82
96
|
|
83
|
-
Print(
|
97
|
+
Print(c0,c1, c2,c3,c4,c5); //こちらは想定通り、012345と表示される
|
84
98
|
|
85
99
|
|
86
100
|
|
@@ -88,7 +102,9 @@
|
|
88
102
|
|
89
103
|
}
|
90
104
|
|
105
|
+
|
91
106
|
|
107
|
+
```
|
92
108
|
|
93
109
|
### 試したこと
|
94
110
|
|