यह रणनीति दैनिक मोमबत्तियों के आधार पर प्रवृत्ति की दिशा निर्धारित करती है, और स्टॉप लॉस मूल्य या ट्रेलिंग स्टॉप लॉस मूल्य के रूप में 15-मिनट के मोमबत्तियों द्वारा गठित नए उच्च या निम्न बिंदुओं का उपयोग करती है, ताकि गतिशील रूप से स्टॉप लॉस को समायोजित किया जा सके और अधिक लाभ में लॉक किया जा सके।
रुझान की दिशा निर्धारित करने के लिए दैनिक मोमबत्तियों के समापन मूल्य की तुलना पिछले दैनिक मोमबत्तियों के उच्चतम और निम्नतम मूल्य से करें। यदि समापन मूल्य पिछले दिन की उच्चतम कीमत से अधिक है, तो इसे अपट्रेंड के रूप में परिभाषित किया जाता है। यदि समापन मूल्य पिछले दिन की सबसे कम कीमत से कम है, तो इसे डाउनट्रेंड के रूप में परिभाषित किया जाता है।
जब ऊपर की ओर रुझान हो, तो 15 मिनट की मोमबत्ती का समापन मूल्य पिछली 15 मिनट की मोमबत्ती की उच्चतम कीमत से अधिक होने पर लंबा हो। जब नीचे की ओर रुझान हो, तब 15 मिनट की मोमबत्ती का समापन मूल्य पिछली 15 मिनट की मोमबत्ती की सबसे कम कीमत से कम होने पर छोटा हो।
पिछले 15 मिनट के कैंडलस्टिक की सबसे कम कीमत को लंबे समय तक जाने के बाद स्टॉप लॉस मूल्य के रूप में सेट करें. पिछले 15 मिनट के कैंडलस्टिक की उच्चतम कीमत को शॉर्ट जाने के बाद स्टॉप लॉस मूल्य के रूप में सेट करें.
जब 15 मिनट का कैंडलस्टिक फिर से एक नया उच्च या निम्न बनाता है, तो स्टॉप लॉस मूल्य को तदनुसार समायोजित करें। लंबे समय तक जाने के बाद नए निम्न स्तर पर समायोजित करें। शॉर्ट जाने के बाद नए उच्च स्तर पर समायोजित करें। यह गतिशील ट्रेलिंग स्टॉप लॉस का एहसास करता है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह स्टॉप लॉस की कीमत को गतिशील रूप से समायोजित कर सकती है। जोखिम नियंत्रण सुनिश्चित करते हुए, यह लाभ लेने को अधिकतम करता है और स्टॉप लॉस के हिट होने की संभावना को कम करता है।
विशेष रूप से लाभों में निम्नलिखित शामिल हैंः
रुझान संचालन आधारित निर्णय समय पर बाजार के रुझानों को निर्धारित कर सकते हैं और सही ट्रेडिंग दिशा चुन सकते हैं।
15 मिनट की समय सीमा व्यापार अधिक अवसरों को पकड़ने के लिए लगातार प्रवेश और निकास की अनुमति देता है।
नए उच्च या निम्न स्तरों के आधार पर गतिशील स्टॉप लॉस समायोजन स्टॉप लॉस के प्रभावित होने के जोखिम को कम करता है।
उचित स्टॉप लॉस पोजिशनिंग से अनावश्यक नुकसान से काफी हद तक बचा जा सकता है।
इस रणनीति का मुख्य जोखिम रुझान के आकलन में त्रुटियों से आता है। विशिष्ट जोखिमों में शामिल हैंः
गलत दैनिक रुझान निर्णय से गलत व्यापार दिशा हो सकती है।
कीमतें अल्पकालिक में भारी उतार-चढ़ाव कर सकती हैं, जिससे 15 मिनट के स्टॉप लॉस की संभावना बढ़ जाती है।
रुझान उलटने के बिंदुओं की गलत पहचान होने से नुकसान हो सकता है।
संबंधित समाधान:
एक समय सीमा पर निर्भरता से बचने के लिए व्यापक निर्णयों के लिए अन्य समय सीमाओं के संकेतक जोड़ें।
बाजार की अस्थिरता का आकलन करें और उच्च अस्थिरता के दौरान स्टॉप लॉस रेंज को उचित रूप से कम करें।
रुझान उलटने से पहले समय पर पदों को बंद करने के लिए रुझान उलटने के बिंदु की पहचान तंत्र जोड़ें।
अभी भी आगे के अनुकूलन के लिए जगह हैः
रुझान कैप्चर को अनुकूलित करने के लिए अन्य समय-सीमा संकेतक जोड़ें।
इष्टतम मापदंडों को खोजने के लिए विभिन्न स्टॉप लॉस अनुपात सेटिंग्स का परीक्षण करें।
वॉल्यूम विचलन से त्रुटियों से बचने के लिए वॉल्यूम संकेतक जोड़ें।
बाहर निकलने के बिंदुओं को अनुकूलित करने के लिए रुझान उलटने के तंत्र जोड़ें।
स्टॉप लॉस के जोखिम को और कम करने के लिए ट्रेलिंग स्टॉप मूल्य अंतराल को चौड़ा करने का आकलन करें।
इस रणनीति का समग्र प्रदर्शन अच्छा है। तर्क स्पष्ट और समझने में आसान है। इसमें गतिशील स्टॉप लॉस समायोजन, लगातार ट्रेडिंग और रुझानों के साथ ट्रेडिंग जैसे फायदे हैं। यह जोखिमों को प्रभावी ढंग से नियंत्रित कर सकता है और मुनाफे में लॉक कर सकता है, और आगे परीक्षण और अनुकूलन के लायक है। लेकिन अभी भी सुधार के लिए जगह है। रणनीति की स्थिरता और लाभप्रदता को और मजबूत करने के लिए कई कोणों से व्यापक निर्णय, पैरामीटर अनुकूलन, प्रवृत्ति उलट पहचान तंत्र आदि जैसे पहलुओं से सुधार करने की सिफारिश की जाती है।
/*backtest start: 2023-12-13 00:00:00 end: 2023-12-15 02:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Anand's Strategy", overlay=true) // Get the high and low of the previous day's candle prev_high = request.security(syminfo.tickerid, "D", high[2]) prev_low = request.security(syminfo.tickerid, "D", low[2]) // var float prev_high = na // var float prev_low = na prev_close = request.security(syminfo.tickerid, "D", close[1]) getDayIndexedHighLow(_bar) => _indexed_high = request.security(syminfo.tickerid, "D", high[_bar]) _indexed_low = request.security(syminfo.tickerid, "D", low[_bar]) [_indexed_high, _indexed_low] var index = 2 while index >= 0 [indexed_high_D, indexed_low_D] = getDayIndexedHighLow(index) if prev_close > indexed_high_D or prev_close < indexed_low_D prev_high := indexed_high_D prev_low := indexed_low_D break // Decrease the index to move to the previous 15-minute candle index := index - 1 // Determine the trade direction based on the candle criterion trade_direction = prev_close > prev_high ? 1 : (prev_close < prev_low ? -1 : 0) // Get the current close from 15-minute timeframe current_close = request.security(syminfo.tickerid, "15", close[1]) prev_high_15m = request.security(syminfo.tickerid, "15", high[2]) prev_low_15m = request.security(syminfo.tickerid, "15", low[2]) // var float prev_high_15m = na // var float prev_low_15m = na getIndexedHighLow(_bar) => _indexed_high = request.security(syminfo.tickerid, "15", high[_bar]) _indexed_low = request.security(syminfo.tickerid, "15", low[_bar]) [_indexed_high, _indexed_low] // Loop through previous 15-minute candles until the condition is met var i = 2 while i >= 2 [indexed_high_15m, indexed_low_15m] = getIndexedHighLow(i) if current_close > indexed_high_15m or current_close < indexed_low_15m prev_high_15m := indexed_high_15m prev_low_15m := indexed_low_15m break // Decrease the index to move to the previous 15-minute candle i := i - 1 buy_condition = trade_direction == 1 and current_close > prev_high_15m stop_loss_buy = prev_low_15m // Sell Trade Criteria in Negative Trend sell_condition = trade_direction == -1 and current_close < prev_low_15m stop_loss_sell = prev_high_15m // Trailing Stop Loss for Buy Trade // Custom Trailing Stop Function for Buy Trade var float trail_stop_buy = na trailing_buy_condition = buy_condition and current_close > trail_stop_buy if trailing_buy_condition trail_stop_buy := current_close // Custom Trailing Stop Function for Sell Trade var float trail_stop_sell = na trailing_sell_condition = sell_condition and current_close < trail_stop_sell if trailing_sell_condition trail_stop_sell := current_close // Take Buy Trade with Stop Loss if (buy_condition) strategy.entry("Buy", strategy.long) strategy.exit("Buy Stop Loss", "Buy", stop=stop_loss_buy) // Take Sell Trade with Stop Loss if (sell_condition) strategy.entry("Sell", strategy.short) strategy.exit("Sell Stop Loss", "Sell", stop=stop_loss_sell) // Set the background color based on the trade direction bgcolor(trade_direction == 1 ? color.new(color.green, 90) : trade_direction == -1 ? color.new(color.red, 90) : na)