mirror of
https://gitee.com/fasiondog/hikyuu.git
synced 2024-12-02 11:58:21 +08:00
fixed LLV/LLVBARS/HHVBARS
This commit is contained in:
parent
33fc74643d
commit
8389773f77
@ -63,29 +63,26 @@ void IHhvbars::_calculate(const Indicator& ind) {
|
||||
_set(i - pre_pos, i);
|
||||
}
|
||||
|
||||
for (size_t i = start_pos; i < total - 1; i++) {
|
||||
for (size_t i = start_pos; i < total; i++) {
|
||||
size_t j = i + 1 - n;
|
||||
if (pre_pos < j) {
|
||||
pre_pos = j;
|
||||
max = ind[j];
|
||||
}
|
||||
if (ind[i] >= max) {
|
||||
max = ind[i];
|
||||
pre_pos = i;
|
||||
for (size_t j = pre_pos + 1; j <= i; j++) {
|
||||
if (ind[j] >= max) {
|
||||
max = ind[j];
|
||||
pre_pos = j;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (ind[i] >= max) {
|
||||
max = ind[i];
|
||||
pre_pos = i;
|
||||
}
|
||||
}
|
||||
_set(i - pre_pos, i);
|
||||
}
|
||||
|
||||
start_pos = total - n;
|
||||
max = ind[start_pos];
|
||||
pre_pos = start_pos;
|
||||
for (size_t i = start_pos; i < total; i++) {
|
||||
if (ind[i] >= max) {
|
||||
pre_pos = i;
|
||||
max = ind[i];
|
||||
}
|
||||
}
|
||||
_set(total - pre_pos - 1, total - 1);
|
||||
}
|
||||
|
||||
Indicator HKU_API HHVBARS(int n) {
|
||||
|
@ -71,7 +71,7 @@ void IHighLine::_calculate(const Indicator& ind) {
|
||||
pre_pos = j;
|
||||
max = ind[j];
|
||||
for (size_t j = pre_pos + 1; j <= i; j++) {
|
||||
if (ind[j] > max) {
|
||||
if (ind[j] >= max) {
|
||||
max = ind[j];
|
||||
pre_pos = j;
|
||||
}
|
||||
|
@ -70,22 +70,20 @@ void ILowLine::_calculate(const Indicator& ind) {
|
||||
if (pre_pos < j) {
|
||||
pre_pos = j;
|
||||
min = ind[j];
|
||||
}
|
||||
if (ind[i] <= min) {
|
||||
min = ind[i];
|
||||
pre_pos = i;
|
||||
for (size_t j = pre_pos + 1; j <= i; j++) {
|
||||
if (ind[j] <= min) {
|
||||
min = ind[j];
|
||||
pre_pos = j;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ind[i] <= min) {
|
||||
min = ind[i];
|
||||
pre_pos = i;
|
||||
}
|
||||
}
|
||||
_set(min, i);
|
||||
}
|
||||
|
||||
startPos = total - n;
|
||||
min = ind[startPos];
|
||||
for (size_t i = startPos; i < total; i++) {
|
||||
if (ind[i] <= min) {
|
||||
min = ind[i];
|
||||
}
|
||||
}
|
||||
_set(min, total - 1);
|
||||
}
|
||||
|
||||
Indicator HKU_API LLV(int n = 20) {
|
||||
|
@ -63,29 +63,25 @@ void ILowLineBars::_calculate(const Indicator& ind) {
|
||||
_set(i - pre_pos, i);
|
||||
}
|
||||
|
||||
for (size_t i = start_pos; i < total - 1; i++) {
|
||||
for (size_t i = start_pos; i < total; i++) {
|
||||
size_t j = i + 1 - n;
|
||||
if (pre_pos < j) {
|
||||
pre_pos = j;
|
||||
min = ind[j];
|
||||
}
|
||||
if (ind[i] <= min) {
|
||||
min = ind[i];
|
||||
pre_pos = i;
|
||||
for (size_t j = pre_pos + 1; j <= i; j++) {
|
||||
if (ind[j] <= min) {
|
||||
min = ind[j];
|
||||
pre_pos = j;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ind[i] <= min) {
|
||||
min = ind[i];
|
||||
pre_pos = i;
|
||||
}
|
||||
}
|
||||
_set(i - pre_pos, i);
|
||||
}
|
||||
|
||||
start_pos = total - n;
|
||||
min = ind[start_pos];
|
||||
pre_pos = start_pos;
|
||||
for (size_t i = start_pos; i < total; i++) {
|
||||
if (ind[i] <= min) {
|
||||
pre_pos = i;
|
||||
min = ind[i];
|
||||
}
|
||||
}
|
||||
_set(total - pre_pos - 1, total - 1);
|
||||
}
|
||||
|
||||
Indicator HKU_API LLVBARS(int n) {
|
||||
|
Loading…
Reference in New Issue
Block a user