MyLanguage ڈاکٹر

مصنف:چھوٹا سا خواب, تخلیق: 2022-06-30 18:24:06, تازہ کاری: 2024-02-06 17:36:19

[TOC]

img

MyLanguage ایک پروگراماتی تجارتی زبان ہے جو MyLanguage کے ساتھ ہم آہنگ اور بہتر ہے۔ FMZ Quant کی MyLanguage کو سخت نحو کی جانچ پڑتال سے گزرنا پڑے گا۔ مثال کے طور پر ، جب زبان کو بہتر بنانے کے لئے زبان کوڈ کو جاسو اسکرپٹ میں سرایت کرنے کے لئے استعمال کیا جاتا ہے تو ، اس کے بعد ایک اضافی خلائی کردار%%آپریٹر ایک غلطی کی اطلاع دی جائے گی.

  • بنیادی ہدایات

    • معاہدہ

      کریپٹو کرنسی کا معاہدہ

      کریپٹو کرنسی کا معاہدہ

      this_week     cryptocurrency futures contract this week
      next_week     cryptocurrency futures contract next week
      month         cryptocurrency futures contract month
      quarter       cryptocurrency futures contract quarter
      next_quarter  cryptocurrency futures contract next quarter
      third_quarter cryptocurrency futures contract third quarter
      last_quarter  contract last quarter
      
      XBTUSD        BITMEX perpetual contract
      swap          cryptocurrency futures perpetual contracts other than BITMEX exchange
      
      For details, please refer to the exchange.SetContractType() function section of the JavaScript/Python/C++ documentation
      

      img

    • متغیرات

      متغیر کمپیوٹر کی میموری میں ڈیٹا کو ذخیرہ کرنے کے لئے کھولی گئی جگہ ہے۔ آسان الفاظ میں ، یہ ڈیٹا کو ذخیرہ کرنے کے لئے استعمال ہوتا ہے۔

      پہلی متغیر کھولیں

      // assign 1 to variable a
      a:=1;
      

      اندرMyLanguage، اس سے ممتاز کرنے کے لئے آسان ہےdata volume:

      1. ایک قدر والے اعداد و شمار: صرف ایک قدر ہے ، جیسے:0, 1, 'abc'.
      2. ترتیب کے اعداد و شمار: اعداد و شمار کی ترتیب جس میں ایک ہی قدر کے اعداد و شمار کا ایک گروپ ہوتا ہے ، جیسے:Close(ختم قیمت) ، جہاںCloseکے اختتامی قیمت پر مشتمل ہےn periods. [ 10.1 , 10.2 , 10.3 , 10.4 , 10.5 ...]

      متغیر قسم سے فرق کریں

      1. سٹرنگ کی قسم: یہ ``` کے ساتھ لپیٹا جانا چاہئے، سٹرنگ کی قسم کو براہ راست استعمال کرنے کی اجازت نہیں ہے، اور اسے فنکشن کے ساتھ نقطہ نظر میں آؤٹ پٹ کرنے کی ضرورت ہے.
      INFO(CLSOE>OPEN,'OK!');
      
      1. قدر کی اقسام: انٹیجرز، فلوٹنگ کامنٹ نمبرز (ڈیسیملز) سمیت۔
      // integer
      int:=2;
      
      // decimal
      float:=3.1;
      
      1. بولین ٹائپ ، 1 (سچ کے لئے) یا 0 (جھوٹے کے لئے) کا استعمال کرتے ہوئے: 1 ، 0 ، سچ یا غلط۔ مثال کے طور پر:A:=1>0;اس کوڈ کے عملدرآمد کے بعد، کی قدرA1 ہے
      // The closing price of the current period is greater than -999, you will find that the return value of each period is 1, which means true, because the closing price is almost impossible to be negative.
      is_true:=Close>-999;
      
      1. عالمی متغیرات
      VARIABLE:VALUE1:10;     // Declare a global variable, assign the value 10, and execute it only once.
      

      نوٹ کریں کہ جب بیک ٹیسٹنگ:

      VARIABLE:NX:0;    // The initial global variable NX is 0
      NX..NX+1;         // Accumulate 1 each time
      INFO(1,NX);       // Print NX every time
      

      ابتدائی طور پر،INFOبیان پرنٹس101، شاید یہ نہیں ہے0شروع میں؟ اس کی وجہ یہ ہے کہ بیک ٹیسٹ میں 100 ابتدائی K لائنز ہیں، اور 100 K لائنز پہلے ہی چل چکی ہیں، جو 100 بار جمع ہو چکی ہیں۔ اصل قیمت اس بات پر منحصر ہے کہ ابتدائی طور پر کتنے K لائنز حاصل کیے جاتے ہیں.

      • نام دینے کے قوانین

        زیادہ تر سسٹم میں ، متغیر نام دینے سے سسٹم محفوظ الفاظ (بلٹ ان متغیر نام ، فنکشن نام) کے استعمال کی اجازت نہیں ہوتی ہے۔ مثال کے طور پر ، مشہورClose, Cاس کے علاوہ ، خالص نمبر یا اہم نمبر کی اجازت نہیں ہے۔ آخر میں ، اس کی بہت لمبی ہونے کی اجازت نہیں ہے ، اور مختلف نظاموں میں لمبائی کی مختلف پابندیاں ہیں۔ اصل میں ، آپ کو چینی زبان کے مرکزی دھارے کے نظام کی تجزیہ کاری کی کارکردگی کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ میرا خیال ہے کہ MyLanguage چینی زبان کے لئے بہت دوستانہ ہے۔ تجربہ کار پروگرامرز کے لئے یہ تجویز کی جاتی ہے کہ آپ مندرجہ ذیل دو نام دینے کے اصول استعمال کریں:

        1. چینی نام
        // elegant output
        5-day moving average:=MA(C,5);
        
        1. انگریزی + زیر خط
        // Output
        move_avg_5:=MA(C,5);
        

        اگر آپ انگریزی کو ترجیح دیتے ہیں تو ، اپنے متغیرات کے معنی کو زیادہ سے زیادہ قابل فہم بنانے کی کوشش کریں۔ جیسے نام استعمال نہ کریں:A1, AAA, BBB... مجھ پر بھروسہ کریں جب آپ اپنے اشارے کا کوڈ کچھ دنوں میں دوبارہ چیک کریں گے تو آپ میموری کے نقصان کی وجہ سے بہت اداس ہوں گے۔ اسی طرح ، جب آپ کوڈ کو دوسروں کو برآمد کرتے ہیں تو ، قاری کو تباہ ہونا چاہئے۔

        لہذا اب سے ، MyLanguage کو پوری طرح گلے لگائیں! مجھے امید ہے کہ یہ آپ کے تجزیہ اور فیصلہ سازی کے لئے ایک طاقتور آلہ بن سکتا ہے۔

    • ڈیٹا کی قسم

      ڈیٹا کی قسم ایک بنیادی تصور ہے۔ جب ہم کسی متغیر کو تحریری طور پر واضح ڈیٹا تفویض کرتے ہیں تو ، متغیر خود ہی ڈیٹا کی قسم بن جاتا ہے۔

        1. قدر کی قسم:
        1.2.3.1.1234.2.23456 ...
        
        1. سٹرنگ کی قسم:
        '1' .'2' .'3' ,String types must be wrapped with ''
        
        1. ترتیب کا ڈیٹا:
        A collection of data consisting of a series of single-valued data
        
        1. بولیائی قسم ((بولین):

        استعمال1نمائندگی کرتا ہےtrueاور0کے لئےfalse.

        مثال

        // declare a variable of value type
        var_int := 1;
        // Declare a variable for sequence data
        var_arr := Close;
        // The string type cannot be declared alone, it needs to be combined with the function
        INFO(C>O, 'positive line');
        
    • آپریٹر

      اشارے کے کوڈ کو انجام دینے کے لئے استعمال ہونے والی کارروائی اور حساب کتاب صرف اس کارروائی میں شامل علامات ہیں۔

      • تفویض آپریٹر

        ایک متغیر کو ایک قدر تفویض کرنے کے لئے

          1. :

          :، گراف (subgraph) کو تفویض اور آؤٹ پٹ کی نمائندگی کرتا ہے.

          Close1:Close;      // Assign Close to the variable Close1 and output to the figure
          
          1. :=

          :=، تفویض کی نمائندگی کرتا ہے، لیکن گراف میں آؤٹ پٹ نہیں ہے (مین گراف، ذیلی گراف...) ، اور نہ ہی یہ حالت بار ٹیبل میں دکھایا جاتا ہے.

          Close2:=Close;     // Assign Close to the variable Close2
          
          1. ^^

          ^^دو^علامتیں تفویض کی نمائندگی کرتی ہیں ، متغیرات کو اقدار تفویض کرتی ہیں اور گراف (مین گراف) میں آؤٹ پٹ کرتی ہیں۔

          lastPrice^^C;
          
          1. ..

          ..، دو.علامتیں تفویض کی نمائندگی کرتی ہیں، متغیرات کو اقدار تفویض کرتی ہیں اور چارٹ میں متغیر ناموں اور اقدار کو ظاہر کرتی ہیں، لیکن چارٹ پر تصاویر نہیں بناتی ہیں (بنیادی تصویر، ذیلی تصویر...).

          openPrice..O
          
      • رشتہ دار آپریٹرز

        رشتہ دار آپریٹرز بائنری آپریٹرز ہیں جو دو اعداد و شمار کے درمیان تعلقات کا تعین کرنے کے لئے مشروط اظہار میں استعمال ہوتے ہیں۔

        واپسی کی قیمت: بولین ٹائپ، یا توtrue(1) یاfalse(0).

          1. سے زیادہ>
          // Assign the operation result of 2>1 to the rv1 variable, at this time rv1=1
          rv1:=2>1;
          
          1. سے کم<
          // Returns false, which is 0, because 2 is greater than 1
          rv3:=2<1;
          
          1. سے زیادہ یا برابر>=
          x:=Close;
          // Assign the result of the operation that the closing price is more than or equal to 10 to the variable rv2
          // Remark that since close is a sequence of data, when close>=10 is performed, the operation is performed in each period, so each period will have a return value of 1 and 0
          rv2:=Close>=10;
          
          1. سے کم یا برابر<=
          omitted here
          
          1. کے برابر ہے=
          A:=O=C;     // Determine whether the opening price is equal to the closing price.
          
          1. کے برابر نہیں<>
          1<>2       // To determine whether 1 is not equal to 2, the return value is 1 (true)
          
      • منطقی آپریٹر

        واپسی کی قیمت: بولین ٹائپ، یا توtrue(1) یاfalse(0).

        1. منطقی اور&&، کی جگہ لے سکتے ہیںand، اور اور کنکشن کے بائیں اور دائیں اطراف ایک ہی وقت میں قائم کیا جانا چاہئے.
        // Determine whether cond_a, cond_b, cond_c are established at the same time
        cond_a:=2>1;
        cond_b:=4>3;
        cond_c:=6>5;
        cond_a && cond_b and cond_c;    // The return value is 1, established
        
        1. منطقی یا||، آپ استعمال کر سکتے ہیںorیا لنک کے بائیں اور دائیں اطراف کو تبدیل کرنے کے لئے، ایک طرف سچ ہے (سچ) ، پوری سچ ہے (واپسی کی قیمت سچ).
        cond_a:=1>2;
        cond_b:=4>3;
        cond_c:=5>6;
        cond_a || cond_b or cond_c;    // The return value is 1, established
        
        1. ()آپریٹر، کوڑے میں اظہار سب سے پہلے اندازہ کیا جائے گا.
        1>2 AND (2>3 OR 3<5)    // The result of the operation is false
        1>2 AND 2>3 OR 3<5      // The result of the operation is true
        
      • ریاضیاتی آپریٹرز

        Return value: numeric type
        

        ریاضیاتی آپریٹرز ریاضیاتی آپریٹرز ہیں۔ یہ بنیادی ریاضیاتی کارروائیوں (ریاضی آپریٹرز) کو مکمل کرنے کے لئے ایک علامت ہے ، جو چار ریاضیاتی کارروائیوں پر کارروائی کرنے کے لئے استعمال ہونے والا علامت ہے۔

        • پلس +

          A:=1+1;      // return 2
          
        • مائنس -

          A:=2-1;      // return 1
          
        • *ضرب کریں *

          A:=2*2;      // return 4
          
        • تقسیم /

          A:=4/2;      // return 2
          
    • افعال

      • افعال

        پروگرامنگ کی دنیا میں ، فنکشن کوڈ کا ایک ٹکڑا ہے جو ایک خاص فنکشن کو نافذ کرتا ہے۔ اور اسے دوسرے کوڈ کے ذریعہ بھی بلایا جاسکتا ہے ، اس کی عمومی شکل مندرجہ ذیل ہے:

        function(param1,param2,...)
        
        • ساخت:

          فنکشن کا نام (پیرامیٹر 1، پیرامیٹر 2،...) ، کوئی پیرامیٹر نہیں ہوسکتا ہے یا متعدد پیرامیٹرز ہوسکتے ہیں۔ مثال کے طور پر،MA(x,n);کے سادہ چلتی اوسط پر واپس جانے کا مطلب ہےxاندرونیnادوار۔ ان میں سے،MA()ایک فنکشن ہے،xاورnفنکشن کے پیرامیٹرز ہیں.

          جب ہم کسی فنکشن کا استعمال کرتے ہیں تو ہمیں فنکشن کی بنیادی تعریف کو سمجھنے کی ضرورت ہوتی ہے ، یعنی فنکشن کو کال کرکے کون سے ڈیٹا حاصل کیے جاسکتے ہیں۔ عام طور پر ، افعال کے پیرامیٹرز ہوتے ہیں۔ جب ہم پیرامیٹرز میں گزرتے ہیں تو ہمیں اس بات کو یقینی بنانے کی ضرورت ہوتی ہے کہ آنے والے ڈیٹا کی قسم مستقل ہے۔ اس مرحلے پر ، زیادہ تر آئی ڈی ایز کا کوڈ اشارہ کرنے والا فنکشن بہت ناقص ہے۔ پیرامیٹر کی ایک ڈیٹا کی قسم دی گئی ہے ، جو ہمارے استعمال میں کچھ پریشانی پیدا کرتی ہے ، اورMA(x,n);کی تعبیر کی جاتی ہے:

          Return to simple moving average
          Usage:
          AVG:=MA(X,N): N-day simple moving average of X, algorithm (X1+X2+X3+...+Xn)/N, N supports variables
          

          یہ beginners کے لئے بہت غیر دوستانہ ہے، لیکن اگلے، ہم مکمل طور پر فنکشن کا تجزیہ کریں گے، سیکھنے اور فنکشن کا استعمال کرنے کا ایک تیز طریقہ تلاش کرنے کی کوشش کریں گے.

      • واپسی کی قیمت

        تیزی سے افعال سیکھنے کے لئے، ہم سب سے پہلے ایک تصور کو سمجھنے کی ضرورت ہے، یہ کہا جاتا ہے return value، واپسی، جیسا کہ نام سے پتہ چلتا ہے، کا مطلب ہے واپس لوٹنا؛ قدر مخصوص قدر کی نمائندگی کرتی ہے، پھر واپسی کی قیمت کا مطلب یہ ہے: جو ڈیٹا حاصل کیا جاسکتا ہے۔

        // Because it will be used in the following code, the variable return_value is used to receive and save the return value of function()
        // retrun_value := function(param1,param2);
        // For example:
        AVG:=MA(C,10);     // AVG is retrun_value, function is MA function, param1 parameter: C is the closing price sequence data, param2 parameter: 10.
        
      • پیرامیٹرز

        دوسرا، فنکشن کا دوسرا اہم تصور پیرامیٹر ہے، اور مختلف پیرامیٹرز میں گزرنے سے مختلف واپسی کی اقدار حاصل کی جا سکتی ہیں.

        // The variable ma5 receives the 5-day moving average of closing prices
        ma5:=MA(C,5);
        // The variable ma10 receives the 10-day moving average of closing prices
        ma10:=MA(C,10);
        

        پہلا پیرامیٹرXمندرجہ بالا متغیرات میں سےma5, ma10ہےC(ختم قیمت) ، حقیقت میں،Cیہ بھی ایک فنکشن ہے (کھولنے سے لے کر موجودہ وقت تک بند ہونے کی قیمتوں کی ترتیب واپس کرتا ہے) ، لیکن اس کے پاس کوئی پیرامیٹرز نہیں ہیں۔ دوسرے پیرامیٹر کے 5 اور 10 کا استعمال قیمت کو بتانے کے لئے کیا جاتا ہے۔MA()فنکشن جس سے ہم چند دنوں کے لئے اختتامی قیمت کا اوسط حاصل کرنا چاہتے ہیں۔ فنکشن پیرامیٹرز کے ذریعے استعمال کرنے کے لئے زیادہ لچکدار ہوجاتا ہے۔

      • سیکھنے کا طریقہ

          1. سب سے پہلے، ہمیں یہ سمجھنے کی ضرورت ہے کہ ایک فنکشن کیا کرتا ہے، یعنی یہ فنکشن ہمیں کیا ڈیٹا واپس کر سکتا ہے۔
          1. آخری بات یہ ہے کہ واپسی کی قدر کی قسم کو سمجھنا ہے۔ آخر کار ، ہم واپسی کی قیمت حاصل کرنے کے لئے افعال کا استعمال کرتے ہیں۔
          1. اس کے علاوہ، ہم پیرامیٹر کے ڈیٹا کی قسم کو جاننے کی ضرورت ہےMA(x,n)، اگر آپ پیرامیٹر کے ڈیٹا کی قسم نہیں جانتےx, n، یہ صحیح طریقے سے واپسی کی قدر حاصل کرنے کے قابل نہیں ہو گا.

        مندرجہ ذیل فنکشن تعارف اور استعمال میں، مندرجہ بالا تین اصولوں پر عمل کریں.

    • زبان کی بہتری

      • MyLanguageاورJavaScriptمکسڈ زبان پروگرامنگ

        %%
        // This can call any API quantified of FMZ
        scope.TEST = function(obj) {
            return obj.val * 100;
        }
        %%
        Closing price: C;
        Closing price magnified 100 times: TEST(C);
        The last closing price is magnified by 100 times: TEST(REF(C, 1)); // When the mouse moves to the K-line of the backtest, the variable value will be prompted
        
        • scopeچیز

          کےscopeobject attributes شامل کر سکتے ہیں اور attributes کو گمنام افعال تفویض کرسکتے ہیں، اور اس وصف کی طرف اشارہ کردہ گمنام فنکشن کو MyLanguage کے کوڈ حصے میں بلایا جاسکتا ہے۔

        • scope.getRefs(obj)فنکشن

          اندرJavaScriptکوڈ بلاک، کال کریںscope.getRefs(obj)میں منتقل کے اعداد و شمار کو واپس کرنے کے لئے تقریبobj object.

          کےJavaScriptمندرجہ ذیل کوڈ کے ساتھ احاطہ کرتا ہے%% %%حاصل کریں گےCمیں منظور کیا جبTEST(C)MyLanguage کوڈ میں تقریب بند کی قیمت کہا جاتا ہے. کےscope.getRefsتقریب اس K لائن کے اعداد و شمار کے تمام بند ہونے کی قیمتوں کو واپس کرے گا.throw "stop"پروگرام کو روکنے کے لئے، متغیرarrصرف پہلی بار کی بندش کی قیمت پر مشتمل ہے. آپ کو حذف کرنے کی کوشش کر سکتےthrow "stop"، یہ عملدرآمد کرے گاreturnکے اختتام پرJavaScriptکوڈ، اور تمام اختتامی قیمت کے اعداد و شمار کو واپس.

          %%
          scope.TEST = function(obj){
              var arr = scope.getRefs(obj)
              Log("arr:", arr)
              throw "stop"
              return
          }
          %%
          TEST(C);
          
        • scope.bars

          میں تمام K لائن سلاخوں تک رسائیJavaScriptکوڈ بلاک.

          کےTESTفنکشن ایک قدر لوٹاتا ہے۔ 1 ایک منفی لائن ہے اور 0 ایک مثبت لائن ہے۔

          %%
          scope.TEST = function(){
              var bars = scope.bars
              return bars[bars.length - 1].Open > bars[bars.length - 1].Close ? 1 : 0    // Only numeric values can be returned
          }
          %%
          arr:TEST;                                                                      
          
          # Attention:
          # An anonymous function received by TEST, the return value must be a numeric value.
          # If the anonymous function has no parameters, it will result in an error when calling TEST, writing VAR:=TEST; and writing VAR:=TEST(); directly.
          # TEST in scope.TEST must be uppercase.
          
        • scope.bar

          میںJavaScriptکوڈ بلاک، موجودہ بار تک رسائی.

          اعلی افتتاحی اور کم اختتامی قیمتوں کا اوسط حساب لگائیں۔

          %%
          scope.TEST = function(){
              var bar = scope.bar
              var ret = (bar.Open + bar.Close + bar.High + bar.Low) / 4
              return ret
          }
          %%
          avg^^TEST;
          
        • scope.depth

          مارکیٹ کی گہرائی کے اعداد و شمار تک رسائی (آرڈر بک)

          %%
          scope.TEST = function(){
              Log(scope.depth)
              throw "stop"             // After printing the depth data once, throw an exception and pause
          }
          %%
          TEST;
          
        • scope.symbol

          موجودہ ٹریڈنگ جوڑی کا نام تار حاصل کریں.

          %%
          scope.TEST = function(){
              Log(scope.symbol)
              throw "stop"
          }
          %%
          TEST;
          
        • scope.barPos

          K لائن کے بار پوزیشن حاصل کریں.

          %%
          scope.TEST = function(){
              Log(scope.barPos)
              throw "stop"
          }
          %%
          TEST;
          
        • scope.get_locals ((name)

          یہ فنکشن MyLanguage کے کوڈ سیکشن میں متغیرات حاصل کرنے کے لئے استعمال کیا جاتا ہے.

          V:10;
          %%
          scope.TEST = function(obj){
              return scope.get_locals('V')
          }
          %%
          GET_V:TEST(C);
          
          # Attention:
          # If a variable cannot calculate the data due to insufficient periods, call the scope.get_locals function in the JavaScript code at this time
          # When getting this variable, an error will be reported: line:XX - undefined locals A variable name is undefined
          
        • scope.canTrade

          کےcanTradeصفات کے نشانات کہ آیا موجودہ بار کی تجارت کی جاسکتی ہے (کیا موجودہ بار آخری ہے)

          مثال کے طور پر، یہ فیصلہ کرتے ہوئے کہ مارکیٹ کے اعداد و شمار پرنٹ ہوتے ہیں جب حکمت عملی ایسی حالت میں ہوتی ہے جہاں آرڈر کی تجارت کی جا سکتی ہے

          %%
          scope.LOGTICKER = function() {
              if(exchange.IO("status") && scope.canTrade){
                  var ticker = exchange.GetTicker();
                  if(ticker){
                      Log("ticker:", ticker);
                      return ticker.Last;
                  }
              }
          }
          %%
          LASTPRICE..LOGTICKER;
          
      • درخواست کا مثال:

        %%
        scope.TEST = function(a){
            if (a.val) {
                throw "stop"
            }    
        }
        %%
        O>C,BK;
        C>O,SP;
        TEST(ISLASTSP);
        

        ایک بار پوزیشن کھولنے اور بند کرنے کے بعد حکمت عملی کو روکیں۔

    • کثیر مدتی حوالہ

      سسٹم خود بخود ایک مناسب بنیادی K لائن مدت کا انتخاب کرے گا، اور ڈیٹا کی درستگی کو یقینی بنانے کے لئے تمام حوالہ کردہ K لائن ڈیٹا کو ترکیب کرنے کے لئے اس بنیادی K لائن مدت کے اعداد و شمار کا استعمال کرے گا.

      • استعمال:#EXPORT formula_name ... #ENDایک فارمولا بنانے کے لئے. فارمولا صرف مختلف ادوار کے اعداد و شمار حاصل کرنے کے لئے حساب نہیں ہے تو، آپ کو بھی ایک خالی فارمولا لکھ سکتے ہیں.

        ایک خالی فارمولا یہ ہے:

        #EXPORT TEST 
        NOP;
        #END           // end
        
      • استعمال:#IMPORT [MIN,period,formula name] AS variable valueایک فارمولے کا حوالہ دینے کے لئے۔ مقررہ مدت کے مختلف اعداد و شمار حاصل کریں (ختم قیمت ، افتتاحی قیمت ، وغیرہ ، متغیر قیمت کے ذریعہ حاصل کردہ) ۔

        کےMINمیںIMPORTکمانڈ کا مطلبمنٹ کی سطح.MyLanguage FMZ Quant پلیٹ فارم، اور صرفMINسطح میں حمایت کی جاتی ہےIMPORTکمانڈ. غیر معیاری ادوار اب حمایت کر رہے ہیں. مثال کے طور پر، آپ استعمال کر سکتے ہیں#IMPORT [MIN, 240, TEST] AS VAR240اعداد و شمار درآمد کرنے کے لئے جیسے 240 منٹ کی مدت (4 گھنٹے) K لائن.

        کوڈ مثال:

        // This code demonstrates how to reference formulas of different periods in the same code
        // #EXPORT extended grammar, ending with #END marked as a formula, you can declare multiple
        #EXPORT TEST 
        Mean value 1: EMA(C, 20);
        Mean value 2: EMA(C, 10);
        #END // end
        
        #IMPORT [MIN,15,TEST] AS VAR15 // Quoting the formula, the K-line period takes 15 minutes
        #IMPORT [MIN,30,TEST] AS VAR30 // Quoting the formula, the K-line period takes 30 minutes
        CROSSUP(VAR15.Mean value is 1, VAR30.Mean value is 1),BPK;
        CROSSDOWN(VAR15.Mean value is 2, VAR30.Mean value is 2),SPK;
        The highest price in fifteen minutes:VAR15.HIGH;
        The highest price in thirty minutes:VAR30.HIGH;
        AUTOFILTER;
        
      • استعمال کرتے وقت اس پر توجہ دینا ضروری ہےREF, LLV, HHVاور متعدد ادوار میں اعداد و شمار کا حوالہ دیتے وقت ڈیٹا کا حوالہ دینے کے لئے دیگر ہدایات۔

        (*backtest
        start: 2021-08-05 00:00:00
        end: 2021-08-05 00:15:00
        period: 1m
        basePeriod: 1m
        exchanges: [{"eid":"Futures_OKCoin","currency":"ETH_USD"}]
        args: [["TradeAmount",100,126961],["ContractType","swap",126961]]
        *)      
        
        %%
        scope.PRINTTIME = function() {
            var bars = scope.bars;
            return _D(bars[bars.length - 1].Time);
        }
        %%
        BARTIME:PRINTTIME;      
        
        #EXPORT TEST 
        REF1C:REF(C,1);
        REF1L:REF(L,1);
        #END // end      
        
        #IMPORT [MIN,5,TEST] AS MIN5
        INFO(1, 'C:', C, 'MIN5.REF1C:', MIN5.REF1C, 'REF(MIN5.C, 1):', REF(MIN5.C, 1), 'Trigger BAR time:', BARTIME, '#FF0000');
        INFO(1, 'L:', L, 'MIN5.REF1L:', MIN5.REF1L, 'REF(MIN5.L, 1):', REF(MIN5.L, 1), 'Trigger BAR time:', BARTIME, '#32CD32');
        AUTOFILTER;
        

        فرق کا موازنہMIN5.REF1CاورREF(MIN5.C, 1)،ہم تلاش کر سکتے ہیں:MIN5.REF1C5 منٹ کی K لائن کے اعداد و شمار کے موجودہ لمحے میں آخری بار کے اختتامی قیمت کی قیمت ہے۔REF(MIN5.C, 1)موجودہ ماڈل کی K لائن مدت (اوپر کوڈ بیک ٹیسٹ کی مدت 1 منٹ پر مقرر کی گئی ہے، یعنی ```period: 1m``) ، 5 منٹ کی مدت کی اختتامی قیمت ہے جہاں موجودہ لمحے میں آخری بار موجود ہے۔ یہ دونوں تعریفیں مختلف ہیں، اور انہیں ضرورت کے مطابق استعمال کیا جا سکتا ہے.

    • موڈ کی تفصیل

      • ایک افتتاحی اور ایک سطح کے سگنل فلٹرنگ ماڈل

        ماڈل میں،AUTOFILTERاس فنکشن کو ایک افتتاحی اور ایک بند ہونے کی سگنل فلٹرنگ کو کنٹرول کرنے اور اس کا احساس کرنے کے لئے لکھا گیا ہے۔ جب متعدد افتتاحی سگنل موجود ہیں جو شرائط کو پورا کرتے ہیں تو ، پہلا سگنل درست سگنل کے طور پر لیا جاتا ہے ، اور اسی سگنل کو K لائن پر فلٹر کیا جائے گا۔

        فلٹرنگ ماڈل کی طرف سے حمایت کی ہدایات: BK، BP، BPK، SK، SP، SPK، CLOSEOUT، وغیرہ. طرح BK ((5) کے ساتھ ہدایات کی حمایت نہیں کر رہے ہیں.

        مثلاً

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(C,MA1),BK;
        CROSSUP(MA1,MA2),BK;
        C>BKPRICE+10||C<BKPRICE-5,SP;
        AUTOFILTER;
        
        Comprehension:
        As in the above example, when AUTOFILTER is not set, the third row BK, the fourth row BK and the fifth row SP are triggered in sequence, and each K-line triggers a signal once. After opening the position, and closing the position, the model state is reset.      
        If AUTOFILTER is set, after triggering BK, only SP is triggered, other BK signals are ignored, and each K-line triggers a signal once.
        
      • بڑھتی ہوئی اور کم پوزیشن ماڈل

        کےAUTOFILTERفنکشن ماڈل میں نہیں لکھا گیا ہے، جو مسلسل افتتاحی سگنل یا مسلسل بند ہونے والے سگنل کی اجازت دیتا ہے، جو پوزیشنوں میں اضافہ اور کمی کر سکتا ہے.

        سپورٹ شدہ ہدایات: BK(N) ، BP(N) ، SK(N) ، SP(N) ، CLOSEOUT، BPK(N) ، SPK(N) ، لاٹ سائز کے بغیر کھولنے اور بند کرنے کے احکامات کی حمایت نہیں کی جاتی ہے۔ (1) ہدایات کی گروپ بندی کی حمایت کی جاتی ہے. (2) جب ایک ہی وقت میں متعدد ہدایات کی شرائط پوری ہوجاتی ہیں تو ، اشارے اس ترتیب میں انجام دیئے جاتے ہیں جس میں مشروط بیانات لکھے جاتے ہیں۔ مثلاً:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(C,MA1),BK(1);
        CROSSUP(MA1,MA2),BK(1);
        C>BKPRICE+10||C<BKPRICE-5,SP(BKVOL);
        

        استعمالTRADE\_AGAINیہ ممکن ہے کہ ایک ہی کمانڈ لائن، متعدد سگنل ایک دوسرے کے بعد.

        Comprehension:
        The above example is executed one by one, and the signal after execution is no longer triggered. Reset the model status after closing the position. A K -line triggers a signal once.
        
      • ایک K لائن اور ایک سگنل کے ساتھ ماڈل

        اس سے قطع نظر کہ K- لائن ختم ہوگئی ہے یا نہیں ، سگنل کا حساب ریئل ٹائم آرڈرز میں کیا جاتا ہے ، یعنی آرڈر مکمل ہونے سے پہلے K- لائن رکھی جاتی ہے۔ آخر میں K- لائن کا جائزہ لیا جاتا ہے۔ اگر پوزیشن کی سمت K- لائن کے آخر میں سگنل کی سمت سے مماثل نہیں ہے تو ، پوزیشن خود بخود ہم آہنگ ہوجائے گی۔

        مثلاً:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BPK;    //The 5-period moving average crosses up, and the 10-period moving average goes long.
        CROSSDOWN(MA1,MA2),SPK;  //The 5-period moving average crosses down, and the 10-period moving average goes short.
        AUTOFILTER;
        
      • ایک K لائن پر متعدد سگنلز کا ایک ماڈل

        ماڈل استعمال کرتا ہےmultsigکنٹرول کرنے اور ایک K لائن سے کئی سگنل کو لاگو کرنے کے لئے.

        قطع نظر اس کے کہ K لائن مکمل ہو گئی ہے یا نہیں، سگنل کا حساب حقیقی وقت میں کیا جاتا ہے۔

        سگنل کا جائزہ نہیں لیا جاتا، سگنل غائب نہیں ہوتا، اور سگنل کی سمت ہمیشہ پوزیشن کی سمت کے مطابق ہوتی ہے۔

        اگر ایک K لائن میں متعدد سگنل کی شرائط پوری ہوجاتی ہیں تو ، اسے بار بار انجام دیا جاسکتا ہے۔

        For example:
        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BK;
        C>BKPRICE+10||C<BKPRICE-5,SP;
        AUTOFILTER;
        MULTSIG(0,0,2,0);
        

        MULTSIGایک K لائن کے اندر کئی کمانڈ لائنز کو انجام دے سکتا ہے. ایک کمانڈ لائن صرف ایک بار اشارہ کیا جاتا ہے.

        O<C,BK;            // These conditions may all be executed in a K-line Bar, but only one signal per line
        10+O<C,BK;         // Strategy plus TRADE_AGAIN(10);it can make multiple signals per line
        20+O<C,BK;
        40+O<C,BK;
        MULTSIG(1,1,10);
        

        اضافی: 1.پوزیشنوں کو شامل کرنے اور کم کرنے کا ماڈل، ایک سگنل اور ایک K لائن کے دو طریقوں: بندش کی قیمت پر آرڈر رکھنے اور آرڈر کی قیمت پر آرڈر رکھنے، دونوں کی حمایت کی جاتی ہے۔ 2.مقاموں کو جمع کرنے اور کم کرنے کا ماڈل ایک K لائن سے متعدد سگنلز کے آرڈرنگ کی بھی حمایت کرتا ہے۔ پوزیشنوں کو شامل کرنے اور کم کرنے کا ماڈل، لکھیںmultsigایک K لائن پر متعدد اضافے یا متعدد کمی کو حاصل کرنے کے لئے تقریب.

    • عملدرآمد کا موڈ

      img

      • بار ماڈل

        بار ماڈل اس ماڈل سے مراد ہے جو موجودہ بار مکمل ہونے کے بعد عمل میں لایا جاتا ہے ، اور جب اگلا بار شروع ہوتا ہے تو تجارت عمل میں لائی جاتی ہے۔

      • ٹک ماڈل

        ٹِک ماڈل کا مطلب یہ ہے کہ ماڈل ہر قیمت کی نقل و حرکت کے لئے ایک بار عمل میں لایا جاتا ہے اور سگنل آنے پر فوری طور پر تجارت کی جاتی ہے۔ ٹِک ماڈل پچھلے دن کے سگنل کو نظرانداز کرتا ہے (پچھلے دن کے سگنل کو اسی دن فوری طور پر انجام دیا جاتا ہے) ، اور ٹِک ماڈل صرف موجودہ مارکیٹ کے اعداد و شمار پر توجہ مرکوز کرتا ہے تاکہ یہ طے کیا جاسکے کہ سگنل ٹرگر ہوتا ہے۔

    • چارٹ ڈسپلے

      • مرکزی چارٹ کے لیے اضافی اشارے

        آپریٹر استعمال کریں^^، سیٹ اشارے مرکزی چارٹ پر دکھائے جاتے ہیں جبکہ متغیرات کو اقدار تفویض کی جاتی ہیں۔

        MA60^^MA(C, 60);  // Calculate the average indicator with the parameter of 60
        

        img

      • ذیلی چارٹ کے لئے اضافی اشارے

        آپریٹر استعمال کریں:، سیٹ اشارے ذیلی چارٹ پر دکھائے جاتے ہیں جبکہ متغیرات کو اقدار تفویض کی جاتی ہیں۔

        ATR:MA(MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)),26);    // Assign a value to the ATR variable, the ":" symbol is followed by the formula for calculating the ATR
        

        img

        اگر آپ نہیں چاہتے کہ یہ مرکزی یا ذیلی چارٹ پر دکھایا جائے، ... آپریٹر استعمال کریں.

        MA60..MA(C, 60);  // Calculate the average indicator with the parameter of 60
        

        آپ استعمال کر سکتے ہیںDOTاورCOLORREDلائن کی قسم اور لائن کے رنگ وغیرہ کو ترتیب دینے کے لئے، MyLanguage سے واقف صارفین کی عادات کے مطابق.

    • عام مسائل

      متعارف کرانے کےمسائلاشارے لکھنے کے عمل میں عام طور پر پائے جاتے ہیں ، عام طور پر وہ نکات جن پر لکھتے وقت توجہ دینے کی ضرورت ہوتی ہے (مسلسل طور پر شامل کیا جاتا ہے) ۔

      • سیمیکولن کا نوٹ کریں;آخر میں.

      • نوٹ کریں کہ سسٹم کے مطلوبہ الفاظ متغیر کے طور پر اعلان نہیں کیے جا سکتے۔

      • نوٹ کریں کہ سٹرنگ استعمال کرتا ہےواحد حوالہ جات، مثال کے طور پر: سٹرنگ'Open position'.

      • تبصرہ

        تشریحات

        • // The Remark content(ان پٹ طریقہ چینی اور انگریزی دونوں میں ٹائپ کیا جا سکتا ہے) کا مطلب یہ ہے کہ کوڈ عملدرآمد کے عمل کے دوران مرتب نہیں کیا جاتا ہے، یعنی مواد کے بعد//عام طور پر ہم اسے کوڈ کے معنی کو نشان زد کرنے کے لئے استعمال کرتے ہیں، جب یہ کوڈ کی نظر ثانی کے لئے آسان ہے، تو یہ جلدی سے سمجھا اور یاد کیا جا سکتا ہے.

        • { Remark content }بلاک ریمارکس.

          A:=MA(C,10);
          {The previous line of code is to calculate the moving average.}
          
        • (* Remark content *)بلاک ریمارکس.

          A:=MA(C,10);
          (*The previous line of code is to calculate the moving average.*)
          
      • ان پٹ

        جب کوڈ لکھتے ہو ، کیونکہ ان پٹ کا طریقہ اکثر چینی اور انگریزی کے مابین تبدیل ہوتا ہے ، جس کے نتیجے میں علامت کی غلطیاں ہوتی ہیں۔ عام غلطیاں مندرجہ ذیل ہیں::، ٹرمینیٹر;، کاما,، قوسین()، وغیرہ۔ چینی اور انگریزی کی مختلف حالتوں میں ان حروف پر توجہ کی ضرورت ہے۔

        اگر آپ سوگو، بائیڈو، یا بنگ ان پٹ کے طریقوں کا استعمال کرتے ہیں، تو آپ چینی اور انگریزی کے درمیان تیزی سے سوئچ کر سکتے ہیںshiftچابی ایک بار.

      • غلطی کا شکار منطق

        1. کم از کم، سے کم نہیں، سے کم نہیں: متعلقہ رشتہ دار آپریٹر>=.
        2. زیادہ سے زیادہ: متعلقہ رشتہ دار آپریٹر<=.
      • حکمت عملی لانچ سنکرونائزیشن

        مستقبل کی حکمت عملی میں، اگر حکمت عملی روبوٹ شروع ہونے سے پہلے دستی طور پر کھلی پوزیشن ہے، جب روبوٹ شروع ہوتا ہے، تو یہ پوزیشن کی معلومات کا پتہ لگائے گا اور اسے اصل پوزیشن کی حیثیت سے مطابقت پذیر کرے گا. حکمت عملی میں، آپ کو استعمال کر سکتے ہیںSP, BP, CLOSEOUTپوزیشن بند کرنے کے لئے حکم دیتا ہے.

        %%
        if (!scope.init) {
            var ticker = exchange.GetTicker();
            exchange.Buy(ticker.Sell+10, 1);
            scope.init = true;
        }
        %%
        C>0, CLOSEOUT;
        
      • دو طرفہ پوزیشنوں کی حمایت نہیں کی جاتی ہے

        MyLanguage ایک ہی معاہدے کو لمبی اور مختصر پوزیشن دونوں کے ساتھ سپورٹ نہیں کرتا ہے۔

  • K لائن ڈیٹا کا حوالہ

    • کھولیں

      K لائن چارٹ کی افتتاحی قیمت حاصل کریں۔

      افتتاحی قیمت

      فنکشن: اوپن، O کے لئے مختصر

      پیرامیٹرز: کوئی نہیں

      وضاحت: اس مدت کی افتتاحی قیمت واپس کرتا ہے

      ترتیب کے اعداد و شمار

      OPEN gets the opening price of the K-line chart.
      
      Remark:
      1.It can be abbreviated as O.
      
      Example 1:
      OO:=O;           //Define OO as the opening price; Remark that the difference between O and 0.
      Example 2:
      NN:=BARSLAST(DATE<>REF(DATE,1));
      OO:=REF(O,NN);   //Take the opening price of the day
      Example 3:
      MA5:=MA(O,5);    //Define the 5-period moving average of the opening price (O is short for OPEN).
      
    • اونچا

      K لائن چارٹ پر سب سے زیادہ قیمت حاصل کریں.

      سب سے زیادہ قیمت

      فنکشن: HIGH، مختصر H

      پیرامیٹرز: کوئی نہیں

      وضاحت: اس مدت کی سب سے زیادہ قیمت واپس کریں

      ترتیب کے اعداد و شمار

      HIGH achieved the highest price on the K-line chart.
      
      Remark:
      1.It can be abbreviated as H.
      
      Example 1:
      HH:=H;         // Define HH as the highest price
      Example 2:
      HH:=HHV(H,5);  // Take the maximum value of the highest price in 5 periods
      Example 3:
      REF(H,1);      // Take the highest price of the previous K-line
      
    • کم

      K لائن چارٹ پر سب سے کم قیمت حاصل کریں.

      سب سے کم قیمت

      فنکشن: LOW، مخفف L

      پیرامیٹرز: کوئی نہیں

      وضاحت: اس مدت کی کم قیمت واپس کریں

      ترتیب کے اعداد و شمار

      LOW gets the lowest price on the K-line chart.
      
      Remark:
      1.It can be abbreviated as L.
      
      Example 1:
      LL:=L;            // Define LL as the lowest price
      Example 2:
      LL:=LLV(L,5);     // Get the minimum value of the lowest price in 5 periods
      Example 3:
      REF(L,1);         // Get the lowest price of the previous K-line
      
    • قریب

      K لائن چارٹ کی اختتامی قیمت حاصل کریں.

      اختتامی قیمت

      فنکشن: CLOSE، C کے طور پر مختصر

      پیرامیٹرز: کوئی نہیں

      وضاحت: اس مدت کی بندش کی قیمت واپس کرتا ہے

      ترتیب کے اعداد و شمار

      CLOSE Get the closing price of the K-line chart
      
      Remarks:
      1.Obtain the latest price when the intraday K-line has not finished.
      2.It can be abbreviated as C.
      
      Example 1:
      A:=CLOSE;          //Define the variable A as the closing price (A is the latest price when the intraday K-line has not finished)
      Example 2:
      MA5:=MA(C,5);      //Define the 5-period moving average of the closing price (C is short for CLOSE)
      Example 3:
      A:=REF(C,1);       //Get the closing price of the previous K-line
      
    • VOL

      K لائن چارٹ کا ٹریڈنگ حجم حاصل کریں۔

      تجارتی حجم

      فنکشن: VOL، مختصر طور پر V

      پیرامیٹرز: کوئی نہیں

      وضاحت: اس مدت کے تجارتی حجم کو واپس کرتا ہے

      ترتیب کے اعداد و شمار

      VOL obtains the trading volume of the K-line chart.
      
      Remarks:
       It can be abbreviated as V.
      The return value of this function on the current TICK is the cumulative value of all TICK trading volume on that day.
      
      Example 1:
      VV:=V;       // Define VV as the trading volume
      Example 2:
      REF(V,1);    // Indicates the trading volume of the previous period
      Example 3:
      V>=REF(V,1); // The trading volume is greater than the trading volume of the previous period, indicating that the trading volume has increased (V is the abbreviation of VOL)
      
    • او پی آئی

      فیوچر (معاہدہ) مارکیٹ میں موجودہ کل پوزیشن لے لو.

      OpenInterest:OPI;
      
    • REF

      پیشگی حوالہ.

      Reference the value of X before N periods.
      
      Remarks:
      1.When N is a valid value, but the current number of K-lines is less than N, returns null;
      2.Return the current X value when N is 0;
      3.Return a null value when N is null.
      4.N can be a variable.
      
      Example 1:
      REF(CLOSE,5);Indicate the closing price of the 5th period before the current period is referenced
      Example 2:
      AA:=IFELSE(BARSBK>=1,REF(C,BARSBK),C);//Take the closing price of the K-line of the latest position opening signal
      // 1)When the BK signal is sent, the bar BARSBK returns null, then the current K-line REF(C, BARSBK) that sends out the BK signal returns null;
      // 2)When the BK signal is sent out, the K-line BARSBK returns null, and if BARSBK>=1 is not satisfied, it is the closing price of the K-line.
      // 3)The K-line BARSBK after the BK signal is sent, returns the number of periods from the current K-line between the K-line for purchasing and opening a position, REF(C,BARSBK)
      Return the closing price of the opening K-line.
      // 4)Example: three K-lines: 1, 2, and 3, 1 K-line is the current K-line of the position opening signal, then returns the closing price of the current K-line, 2, 3
      The K-line returns the closing price of the 1 K-line.
      
    • یونٹ

      ڈیٹا کنٹریکٹ کی ٹریڈنگ یونٹ حاصل کریں.

      Get the trading unit of the data contract.
      Usage:
      UNIT takes the trading unit of the loaded data contract.
      

      کریپٹوکرنسی اسپاٹ

      یونٹ قدر 1 ہے.

      کریپٹوکرنسی فیوچر

      یونٹ کی قدر معاہدے کی کرنسی سے متعلق ہے۔

      OKEX futures currency standard contracts: 1 contract for BTC represents $100, 1 contract for other currencies represents $10
      
    • MINPRICE

      اعداد و شمار کے معاہدے کی کم سے کم تبدیلی کی قیمت.

      Take the minimum variation price of the data contract.
      Usage:
      MINPRICE; Take the minimum variation price of the loaded data contract.
      
    • MINPRICE1

      تجارتی معاہدے کی کم سے کم تغیراتی قیمت۔

      Take the minimum variation price of a trading contract.
      Usage:
      MINPRICE1; Take the minimum variation price of a trading contract.
      
  • وقت کا فنکشن

    • بارپوس

      K لائن کی پوزیشن لے لو.

      BARPOS, Returns the number of periods from the first K-line to the current one.
      
      Remarks:
      1.BARPOS returns the number of locally available K-line, counting from the data that exists on the local machine.
      2.The return value of the first K-line existing in this machine is 1.
      
      Example 1:LLV(L,BARPOS);        // Find the minimum value of locally available data.
      
      Example 2:IFELSE(BARPOS=1,H,0); // The current K-line is the first K-line that already exists in this machine, and it takes the highest value, otherwise it takes 0.
      
    • ڈے بارپوس

      DAYBARPOS موجودہ K لائن BAR دن کے K لائن BAR ہے.

    • مدت

      مدت کی قدر منٹ کی تعداد ہے.

      1, 3, 5, 15, 30, 60, 1440
      
    • تاریخ

      تاریخفنکشن DATE، سال، مہینے، اور 1900 کے بعد کی مدت کے دن حاصل کریں.

      Example 1:
      AA..DATE;                  // The value of AA at the time of testing is 220218, which means February 18, 2022
      
    • وقت

      K-لائن لینے کا وقت.

      TIME, the time of taking the K-line.
      
      Remarks:
      1.The function returns in real time in the intraday, and returns the starting time of the K-line after the K-line is completed.
      2.This function returns the exchange data reception time, which is the exchange time.
      3.The TIME function returns a six-digit form when used on a second period, namely: HHMMSS, and displays a four-digit form on other periods, namely: HHMM.
      4.The TIME function can only be loaded in periods less than the daily period, and the return value of the function is always 1500 in the daily period and periods above the daily period.
      5. It requires attention when use the TIME function to close a position at the end of the day
      (1).It is recommended to set the time for closing positions at the end of the market to the time that can actually be obtained from the return value of the K-line (for example: the return time of the last K-line in the 5-minute period of the thread index is 1455, and the closing time at the end of the market is set to TIME>=1458, CLOSEOUT; the signal of closing the position at the end of the market cannot appear in the effect test)
      (2).If the TIME function is used as the condition for closing the position at the end of the day, it is recommended that the opening conditions should also have a corresponding time limit (for example, if the condition for closing the position at the end of the day is set to TIME>=1458, CLOSEOUT; then the condition TIME needs to be added to the corresponding opening conditions. <1458; avoid re-opening after closing)
      
      Example 1:
      C>O&&TIME<1450,BK;
      C<O&&TIME<1450,SK;
      TIME>=1450,SP;
      TIME>=1450,BP;
      AUTOFILTER;
      // Close the position after 14:50.
      Example 2:
      ISLASTSK=0&&C>O&&TIME>=0915,SK;
      
    • سال

      Year.

      YEAR, year of acquisition.
      
      Remark:
      The value range of YEAR is 1970-2033.
      
      Example 1:
      N:=BARSLAST(YEAR<>REF(YEAR,1))+1;
      HH:=REF(HHV(H,N),N);
      LL:=REF(LLV(L,N),N);
      OO:=REF(VALUEWHEN(N=1,O),N);
      CC:=REF(C,N);                               // Take the highest price, lowest price, opening price, and closing price of the previous year
      Example 2:
      NN:=IFELSE(YEAR>=2000 AND MONTH>=1,0,1);
      
    • مہینہ

      مہینہ لے لو.

      MONTH, returns the month of a period.
      
      Remark:
      The value range of MONTH is 1-12.
      
      Example 1:
      VALUEWHEN(MONTH=3&&DAY=1,C);                // Take its closing price when the K-line date is March 1
      Example 2:
      C>=VALUEWHEN(MONTH<REF(MONTH,1),O),SP;
      
    • دن

      ایک مدت میں دنوں کی تعداد حاصل کریں

      DAY, returns the number of days in a period.
      
      Remark:
      The value range of DAY is 1-31.
      
      Example 1:
      DAY=3&&TIME=0915,BK;                      // 3 days from the same day, at 9:15, buy it
      Example 2:
      N:=BARSLAST(DATE<>REF(DATE,1))+1;
      CC:=IFELSE(DAY=1,VALUEWHEN(N=1,O),0);      // When the date is 1, the opening price is taken, otherwise the value is 0
      
    • گھنٹے

      Hour.

      HOUR, returns the number of hours in a period.
      
      Remark:
      The value range of HOUR is 0-23
      
      Example 1:
      HOUR=10;                                   // The return value is 1 on the K-line at 10:00, and the return value on the remaining K-lines is 0
      
    • منٹ

      Minute.

      MINUTE, returns the number of minutes in a period.
      
      Remarks:
      1: The value range of MINUTE is 0-59
      2: This function can only be loaded in the minute period, and returns the number of minutes when the K-line starts.
      Example 1:
      MINUTE=0;                                 // The return value of the minute K-line at the hour is 1, and the return value of the other K-lines is 0
      Example 2:
      TIME>1400&&MINUTE=50,SP;                   // Sell and close the position at 14:50
      
    • ہفتہ کا دن

      ہفتے کا نمبر حاصل کریں.

      WEEKDAY, get the number of the week.
      
      Remark:
      1: The value range of WEEKDAY is 0-6. (Sunday ~ Saturday)
      
      Example 1:
      N:=BARSLAST(MONTH<>REF(MONTH,1))+1;
      COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP;
      COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP;
      AUTOFILTER;                               // Automatically close positions at the end of the monthly delivery day
      Example 2:
      C>VALUEWHEN(WEEKDAY<REF(WEEKDAY,1),O)+10,BK;
      AUTOFILTER;
      
  • منطقی فیصلے کا کام

    • بارسٹیٹوس

      موجودہ مدت کے لئے پوزیشن کی حیثیت واپس کریں.

      BARSTATUS returns the position status for the current period.
      
      Remark:
      The function returns 1 to indicate that the current period is the first period, returns 2 to indicate that it is the last period, and returns 0 to indicate that the current period is in the middle.
      
      Example:
      A:=IFELSE(BARSTATUS=1,H,0);              // If the current K-line is the first period, variable A returns the highest value of the K-line, otherwise it takes 0
      
    • درمیان میں

      Between.

      BETWEEN(X,Y,Z) indicates whether X is between Y and Z, returns 1 (Yes) if established, otherwise returns 0 (No).
      
      Remark:
      1.The function returns 1(Yse) if X=Y, X=Z, or X=Y and Y=Z.
      
      Example 1:
      BETWEEN(CLOSE,MA5,MA10);                // It indicates that the closing price is between the 5-day moving average and the 10-day moving average
      
    • BARSLASTCOUNT

      BARSLASTCOUNT(COND) موجودہ مدت سے آگے گنتے ہوئے ، مسلسل ادوار کی تعداد گنتا ہے جو شرط کو پورا کرتے ہیں۔

      Remark:
      1. The return value is the number of consecutive non zero periods calculated from the current period
      2. the first time the condition is established when the return value of the current K-line BARSLASTCOUNT(COND) is 1
      
      Example:
      BARSLASTCOUNT(CLOSE>OPEN);
      //Calculate the number of consecutive positive periods within the current K-line
      
    • کراس

      کراس فنکشن.

      CROSS(A,B) means that A crosses B from bottom to top, and returns 1 (Yes) if established, otherwise returns 0 (No)
      
      Remark:
      1.To meet the conditions for crossing, the previous k-line must satisfy A<=B, and when the current K-line satisfies A>B, it is considered to be crossing.
      
      Example 1:
      CROSS(CLOSE,MA(CLOSE,5));              // Indicates that the closing line crosses the 5-period moving average from below
      
    • کراس ڈاؤن

      کراس ڈاؤن

      CROSSDOWN(A,B): indicates that when A passes through B from top to bottom, it returns 1 (Yes) if it is established, otherwise it returns 0 (No)
      
      Remark:
      1.CROSSDOWN(A,B) is equivalent to CROSS(B,A), and CROSSDOWN(A,B) is easier to understand
      
      Example 1:
      MA5:=MA(C,5);
      MA10:=MA(C,10);
      CROSSDOWN(MA5,MA10),SK;               // MA5 crosses down MA10 to sell and open a position
      // CROSSDOWN(MA5,MA10),SK; Same meaning as CROSSDOWN(MA5,MA10)=1,SK;
      
    • CROSSUP

      Crossup.

      CROSSUP(A,B) means that when A crosses B from the bottom up, it returns 1 (Yes) if it is established, otherwise it returns 0 (No)
      
      Remark:
      1.CROSSUP(A,B) is equivalent to CROSS(A,B), and CROSSUP(A,B) is easier to understand.
      
      Example 1:
      MA5:=MA(C,5);
      MA10:=MA(C,10);
      CROSSUP(MA5,MA10),BK;                 // MA5 crosses MA10, buy open positions
      // CROSSUP(MA5,MA10),BK;与CROSSUP(MA5,MA10)=1,BK; express the same meaning
      
    • ہر ایک

      اس بات کا تعین کریں کہ آیا یہ مسلسل مطمئن ہے.

      EVERY(COND,N), Determine whether the COND condition is always satisfied within N periods. The return value of the function is 1 if it is satisfied, and 0 if it is not satisfied.
      
      Remarks:
      1.N contains the current K-line.
      2.If N is a valid value, but there are not so many K-lines in front, or N is a null value, it means that the condition is not satisfied, and the function returns a value of 0.
      3.N can be a variable.
      
      Example 1:
      EVERY(CLOSE>OPEN,5);                // Indicates that it has been a positive line for 5 periods
      Example 2:
      MA5:=MA(C,5);                       // Define a 5-period moving average
      MA10:=MA(C,10);                     // Define a 10-period moving average
      EVERY(MA5>MA10,4),BK;               // If MA5 is greater than MA10 within 4 periods, then buy the open position
      // EVERY(MA5>MA10,4),BK; has the same meaning as EVERY(MA5>MA10,4)=1,BK;
      
    • موجود ہے

      اس بات کا تعین کریں کہ کیا اطمینان ہے.

      EXIST(COND, N) judges whether there is a condition that satisfies COND within N periods.
      
      Remarks:
      1.N contains the current K-line.
      2.N can be a variable.
      3.If N is a valid value, but there are not so many K-lines in front, it is calculated according to the actual number of periods.
      
      Example 1:
      EXIST(CLOSE>REF(HIGH,1),10);     // Indicates whether there is a closing price greater than the highest price of the previous period in 10 periods, returns 1 if it exists, and returns 0 if it does not exist
      Example 2:
      N:=BARSLAST(DATE<>REF(DATE,1))+1;
      EXIST(C>MA(C,5),N);              // Indicates whether there is a K-line that satisfies the closing price greater than the 5-period moving average on the day, returns 1 if it exists, returns 0 if it does not exist
      
    • اگر

      حالت کی تقریب.

      IF(COND,A,B)Returns A if the COND condition is true, otherwise returns B.
      
      Remarks:
      1.COND is a judgment condition; A and B can be conditions or values.
      2.This function supports the variable circular reference to the previous period's own variable, that is, supports the following writing Y: IF(CON,X,REF(Y,1)).
      Example 1:
      IF(ISUP,H,L);                   // The K-line is the positive line, the highest price is taken, otherwise the lowest price is taken
      Example 2:
      A:=IF(MA5>MA10,CROSS(DIFF,DEA),IF(CROSS(D,K),2,0));     // When MA5>MA10, check whether it satisfies the DIFF and pass through DEA, otherwise (MA5 is not greater than MA10), when K and D are dead fork, let A be assigned a value of 2, if none of the above conditions are met, A is assigned a value of 0
      A=1,BPK;                                                // When MA5>MA10, the condition for opening a long position is to cross DEA above the DIFF
      A=2,SPK;                                                // When MA5 is not greater than MA10, use K and D dead forks as the conditions for opening short positions
      
    • IFELSE

      حالت کی تقریب.

      IFELSE(COND,A,B) Returns A if the COND condition is true, otherwise returns B.
      
      Remarks:
      1.COND is a judgment condition; A and B can be conditions or values.
      2.This function supports variable circular reference to the previous period's own variable, that is, supports the following writing Y: IFELSE(CON,X,REF(Y,1));
      Example 1:
      IFELSE(ISUP,H,L);                                             // The K-line is the positive line, the highest price is taken, otherwise the lowest price is taken
      Example 2:
      A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0));   // When MA5>MA10, check whether it satisfies the DIFF and pass through DEA, otherwise (MA5 is not greater than MA10), when K and D are dead fork, let A be assigned a value of 2, if none of the above conditions are met, A is assigned a value of 0
      A=1,BPK;                                                      // When MA5>MA10, the condition for opening a long position is to cross DEA above the DIFF
      A=2,SPK;                                                      // When MA5 is not greater than MA10, use K and D dead forks as the conditio

متعلقہ

مزید