Type/to search
8
Follow
1363
Followers
Hàm tích hợp_Phân tích chéo và hướng dẫn sử dụng
Tutorials
Created 2017-10-11 19:50:44  Updated 2021-11-05 16:15:56
 8
 8050

Hàm tích hợp_Phân tích chéo và hướng dẫn sử dụng

_Cross hàm trong hàm global trong tài liệu API được sử dụng để tính trạng thái giao nhau của hai đường chỉ số

  • Chức năng này được thực hiện bằng một mã tương tự như sau:

    Một điều cần lưu ý là:arr1Nó được định nghĩa là một mảng các chỉ số đường nhanh.arr2Một số trường hợp, một số trường hợp khác, một số trường hợp khác, một số trường hợp.
    _CrossChức năng trả về một giá trị dương, tức là dựa trên tài liệu正数为上穿周期, 负数表示下穿的周期, 0指当前价格一样
    Có thể nói, lúc nàyarr1Đeo lênarr2Đã có n chu kỳ, tại thời điểm này là đường nhanh đi qua đường chậm đại diện cho Gold Forks.
    Cũng vậy._CrossChức năng này sẽ trở thành dead fork nếu nó trả về số âm.

    Nếu định nghĩaarr1Một mảng chỉ số theo đường chậm.arr2Nếu là một mảng chỉ số đường nhanh, thì ngược lại.
    _CrossChức năng trả về giá trị là tích cực đại diện cho cái chết.
    _CrossHàm trả về một giá trị âm đại diện cho Gold Fork.

javascript
// 返回上穿的周期数,正数为上穿周数,负数表示下穿的周数,0指当前价格一样 $.Cross = function(arr1, arr2) { // 参数个数为2个,从参数名可以看出,这两个参数应该都是数组类型,数组就 // 好比是在X轴为数组索引值,Y轴为指标值的坐标系中的线段,该函数就是判断两条线的 交叉情况 if (arr1.length !== arr2.length) { // 首先要判断比较的两个数组长度是否相等 throw "array length not equal"; // 如果不相等抛出错误,对于不相等的指标线无法判断相交 } var n = 0; // 声明变量n用来记录交叉状态,初始0,未相交 for (var i = arr1.length-1; i >= 0; i--) { // 遍历数组arr1,遍历顺序为从最后一个元素向前遍历 if (typeof(arr1[i]) !== 'number' || typeof(arr2[i]) !== 'number') { // 当arr1或者arr2任何一个数组为非数值类型(即无效指标)时,跳出遍历循环 break; // 跳出循环 } if (arr1[i] < arr2[i]) { // 如果arr1小于arr2则n--,会记录开始时arr1、arr2的相对状态,(即开始时n会根据arr1[i]、arr2[i]相对大小自行调整,一旦出现另一种和n状态相反的arr1[i]、arr2[i]大小关系,即发生了两条线交叉。) if (n > 0) { break; } n--; } else if (arr1[i] > arr2[i]) { // 如果arr1大于arr2则n++ if (n < 0) { break; } n++; } else { // arr1[i] == arr2[i],则立即跳出 break; } } return n; // 返回n值,代表已经交叉了多少周期,0即指标值相等 };
  • Chúng tôi mô phỏng một tập hợp dữ liệu vào tham số này để xem kết quả như thế nào.

javascript
var arr1 = [1,2,3,4,5,6,8,8,9] // 快线指标 var arr2 = [2,3,4,5,6,7,7,7,7] // 慢线指标 function main(){ Log("_Cross(arr1, arr2) : ", _Cross(arr1, arr2)) Log("_Cross(arr2, arr1) : ", _Cross(arr2, arr1)) }

img

Bạn có thể thấy kết quả là 3, -3.

img

Như bạn có thể thấy trong hình, vị trí giao nhau xảy ra trước ba cột K.

Related Recommendations
Comment
All comments (6)

    没有交叉的时候,应该返回0吧?

    6 years ago
    javascript
    var arr1 = [1,2,3,4,5,6,8,8,9] // 快线指标 var arr2 = [2,3,4,5,6,7,7,7,7] // 慢线指标 function main(){ Log("_Cross(arr1, arr2) : ", _Cross(arr1, arr2)) Log("_Cross(arr2, arr1) : ", _Cross(arr2, arr1)) }

    可以用这个设置一组不交叉的数组,跑下。
    测试了不会返回0

    6 years ago

    谢谢回复!我的意思是说,返回0比较合理吧?

    6 years ago

    好的,这个我们考虑下。

    6 years ago

    要是来回交叉呢?

    8 years ago

    只检测 最近一次交叉, 看源码分析 可得知。

    8 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)