Solomon
Active Member
- 282
- 295
Mình đang viết code xác định High và Low của 1 cấu trúc và lưu vào Array. Có đoạn code xác định như sau hình như sử dụng trên MQL5, đọc hoài mà không hiểu được cái logic của nó là ntn. Nhờ các bác giúp đỡ giải ngố giúp ạ. Em cảm ơn.
int LocalExtremeBar(int length, int Start, double d){ // d=direction= +1 or -1
if (d > 0) return( LocalExtremeArray(High, length, Start, d) );
return( LocalExtremeArray(Low, length, Start, d) );
}
int LocalExtremeArray(double arr[], int length, int iStart, double d){
while(true){
int iPrev = iStart; iStart = ArrayExtrema(arr, length, iStart, d);
if (iStart == iPrev) return iStart;
}
//NOTREACHED
}
int ArrayExtrema(double arr[], int length, int iStart, double d){
int iExtreme = iStart; double value = arr[iExtreme];
int iLimit = MathMin(iStart + length, ArraySize(arr));
for(iStart++; iStart<iLimit; iStart++) if((arr[iStart]-value) *d>= 0.){
iExtreme = iStart; value = arr[iExtreme]; } // largest index (>=)
return iExtreme;
}
int LocalExtremeBar(int length, int Start, double d){ // d=direction= +1 or -1
if (d > 0) return( LocalExtremeArray(High, length, Start, d) );
return( LocalExtremeArray(Low, length, Start, d) );
}
int LocalExtremeArray(double arr[], int length, int iStart, double d){
while(true){
int iPrev = iStart; iStart = ArrayExtrema(arr, length, iStart, d);
if (iStart == iPrev) return iStart;
}
//NOTREACHED
}
int ArrayExtrema(double arr[], int length, int iStart, double d){
int iExtreme = iStart; double value = arr[iExtreme];
int iLimit = MathMin(iStart + length, ArraySize(arr));
for(iStart++; iStart<iLimit; iStart++) if((arr[iStart]-value) *d>= 0.){
iExtreme = iStart; value = arr[iExtreme]; } // largest index (>=)
return iExtreme;
}
Giới thiệu sách Trading hay
Trading In The Zone - Thực hành Kiểm soát Cảm xúc bằng Tâm lý học Hành vi trong Đầu tư và Giao dịch Tài chính
Là quyển sách Top 1 toàn cầu về chủ đề đầu tư/trading, Trading In The Zone giúp thấu hiểu và quản trị cảm xúc cũng như giữ vững kỷ luật khi tham gia thị trường tài chính, nhằm nâng cao trình độ và hiệu quả đầu tư lên mức cao nhất có thể
Bài viết liên quan