iCustom वापसी Empty_val
Results 1 to 8 of 8

Thread: iCustom वापसी Empty_val

  1. #1
    नवागत fxayopui's Avatar
    प्रविष्टियाँ
    4
    नमस्ते

    मैं निम्नलिखित इंडोर का उपयोग कर रहा हूं जो अपने स्वयं के तीर आदि को प्रिंट करने पर अच्छा काम करता है। कोड नमूना नीचे।

    #प्रॉपर्टी इंडोर_चार्ट_विंडो
    #प्रॉपर्टी इंडोर_बफ़र्स 2
    #प्रॉपर्टी इंडोर_कलर1 लाइम
    #प्रॉपर्टी इंडोर_चौड़ाई 1 1
    #प्रॉपर्टी इंडोर_कलर2 पीला
    #प्रॉपर्टी इंडोर_चौड़ाई 2 1
    बाहरी बूल UseAlert = सच;
    बाहरी int BarsToCount = 1000;

    डबल सरअपसिग [];
    डबल सरडाउनसिग [];

    दिनांक समय टीटी;
    int init ()
    {
    //---- घर के अंदर
    सेटइंडेक्स स्टाइल (0, DRAW_ARROW);
    सेटइंडेक्सएरो (0,233);
    सेटइंडेक्सबफ़र (0, सरअपसिग);

    सेटइंडेक्स स्टाइल (1, DRAW_ARROW);
    सेटइंडेक्सएरो (1,234);
    सेटइंडेक्सबफर (1, सारडाउनसिग);

    टीटी = आईटाइम (प्रतीक (), 0,0);
    //----
    वापसी (0);
    }

    इंट स्टार्ट ()
    {

    अंतर सीमा;
    int गिने_बार = IndiorCounted ();
    //---- अंतिम गिने हुए बार की फिर से गणना की जाएगी
    if(counted_barsgt;0) गिने_बार--;
    सीमा = बार्स-काउंटेड_बार्स;
    //---- macd को 1-st बफर में गिना जाता है
    अगर(अवधि()!=PERIOD_H1)
    {
    वापसी (0);
    }

    अगर (BarsToCount lt; सीमा)
    सीमा = बार्सटकाउंट;


    for(int i=limit; igt;=0; i--)
    {
    दिनांक समय समय = iTime (प्रतीक (), 0, i);
    int shiftD1 = iBarShift (प्रतीक (), PERIOD_D1, समय, असत्य);
    int shiftH4 = iBarShift (प्रतीक (), PERIOD_H4, समय, असत्य);
    int shiftH1 = iBarShift (प्रतीक (), PERIOD_H1, समय, असत्य);

    डबल OsMa1 = iCustom (प्रतीक (), PERIOD_H1, OSMA, 30,200,5,0, shiftH1);
    डबल OsMa2 = iCustom (प्रतीक (), PERIOD_H1, OSMA, 5,35,35,0, shiftH1);

    डबल POsMa1 = iCustom(प्रतीक(),PERIOD_H1,OSMA,30,200 ,5,0,hiftH1 1);
    डबल POsMa2 = iCustom(Symbol(),PERIOD_H1,OsMA,5,35,35,0,shiftH1 1);

    //डबल Up_ST = iCustom (प्रतीक (), 0,4xRider STRONG-TREND सिग्नल v2,14,2, i);
    //double Dn_ST = iCustom(Symbol(),0,4xRider STRONG-TREND Signal v2,14,1,i);

    डबल SARD1 = iSAR (प्रतीक (), PERIOD_D1,0.22,0.2, shiftD1);
    डबल SARH4 = iSAR (प्रतीक (), PERIOD_H4,0.05,0.2, shiftH4);
    डबल SARH1 = iSAR (प्रतीक (), PERIOD_H1,0.01,0.2, shiftH1);
    //डबल सरलास्ट = iSAR(प्रतीक(),0,0.02,0.2,i 1);
    डबल CLOSED1 = iClose (प्रतीक (), PERIOD_D1, shiftD1);
    डबल CLOSEH4 = iClose (प्रतीक (), PERIOD_H4, ShiftH4);
    डबल CLOSEH1 = iClose (प्रतीक (), PERIOD_H1, shiftH1);

    डबल PSARD1 = iSAR (प्रतीक (), PERIOD_D1,0.22,0.2, ShiftD1 1);
    डबल PSARH4 = iSAR (प्रतीक (), PERIOD_H4,0.05,0.2, ShiftH4 1);
    डबल PSARH1 = iSAR (प्रतीक (), PERIOD_H1,0.01,0.2, ShiftH1 1);
    //डबल सरलास्ट = iSAR(प्रतीक(),0,0.02,0.2,i 1);
    डबल PCLOSED1 = iClose (प्रतीक (), PERIOD_D1, shiftD1 1);
    डबल PCLOSEH4 = iClose (प्रतीक (), PERIOD_H4, ShiftH4 1);
    डबल PCLOSEH1 = iClose (प्रतीक (), PERIOD_H1, shiftH1 1);

    SarUpSig[i]=EMPTY_VALUE;
    सारडाउनसिग[i]=EMPTY_VALUE;

    स्ट्रिंग खरीदें;
    //खरीदना

    //अगर (Up_ST! = EMPTY_VALUE)
    //{
    //सरअपसिग [1] = 1.6094;
    if(SarUpSig[i 1] != EMPTY_VALUE SARH1lt;CLOSEH1 OsMa2gt;0 SARH4lt;CLOSEH4)
    {
    सरअपसिग [i] = SARH1;
    if(TT!=iTime(Symbol(),0,0)UseAlert)
    {
    //स्ट्रिंग समय = TimeToStr (TimeCurrent ());
    अलर्ट (4xराइडर (खरीदें) प्रतीक ());
    प्लेसाउंड (अलर्ट। वाव);
    टीटी = आईटाइम (प्रतीक (), 0,0);
    }
    }
    अगर ((PSARH4gt; PCLOSEH4POsMa1lt; 0PSARH1gt; PCLOSEH1)
    (SARH4lt;CLOSEH4OsMa1gt;0SARH1lt;CLOSEH1SARD1lt;CL OSED1) OsMa2gt;0)
    {
    सरअपसिग [i] = SARH1;
    खरीद = व्यापार;
    if(TT!=iTime(Symbol(),0,0)UseAlert)
    {
    //स्ट्रिंग समय = TimeToStr (TimeCurrent ());
    अलर्ट (4xराइडर (खरीदें) प्रतीक ());
    प्लेसाउंड (अलर्ट। वाव);
    टीटी = आईटाइम (प्रतीक (), 0,0);
    }
    }

    //}
    स्ट्रिंग बेचना;
    //बेचना

    //अगर (Dn_ST! = EMPTY_VALUE)
    //{
    if(SarDownSig[i 1] != EMPTY_VALUE SARH1gt;CLOSEH1 OsMa2lt;0 SARH4gt;CLOSEH4)
    {
    सारडाउनसिग [i] = SARH1;
    if(TT!=iTime(Symbol(),0,0)UseAlert)
    {
    //स्ट्रिंग समय = TimeToStr (TimeCurrent ());
    अलर्ट (4xराइडर (बिक्री) प्रतीक ());
    प्लेसाउंड (अलर्ट। वाव);
    टीटी = आईटाइम (प्रतीक (), 0,0);
    }
    }
    अगर ((PSARH4lt; PCLOSEH4POsMa1gt; 0PSARH1lt; PCLOSEH1)
    (SARH4gt;CLOSEH4OsMa1lt;0SARH1gt;CLOSEH1SARD1gt;CL OSED1) OsMa2lt;0)
    {
    सारडाउनसिग [i] = SARH1;
    if(TT!=iTime(Symbol(),0,0)UseAlert)
    {
    //स्ट्रिंग समय = TimeToStr (TimeCurrent ());
    अलर्ट (4xराइडर (बिक्री) प्रतीक ());
    प्लेसाउंड (अलर्ट। वाव);
    टीटी = आईटाइम (प्रतीक (), 0,0);
    }
    }

    //}

    //बेचना

    }
    //----
    //टिप्पणी (इंडोर से: , DoubleToStr (SarUpSig [1], अंक));
    वापसी (0);
    }


    मैं निम्नानुसार मूल्यों को पढ़ने के लिए ईए का उपयोग कर रहा हूं।

    #इंडी MyIndior को परिभाषित करें

    डबल इंडीउपवैल = आई कस्टम (न्यूल, 0, इंडी, झूठा, 5, 0, 1);
    डबल इंडिडाउनवैल = iCustom(NULL, 0, INDI, false, 5, 1, 1);

    टिप्पणी (इंडीउपवैल: डी2एस(इंडीअपवैल) । इंडीउपवैल: डी2एस(इंडीडाउनवैल));

    D2S = अंकों के साथ DoubleToString

    कोई फर्क नहीं पड़ता कि मैं क्या करता हूं iCustom EMPTY_VAL लौटाता है।

    अगर मैं सही समय पर इंडोर के भीतर से वैल्यू प्रिंट करता हूं तो SarUpSig[1]
    सही मान लौटाएगा। लेकिन iCustom हमेशा EMPTY_VAL देता है।

    क्यों?

    कोई भी मदद बहुत ही सराहनीय होगी।

  2. #2
    सदस्य oxfxtimtim63's Avatar
    प्रविष्टियाँ
    72
    कोडमेस्टर आपने मुझे प्राप्त किया। मेरा उत्तर गलत था। मेरे पास एक विशाल मस्तिष्क गोज़ था। ओपी: यदि आप 2 चीजें करते हैं तो इससे आपको इसे हल करने में मदद मिलेगी। 1. कोड को कोड टैग के अंदर कॉपी और पेस्ट करें ताकि हम कोड को बिल्कुल कॉपी कर सकें। आपको इसका एहसास नहीं हो सकता है लेकिन जिस तरह से आपने अभी-अभी स्क्रिप्ट को चिपकाया है, उसे मेटाएडिटर में कॉपी करने और संकलित करने का प्रयास करते समय कई समस्याएं होती हैं। यदि आप चाहते हैं कि हम कोड संकलित करें और आपकी तलाश करें तो आपको बस हमारे लिए यह करना होगा। 2. संक्षेप में बताएं कि इंडी क्या करने के लिए है और अपेक्षित आउटपुट क्या है। संपादित करें: कोई बात नहीं। ऐसा लगता है कि iwjw आपके लिए सबसे ऊपर है।

  3. #3
    नवागत covspvcov's Avatar
    प्रविष्टियाँ
    4
    2 अटैचमेंट(ओं) इंडी के iCustom कॉल को इंडी के समान मूल्य मिलते हैं मैंने आपके कोड को एक .mq4 में कॉपी किया है और इंडी को 4xRider नाम दिया है दूसरा इंडी (4xRider_call) 4xRider के मूल्यों को पुनः प्राप्त करने के लिए iCustom का उपयोग कर रहा है। चार्ट पर समान आउटपुट (केवल 3 क्षेत्र जहां नवीनतम 1000 H1 बार के दौरान सिग्नल होते हैं)
    https://www.asjforex.com/attachments...5463976314.mq4
    https://www.asjforex.com/attachments...1176270264.mq4

  4. #4
    वरिष्ठ सदस्य levisamw's Avatar
    प्रविष्टियाँ
    107
    दोबारा मैंने कोड देखने का प्रयास नहीं किया, इसलिए मैं आपके अवलोकन पर अपना उत्तर दे रहा हूं, न कि क्या हो रहा है। यह देखने का सबसे सरल तरीका है कि आपका iCustom कॉल सही है या नहीं, एक बार के लिए एक इंडेक्स सेट करना है जो बंद हो गया है, 10 वीं बार कहें (यदि उसका कोई मान है)। एक बार के लिए एक मूल्य खोजने की कोशिश करना जिसकी पुनर्गणना की जा रही है (पुनः पेंट करना) की अनुशंसा नहीं की जाती है जब तक कि आपको इसे संभालने के बारे में कुछ समझ न हो। मैंने भी बिना किसी समस्या के कई बार आईकस्टम का उपयोग किया है, लेकिन मुझे लगता है कि ऐसी स्थिति हो सकती है जहां इंडोर कुछ ऐसा कर रहा हो जिसे आईकस्टम हैंडल नहीं कर सकता।

  5. #5
    नवागत fxayopui's Avatar
    प्रविष्टियाँ
    4

    Quote Originally Posted by ;
    इंडोर से रिटर्न वैल्यू का iCustom से कोई लेना-देना नहीं है। iCustom इंडोर बफ़र्स से मानों को पढ़ता है न कि वापसी मान से। करने के लिए पहली बात यह है कि डेटा विंडो में सत्यापित करें कि संकेतक अपेक्षित मूल्यों का उत्पादन कर रहा है। अगला सुनिश्चित करें कि iCustom कॉल के लिए पैरामीटर संख्या और मान प्रकार सही हैं। यह सभी बाहरी चरों की जांच करके और उन्हें सौंपे गए iCustom मानों से तुलना करके किया जा सकता है। कोड गड़बड़ है और मैं आपके लिए ऐसा करने की कोशिश नहीं करूंगा।
    हां। मैंने पहले ही सत्यापित कर लिया है कि डेटा विंडो मूल्यों को सही ढंग से प्रदर्शित करती हैं। मैं यह भी पुष्टि कर सकता हूं कि iCustom कॉल में दिए गए सभी मान सही प्रकार के हैं। सहमत हूं कि इंडोर कोड गड़बड़ है (मेरा नहीं)। मैं सोच रहा हूं कि शायद यह समस्या इसलिए हो रही है क्योंकि इंडोर लिमिट से 0 (i--) यानी पीछे की ओर जाता है। तो क्या यह हो सकता है कि इंडोर के पास पूरे सरणी को पॉप्युलेट करने का समय होने से पहले iCustom वापस आ रहा है? सुनिश्चित नहीं है कि iCustom से वापसी का समय समाप्त हो गया है या नहीं। किसी को यह पता है? या कॉल को तब तक ब्लॉक करता है जब तक इंडोर चलता और पूरा नहीं हो जाता। इसे बाहर निकालने के लिए मैंने केवल 5 को बारकाउंट पैरामीटर के रूप में भेजा ताकि इंडोर केवल अंतिम 5 बार को लूप करे। मैंने पुष्टि की कि यह इंडोर लूप में प्रिंट (i) डालकर हो रहा है। लेकिन वापसी मान अभी भी EMPTY_VALUE है। मैं समझ नहीं पा रहा हूं कि क्यों। विशेष रूप से क्योंकि डेटा विंडो में डेटा मुद्रित होता है और इंडोर के भीतर से मेरा प्रिंट स्टेटमेंट भी बफर में सही मान प्रिंट करता है। मैंने इससे पहले कई बार iCustom का उपयोग किया है, यह पहली बार है जब मैं इस तरह का कुछ अजीब देख रहा हूं।

  6. #6
    सदस्य oxfxtimtim63's Avatar
    प्रविष्टियाँ
    72
    सबसे पहले, आपको [कोड] टैग का उपयोग करने की आवश्यकता है: एस दूसरी बात, संक्षेप में देखकर आप शून्य को छोड़कर कोई मूल्य नहीं लौटा रहे हैं। स्टार्ट फ़ंक्शंस रिटर्न वैल्यू को उस पर बदलें, जिसमें से आप आईकस्टम के साथ पढ़ना चाहते हैं और देखें कि आप वहां से कैसे जाते हैं।

  7. #7
    वरिष्ठ सदस्य levisamw's Avatar
    प्रविष्टियाँ
    107
    इंडोर से रिटर्न वैल्यू का iCustom से कोई लेना-देना नहीं है। iCustom इंडोर बफ़र्स से मानों को पढ़ता है न कि वापसी मान से। करने के लिए पहली बात यह है कि डेटा विंडो में सत्यापित करें कि संकेतक अपेक्षित मूल्यों का उत्पादन कर रहा है। अगला सुनिश्चित करें कि iCustom कॉल के लिए पैरामीटर संख्या और मान प्रकार सही हैं। यह सभी बाहरी चरों की जांच करके और उन्हें सौंपे गए iCustom मानों से तुलना करके किया जा सकता है। कोड गड़बड़ है और मैं आपके लिए ऐसा करने की कोशिश नहीं करूंगा।

  8. #8
    नवागत fxayopui's Avatar
    प्रविष्टियाँ
    4

    Quote Originally Posted by ;
    इंडी के iCustom कॉल को इंडी के समान मूल्य मिलते हैं मैंने आपके कोड को एक .mq4 में कॉपी किया है और इंडी 4xRider नाम दिया है दूसरा इंडी (4xRider_call) 4xRider के मूल्यों को पुनः प्राप्त करने के लिए iCustom का उपयोग कर रहा है। चार्ट पर समान आउटपुट (केवल 3 क्षेत्र जहां नवीनतम 1000 H1 बार के दौरान सिग्नल होते हैं)
    हाँ, इंडी से इंडी कोई समस्या नहीं है। उसी हिस्से को काटकर ईए में डालें और हम वापस EMPTY_VAL पर आ गए हैं। हालांकि यह हर समय नहीं होता है। मुझे यह मुद्दा बहुत अधिक GBPUSD लगता है। EURUSD पर यह काम करता है लेकिन ऐसे उदाहरण हैं जो EMPTY_VAL लौटाते हैं। इसलिए मेरी मूल धारणा है कि इसका रिटर्न से कुछ लेना-देना है। ओह अच्छा। मैं कोशिश करता रहूंगा।

लेखन की अनुमति देना

  • अब आप यहाँ नए सूत्र लिख सकते हैं
  • आप उत्तर नहीं लिख सकते हैं
  • आप कोई अटैचमेंट नहीं लगा सकते हैं
  • आप अपने लेख को एडिट नहीं कर सकते हैं
  •  
  • बी बी कोड चालू है
  • स्माइली चालू हैं
  • [IMG] कोड चालू है
  • [VIDEO] कोड चालू है
  • HTML कोड बंद है
कूकी नीति:
asjforex.com वेबसाइट कूकीज का उपयोग करती है और आप इस वेबसाइट का उपयोग जारी रख कर इस से सहमत हैं। अधिक जानकारी के लिए कृपया 'कूकी प्रकटीकरण'पढ़ें।