मेरे पास अन्य प्लेटफ़ॉर्म के साथ प्रोग्रामिंग अनुभव है लेकिन यह मेटाट्रेडर और सी आधारित भाषा पर मेरा पहला प्रयास है और मुझे कुछ मदद चाहिए। मैं एक चार्ट पर अलग-अलग समय-सीमा के साथ उच्चतम उच्चतम और निम्नतम कम प्लॉट करने के लिए एक साधारण संकेतक से शुरुआत करना चाहता था। कोड संकलित करता है लेकिन चार्ट में जोड़े जाने पर प्लॉट नहीं किया जाता है:

सम्मिलित कोड #property कॉपीराइट इंटरनेट #property लिंक #property indior_chart_window #property indior_buffers 4/---- इनपुट पैरामीटर बाहरी int timeframe1 = 15; बाहरी int timeframe2 = 240;/--- सूचक बफर डबल ExtMapBuffer1 # 91; # 9 3 ;; डबल ExtMapBuffer2 # 91; # 9 3 ;; डबल ExtMapBuffer3 # 91; # 9 3 ;; डबल ExtMapBuffer4 # 91; # 9 3 ;;/ ----------------------------------------------- ------------------- /| कस्टम सूचक प्रारंभिक समारोह |/ ----------------------------------------------- ------------------- int init () {//---- सूचक बफर सेटिंग इंडेक्सबफर (0, ExtMapBuffer1) मैपिंग; SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (1, ExtMapBuffer2); SetIndexStyle (1, DRAW_LINE); SetIndexBuffer (2, ExtMapBuffer3); SetIndexStyle (2, DRAW_LINE); SetIndexBuffer (3, ExtMapBuffer4); SetIndexStyle (3, DRAW_LINE);* ---- आयताकार संकेतक बनाएं ऑब्जेक्टक्रेट (एसओबीजेनाम, ओबीजेजेक्टएगल, 0, 0, 0, 0, 0); ऑब्जेक्टसेट (एसओबीजेनाम, ओबीजेप्रोपीवाई, स्टाइल_SOLID); ऑब्जेक्टसेट (एसओबीजेनाम, ओबीजेप्रोफोलर, सीओबीजेकॉलर); ऑब्जेक्टसेट (एसओबीजेनाम, ओबीजेप्रोपैकैक, बीपीआरपीबीएक); *वापसी (0); }/ ---------------------------------------------- -------------------- /| कस्टम सूचक deinitialization समारोह |/ ----------------------------------------------- ------------------- int deinit () {//----/---- वापसी (0); }/ ---------------------------------------------- -------------------- /| कस्टम सूचक पुनरावृत्ति समारोह |/ ----------------------------------------------- ------------------- int start () {int counted_bars = संकेतक गणना (); int सीमा; int pos = 0; डबल उच्च टी 1; डबल लोटी 1; डबल उच्च टी 2; डबल लोटी 2;/---- चार्ट पर बार्स की संख्या गिनने के लिए स्क्रिप्ट अगर (counted_barslt; 0) वापसी (-1); अगर (counted_barsgt; 0) counted_bars--; सीमा = बार्स-counted_bars;/---- मुख्य कोड के लिए (int i = 0; ilt; = timeframe1; i ) {if (high # 91; i # 93; gt; highT1) highT1 = उच्च # 91; i # 93 ;; अगर (कम # 9 1; i # 93; लेफ्टिनेंट; लोटी 1) कम टी 1 = कम # 9 1; i # 93 ;; } के लिए (int j = 1; jlt; = timeframe2; j ) {if (high # 91; j # 93; gt; highT2) highT2 = उच्च # 91; j # 93 ;; अगर (कम # 9 1; जे # 9 3; लेफ्टिनेंट; लोटी 2) कम टी 2 = कम # 9 1; जे # 9 3 ;; } के लिए (pos = बार्स; pos gt; = 0; pos--) {ExtMapBuffer1 # 91; pos # 93; = उच्च टी 1; ExtMapBuffer2 # 91; स्थिति # 93; = कम टी 1; ExtMapBuffer3 # 91; स्थिति # 93; = उच्च टी 2; ExtMapBuffer4 # 91; स्थिति # 93; = कम टी 2; } वापसी (0); }/ ---------------------------------------------- --------------------