TradingView पर आपका इंडिकेटर सिग्नल तो दिखा देता है — लेकिन आप 24 घंटे चार्ट नहीं देखते रहेंगे। यहीं alertcondition और webhooks काम आते हैं: Pine अलर्ट ट्रिगर करता है, और TradingView एक मैसेज (JSON) आपके किसी पते पर भेजता है, जो एक बॉट चला सकता है। यह गाइड Pine Script v5 में सही सिंटैक्स, webhook का payload कैसे बनाएँ और ऑटोमेट करने वालों की असली सावधानियाँ दिखाता है। ज़रूरी: ट्रेडिंग बेहद ऊँचे जोखिम वाली है और webhooks लाभ की गारंटी नहीं देते — पूरे फ़्लो को डेमो अकाउंट पर टेस्ट करें।

सिग्नल तो है, पर एक्ज़ीक्यूशन बाक़ी है? देखें कि कैसे एक Python बॉट webhook प्राप्त करता है और जोखिम प्रबंधन के साथ ट्रेड करता है — डेमो अकाउंट पर टेस्ट करते हुए।

Python में बॉट देखें →

alertcondition बनाम alert(): किसका इस्तेमाल करें?

Pine v5 में दो रास्ते हैं। alertcondition() एक “कंडीशन” बनाता है जिसे आप TradingView में अलर्ट बनाते समय मैन्युअली चुनते हैं। वहीं alert() फ़ंक्शन एक्ज़ीक्यूशन के दौरान डायनैमिक रूप से ट्रिगर होता है और मैसेज को रियल-टाइम में बनाने देता है। डायनैमिक payload (क़ीमत, असेट) वाले webhooks के लिए, alert() आम तौर पर ज़्यादा लचीला होता है; alertcondition() फ़िक्स्ड और सरल सिग्नल के लिए बढ़िया है।

alertcondition का सिंटैक्स

alertcondition(condition, title, message)

condition — बूलियन एक्सप्रेशन (जैसे एक crossover)।
title — वह नाम जो अलर्ट की लिस्ट में दिखता है।
message — भेजा जाने वाला टेक्स्ट (यह webhook का JSON हो सकता है)।

उदाहरण: crossover सिग्नल

//@version=5 indicator(“Alertas EMA – IA Trader Pro”, overlay=true) emaFast = ta.ema(close, 9) emaSlow = ta.ema(close, 21) buy = ta.crossover(emaFast, emaSlow) sell = ta.crossunder(emaFast, emaSlow) plot(emaFast, color=color.green) plot(emaSlow, color=color.red) alertcondition(buy, “Compra”, ‘{“acao”:”BUY”,”ativo”:”{{ticker}}”}’) alertcondition(sell, “Venda”, ‘{“acao”:”SELL”,”ativo”:”{{ticker}}”}’)
TradingView के Placeholders: मैसेज के अंदर आप {{ticker}}, {{close}}, {{time}} और {{interval}} जैसे वेरिएबल इस्तेमाल कर सकते हैं — TradingView ट्रिगर होने के पल पर इन्हें असली वैल्यू से बदल देता है।

alert() के साथ डायनैमिक मैसेज

अगर आप JSON को रियल-टाइम में बनाना चाहते हैं (जैसे कैलकुलेट की गई क़ीमत शामिल करना), तो कंडीशन के अंदर alert() इस्तेमाल करें:

if buy msg = ‘{“acao”:”BUY”,”preco”:’ + str.tostring(close) + ‘}’ alert(msg, alert.freq_once_per_bar_close)

दूसरा आर्गुमेंट फ़्रीक्वेंसी कंट्रोल करता है: alert.freq_once_per_bar_close सिर्फ़ बार के बंद होने पर ट्रिगर होता है — कैंडल के दौरान “रीपेंट” करने वाले सिग्नल से बचने के लिए अनुशंसित।

Webhook कॉन्फ़िगर करना

TradingView में अलर्ट बनाते समय: Webhook URL विकल्प चुनें और अपने सर्वर का पता पेस्ट करें (जैसे एक endpoint जो POST प्राप्त करता है)। अलर्ट का मैसेज रिक्वेस्ट का बॉडी (body) बन जाता है। आपका सर्वर JSON पढ़ता है, उसे वैलिडेट करता है और फिर ब्रोकर के API के ज़रिए ऑर्डर एक्ज़ीक्यूट करता है।

सुरक्षा सावधानियाँ: कोई भी जो आपकी URL जान ले, वह रिक्वेस्ट भेज सकता है। JSON में एक गुप्त टोकन शामिल करें और सर्वर पर वैलिडेट करें; HTTPS इस्तेमाल करें; और ब्रोकर की कीज़ कभी Pine में उजागर न करें। webhook को सिर्फ़ इरादा (BUY/SELL) ले जाना चाहिए, कभी क्रेडेंशियल नहीं।

ईमानदार सीमाएँ

Webhook शक्तिशाली है, पर इसमें ख़तरे हैं: यह सुविधा आपके TradingView प्लान पर निर्भर करती है; अलर्ट कुछ सेकंड देर हो सकते हैं (बहुत तेज़ scalping के लिए बुरा); हर बाइनरी ब्रोकर बाहरी एक्ज़ीक्यूशन स्वीकार नहीं करता; और “ऑटोमेट करना” किसी ख़राब रणनीति को सुधारता नहीं — यह बस पहले से नुक़सानदेह चीज़ को और तेज़ी से चलाता है। अच्छा webhook + बिना बढ़त वाली रणनीति = पैसा और तेज़ी से गँवाना।

FAQ

क्या webhook इस्तेमाल करने के लिए भुगतान करना पड़ता है?
हाँ, webhook से अलर्ट भेजना TradingView के पेड प्लान पर निर्भर करता है। अपने मौजूदा प्लान पर पुष्टि करें।

alertcondition या alert()?
सरल फ़िक्स्ड सिग्नल के लिए alertcondition इस्तेमाल करें; जब मैसेज को डायनैमिक रूप से बनाना हो तब alert() इस्तेमाल करें।

रीपेंट होने वाले सिग्नल कैसे रोकें?
बार के बंद होने पर ट्रिगर करें (alert.freq_once_per_bar_close) और कैंडल के दौरान बदलने वाली कंडीशन से बचें।

क्या TradingView ख़ुद ऑर्डर एक्ज़ीक्यूट करता है?
नहीं। यह सिर्फ़ मैसेज भेजता है। एक्ज़ीक्यूट वही करता है — आपका सर्वर/बॉट जो webhook प्राप्त करता है।

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