بلٹ ان فنکشن _Cross تجزیہ اور استعمال کی ہدایات

مصنف:چھوٹا سا خواب, تخلیق: 2017-10-11 19:50:44, تازہ کاری: 2021-11-05 16:15:56

بلٹ ان فنکشن _Cross تجزیہ اور استعمال کی ہدایات

API دستاویزات میں گلوبل فنکشنز کی بالٹی میں_Cross فنکشن دو اشارے کی لائنوں کے درمیان کراس حالت کا حساب لگانے کے لئے استعمال کیا جاتا ہے

  • فنکشن کو مندرجہ ذیل کوڈ کی طرح لاگو کیا جاتا ہے:

    اس کے علاوہ ، آپ کو یہ بھی دیکھنا چاہئے:arr1اس کے علاوہ ، یہ ایک بہت ہی دلچسپ اور حیرت انگیز چیز ہے۔arr2اس کے علاوہ، یہ ایک بہت ہی آسان طریقہ ہے کہ آپ کو اپنے آپ کو اس کے بارے میں بتائیں._Crossفنکشن ایک مثبت قدر واپس کرتا ہے، یعنی اس کی دستاویزات کے مطابق正数为上穿周期, 负数表示下穿的周期, 0指当前价格一样کیا آپ جانتے ہیں؟arr1پہنناarr2یہ n سائیکل ہے، اس وقت تیز رفتار لائن پر سست لائن کی نمائندگی کرتا ہے. اسی طرح_Crossاگر فنکشن منفی نمبر واپس کرتا ہے تو یہ ایک dead fork ہے۔

    اگر تعریفarr1اس کے علاوہ، ہم نے اس کے بارے میں مزید معلومات حاصل کی ہیں.arr2اس کے برعکس، ایک تیز رفتار اشارے کے لئے ایک متغیر ہے._Crossفنکشن کی واپسی کی قیمت مثبت ہے جو کہ مرنے والے فورک کی نمائندگی کرتی ہے۔_Crossفنکشن کی واپسی کی قدر منفی ہے جو گولڈن فورک کی نمائندگی کرتی ہے۔

// 返回上穿的周期数,正数为上穿周数,负数表示下穿的周数,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即指标值相等
};
  • ہم اس پیرامیٹر میں اعداد و شمار کے ایک سیٹ کا اندازہ لگاتے ہیں اور دیکھتے ہیں کہ کیا ہوتا ہے.

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

اور آپ دیکھ سکتے ہیں کہ اس کا نتیجہ 3، 3، 3 ہے۔

img

جیسا کہ آپ اس تصویر میں دیکھ سکتے ہیں ، کراسنگ کی پوزیشن تین K لائن کالموں سے پہلے ہوتی ہے۔


مزید

الفا اسٹریٹجی 00Xاور جب کوئی کراس نہیں ہے تو، آپ کو 0 واپس کرنا چاہئے، ٹھیک ہے؟

چکنائی بھی آ گئیکیا آپ کو لگتا ہے کہ آپ کو ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر ایک بار پھر؟

چھوٹا سا خوابہم نے اس کے بارے میں سوچا ہے۔

الفا اسٹریٹجی 00Xآپ کا شکریہ! میرا مطلب ہے، 0 واپس کرنا زیادہ معقول ہے، ٹھیک ہے؟

چھوٹا سا خواب`` var arr1 = [1,2,3,4,5,6,8,8,9] // تیز لائن اشارے var arr2 = [2,3,4,5,6,7,7,7] // سست لائن اشارے function main() { Log (("_Cross ((arr1, arr2) ": ، _Cross ((arr1, arr2)) Log (("_Cross ((arr2, arr1) ": "، _Cross ((arr2, arr1)) } `` اس سیٹ کا استعمال کرتے ہوئے ایک سیٹ کو غیر متقاطع کرنے کے لئے استعمال کیا جا سکتا ہے، چلائیں. یہ 0 نہیں لوٹتا

چھوٹا سا خوابصرف تازہ ترین کراسنگ کا پتہ لگائیں، ماخذ کوڈ تجزیہ دیکھیں.