इस रणनीति का मुख्य विचार प्रतिशत रैंक संकेतक और पैरामीटर अनुकूलन को मिलाकर मूल्य रुझानों का न्याय और ट्रैक करना है। यह रणनीति दर्पण प्रभाव को पकड़ने और अतिरिक्त रिटर्न के लिए रुझानों को ट्रैक करने के लिए एक निश्चित ऐतिहासिक अवधि में कीमतों के प्रतिशत के साथ वर्तमान मूल्य की तुलना करके ट्रेडिंग सिग्नल उत्पन्न करती है।
रणनीति मूल्य रुझानों को निर्धारित करने के लिए प्रतिशत रैंक संकेतक का उपयोग करती है। प्रतिशत रैंक वर्तमान अवधि में वर्तमान मूल्य की सापेक्ष ताकत का प्रतिनिधित्व करता है। पैरामीटर len देखने के लिए ऐतिहासिक अवधि की लंबाई को इंगित करता है।
प्रतिशत रैंक मानों की सीमा 0 से 100 तक है। जब प्रतिशत रैंक मान 0 के करीब होता है, तो इसका मतलब है कि वर्तमान मूल्य देखी गई अवधि में सबसे कम मूल्य के पास है और एक कम मूल्य वाले क्षेत्र में है। जब यह 100 के करीब होता है, तो इसका मतलब है कि वर्तमान मूल्य देखी गई अवधि में उच्चतम मूल्य के पास है और एक अतिरंजित क्षेत्र में है।
इस रणनीति में 0 से 100 तक के दायरे को 100+ के दायरे में ले जाने के लिए ऑफसेट के रूप में एक स्केल पैरामीटर भी पेश किया गया है। दो सिग्नल लाइनें level_1 और level_2 भी सेट की गई हैं, जहां level_1 लंबे स्तर को इंगित करता है और level_2 छोटे स्तर को इंगित करता है।
जब मूल्य प्रतिशत रैंक संकेतक स्तर_1 को ऊपर की ओर पार करता है, तो एक लंबा संकेत उत्पन्न होता है. जब यह स्तर_2 को नीचे की ओर पार करता है, तो एक छोटा संकेत उत्पन्न होता है. बाहर निकलने की शर्तें प्रवेश संकेतों के विपरीत होती हैं.
उपरोक्त जोखिमों से निपटने के लिए, लेन, स्केल, स्तर जैसे मापदंडों को अनुकूलन के लिए समायोजित किया जा सकता है। गलत ट्रेडों से बचने के लिए पुष्टि के लिए अन्य संकेतकों को भी शामिल किया जा सकता है।
इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः
रणनीति का समग्र विचार स्पष्ट है, मूल्य रुझानों का न्याय करने और ट्रैक करने के लिए मापदंड अनुकूलन के मात्रात्मक तरीकों को लागू करना। इसका कुछ व्यावहारिक मूल्य है लेकिन जोखिमों को कम करने और स्थिर लाभप्रदता में सुधार के लिए अभी भी आगे के परीक्षण और अनुकूलन की आवश्यकता है।
/*backtest start: 2023-12-02 00:00:00 end: 2024-01-01 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Alex_Dyuk //@version=4 strategy(title="percentrank", shorttitle="percentrank") src = input(close, title="Source") len = input(title="lookback - Период сравнения", type=input.integer, defval=10, minval=2) scale = input(title="scale offset - смещение шкалы", type=input.integer, defval=50, minval=0, maxval=100) level_1 = input(title="sygnal line 1", type=input.integer, defval=30) level_2 = input(title="sygnal line 2", type=input.integer, defval=-30) prank = percentrank(src,len)-scale plot(prank, style = plot.style_columns) plot(level_2, style = plot.style_line, color = color.red) plot(level_1, style = plot.style_line, color = color.green) longCondition = (crossunder(level_1, prank) == true) if (longCondition) strategy.entry("Long", strategy.long) longExitCondition = (crossover(level_2, prank) == true) if (longExitCondition) strategy.close("Long") shortCondition = (crossover(level_2, prank) == true) if (shortCondition) strategy.entry("Short", strategy.short) shortexitCondition = (crossunder(level_1, prank) == true) if (shortexitCondition) strategy.close("Short")