ट्रेंड फॉलोइंग रणनीति चलती औसत के क्रॉसओवर पर आधारित एक ट्रेंड ट्रेडिंग रणनीति है। यह ट्रेंड की दिशा निर्धारित करने और तदनुसार ट्रेडिंग सिग्नल उत्पन्न करने के लिए एक घातीय चलती औसत (ईएमए) और एक हुल चलती औसत (एचएमए) के क्रॉसओवर का उपयोग करता है। रणनीति का उद्देश्य अल्पकालिक दोलन के बजाय दीर्घकालिक मूल्य प्रवृत्ति का पालन करना है।
यह रणनीति अलग-अलग मापदंडों वाले दो चलती औसत का उपयोग करती हैः एक तेज़ ईएमए और एक धीमी एचएमए। ईएमए मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करता है और इसका उपयोग अल्पकालिक रुझानों का न्याय करने के लिए किया जाता है, जबकि एचएमए धीमी गति से प्रतिक्रिया करता है और दीर्घकालिक प्रवृत्ति की दिशा को ट्रैक करता है।
जब तेजी से ईएमए धीमी एचएमए से ऊपर पार करता है, तो इसे ऊपर की प्रवृत्ति की शुरुआत के रूप में देखा जाता है, और रणनीति अगले बार खुले पर बाजार मूल्य पर एक लंबा ऑर्डर रखेगी। जब ईएमए एचएमए से नीचे पार करता है, तो इसे नीचे की प्रवृत्ति की शुरुआत के रूप में देखा जाता है, और रणनीति अगले बार खुले पर बाजार मूल्य पर छोटी हो जाएगी।
प्रवेश समय को अनुकूलित करने के लिए, रणनीति में एक हेकिन-अशी विकल्प शामिल है। जब सक्षम किया जाता है, तो खरीद और बिक्री संकेत सामान्य मोमबत्तियों के बजाय हेकिन-अशी बार पर आधारित होंगे। हेकिन-अशी बार मूल मोमबत्तियों पर अल्पकालिक मूल्य दोलन को फ़िल्टर कर सकते हैं और झूठे संकेतों को कम कर सकते हैं।
रणनीति में स्टॉप लॉस सेटिंग भी कार्य करती है. जब स्थिति हानि पूर्व निर्धारित स्टॉप लॉस प्रतिशत तक पहुंच जाती है, तो स्थिति को बाजार मूल्य पर बंद कर दिया जाएगा, प्रति व्यापार अधिकतम हानि को कैप कर दिया जाएगा.
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
प्रवृत्तियों को निर्धारित करने के लिए ईएमए और एचएमए क्रॉसओवर का उपयोग विभिन्न अवधि के चलती औसत का लाभ उठा सकता है और सटीकता में सुधार कर सकता है।
रुझानों के आधार पर ट्रेडिंग करने से मामूली उतार-चढ़ावों पर ध्यान देने से बचा जाता है और अनावश्यक ट्रेडों को कम किया जाता है।
हेकिन-अशी विकल्प झूठे संकेतों को फ़िल्टर करके प्रवेश समय को अनुकूलित करता है।
चलती स्टॉप लॉस प्रभावी रूप से प्रति व्यापार अधिकतम हानि को सीमित करती है।
अनुकूलन योग्य पैरामीटर विभिन्न उत्पादों और समय सीमाओं के लिए अनुकूलन की अनुमति देते हैं।
इस रणनीति के जोखिमों में निम्नलिखित शामिल हैंः
यह एक ट्रेंड फॉलो करने वाली प्रणाली के रूप में, रेंज-बाउंड बाजारों के दौरान खराब प्रदर्शन करता है।
जब रुझान उलटता है तो इसमें भारी नुकसान हो सकता है।
गलत स्टॉप-लॉस सेटिंग्स अनावश्यक स्टॉप का कारण बन सकती हैं या नुकसान को बढ़ा सकती हैं।
खराब पैरामीटर ट्यूनिंग से ओवरट्रेडिंग या निष्क्रियता हो सकती है।
ईएमए और एचएमए अवधि को विभिन्न उत्पादों और समय सीमाओं के लिए अनुकूलन की आवश्यकता होती है।
हेकिन-अशी झूठे भगोड़े के जोखिम से पूरी तरह बच नहीं सकता।
इस रणनीति में निम्नलिखित पहलुओं से सुधार किया जा सकता हैः
प्रवृत्ति सटीकता बढ़ाने के लिए एमएसीडी, केडीजे जैसे अधिक संकेतकों का उपयोग करें।
झूठे ब्रेक को कम करने के लिए अधिक फ़िल्टर जैसे वॉल्यूम, एटीआर जोड़ें।
उत्पादों और समय सीमाओं के आधार पर चलती औसत के मापदंडों का अनुकूलन करना।
बेहतर स्टॉप लॉस व्यवहार के लिए स्टॉप लॉस प्रतिशत को ठीक करें।
लाभ लेने की सुविधाओं पर विचार करें जैसे कि लाभ रोक और आंशिक लाभ लेने की सुविधा।
अनुकूलन के लिए स्थिति लागत आधार की गणना के लिए वैकल्पिक तरीकों का परीक्षण करें।
ट्रेंड फॉलो करने वाली रणनीति चलती औसत क्रॉसओवर का उपयोग करके रुझानों की पहचान करती है, और हेकिन-अशी और चलती स्टॉप लॉस के माध्यम से प्रदर्शन को अनुकूलित करती है। यह मध्यम से दीर्घकालिक ट्रेंड ट्रेडिंग के लिए उपयुक्त है, और पैरामीटर ट्यूनिंग और सुविधा विस्तार के माध्यम से और बढ़ाया जा सकता है। लेकिन उपयोगकर्ताओं को उलटफेर और अनुचित स्टॉप लॉस के जोखिमों से अवगत होना चाहिए। कुल मिलाकर यह ट्रेंड ट्रेडिंग के लिए एक सार्वभौमिक और अनुकूलन योग्य ढांचा प्रदान करता है जो विभिन्न उत्पादों और समय सीमाओं में काम करता है। इसे लागू करते समय उचित पैरामीटर परीक्षण की आवश्यकता होती है।
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("𝐉𝐔𝐈𝐂𝐘 𝐓𝐑𝐄𝐍𝐃", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=15) //Heikin Ashi Option ha = input(true, title = "Heikin Ashi Source") src = ha ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, barmerge.gaps_off, barmerge.lookahead_off) : close usestoploss = input(true, title="Stop Loss") //EMA len1 = input.int(9, minval=1, title="EMA Length") ema = ta.ema(src, len1) emaline = plot(ema, title="EMA", color=color.blue, linewidth=2) //HMA len2 = input.int(69, minval=1, title="HMA Length") hma = ta.wma(2*ta.wma(src, len2/2)-ta.wma(src, len2), math.floor(math.sqrt(len2))) hmaline = plot(hma, title="HMA", color=color.purple, linewidth=2) fillcolor = hma < ema ? color.blue : color.purple fill(emaline, hmaline, title="EMA Fill", color=color.new(fillcolor, 80), editable=true) //Stop Loss Conditions stoplosspercent = input.float(title="Stop Loss (%)", defval=-6.5, minval=-50, maxval=0, step=.1) / 100 stoploss = strategy.position_avg_price * (1 + stoplosspercent) stop = stoploss > close and stoploss[1] < close[1] and strategy.position_size > 0 and usestoploss //Buy Sell Conditions buy = hma < ema sell = hma > ema //Trades and Alerts if buy strategy.entry("Long Position", strategy.long, comment="BUY") // alert("{\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar) if sell and strategy.openprofit > 0 strategy.close("Long Position", comment="SELL") // alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar) if stop strategy.close("Long Position", comment="STOP") // alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar) //Alternate Labels var pos = 0 if buy and pos <= 0 pos := 1 if sell and pos >= 0 pos := -1 buylabel = pos == 1 and (pos != 1)[1] selllabel = pos == -1 and (pos != -1)[1] //Plot Labels plotshape(buylabel, style=shape.labelup, location=location.belowbar, color=color.blue, text="BUY", textcolor=color.white, size=size.tiny) plotshape(selllabel, style=shape.labeldown, location=location.abovebar, color=color.purple, text="SELL", textcolor=color.white, size=size.tiny) plotshape(stop, style=shape.labeldown, location=location.abovebar, color=color.yellow, text="STOP", textcolor=color.white, size=size.tiny)