यह रणनीति इस विचार पर आधारित है कि स्टॉप लॉस और टेक प्रॉफिट स्तरों को अक्सर गोल संख्या या प्रमुख मूल्य स्तरों पर रखा जाता है, जो समर्थन और प्रतिरोध के रूप में कार्य करते हैं। यह रणनीति इन प्रमुख मूल्य स्तरों की पहचान करती है और जब कीमत उनके करीब आती है तो ट्रेडों में प्रवेश करती है।
इस रणनीति के मुख्य नियम हैंः
जब बंद मूल्य एक प्रमुख मूल्य स्तर से ऊपर हो, और पिछले 10 बार में उस स्तर को नहीं छुआ है, तो लंबा जाओ।
मूल्य प्रमुख स्तर को तोड़ने के बाद आंदोलन का अनुसरण करने के लिए 20 अंक के चरण के साथ एक ट्रेलिंग स्टॉप का उपयोग करें।
बेचने के संकेत विपरीत हैं - जब बंद कुंजी स्तर से नीचे है और पिछले 10 बार में इसे नहीं छुआ है, तो शॉर्ट करें।
प्रमुख स्तरों की पहचान इस प्रकार की जाती हैः
रणनीति इस मनोविज्ञान पर आधारित है कि गोल संख्याएं और प्रमुख स्तर अक्सर बैल और भालू के लिए युद्ध के मैदान होते हैं, और इस प्रकार प्रभावी व्यापार संकेत प्रदान करते हैं।
इस रणनीति के लाभ इस प्रकार हैंः
जिन जोखिमों पर विचार किया जाना चाहिए वे हैंः
संभावित समाधान:
इस रणनीति में निम्नलिखित उपायों से सुधार किया जा सकता हैः
प्रमुख स्तरों के महत्व की पुष्टि करने और नकली होने से बचने के लिए अधिक शर्तें जोड़ना। उदाहरण के लिए, मात्रा के साथ संयोजन।
उपकरण विशेषताओं के आधार पर प्रमुख स्तर सीमा और लुकबैक अवधि जैसे मापदंडों का अनुकूलन।
अनुगामी स्टॉप तंत्र में सुधार करना, उदाहरण के लिए, स्थिर बिंदु के बजाय गतिशील ट्रेल का उपयोग करना।
ऐतिहासिक आंकड़ों का उपयोग करके प्रमुख स्तरों की ताकत का आकलन करने के लिए मशीन लर्निंग को शामिल करना।
उच्च TF प्रवृत्ति और कम TF ट्रैकिंग के साथ बहु-समय फ्रेम प्रणाली में विस्तार।
यह रणनीति प्रमुख मूल्य स्तरों और व्यापारिक सम्मेलनों के आधार पर सरल और सहज संकेत प्रदान करती है। इसमें प्रचुर अवसर हैं लेकिन नकली को संभालने के लिए आगे अनुकूलन की आवश्यकता है। पैरामीटर ट्यूनिंग और मशीन लर्निंग मजबूती में सुधार कर सकते हैं। यह अच्छे दिन के व्यापारिक विचारों को प्रदान करता है और मल्टी-टाइमफ्रेम ट्रेंड ट्रैकिंग सिस्टम में भी विस्तार किया जा सकता है।
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels //Buy Rules: //Actual price (close) is above round number. //Round number level was not touched in previous ten bars (arbitrary value). //Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it. //Sell Rules are the same of buy rules but inverted. // //Need improvement on conditions' logic and round numbers definitions strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD) //Round Levels credit to RKchartest roundLevel50 = input(500, 'Round Level 1, pips') //roundLevel100 = input(1000, 'Round Level 2, pips') deviation = input(1000, 'Max distance, pips', minval=0) rDelimeter = 1/syminfo.mintick intRoundLevel = close[1] * rDelimeter intRemainder = intRoundLevel % roundLevel50 toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0 roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false) //intRemainder2 = intRoundLevel % roundLevel100 //toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0 //roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter //plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true) // end //Start of strategy distToFullNumber=(close-roundLevel) //can be positive or negative number distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false) if (longCondition) strategy.entry("LongMagnet", strategy.long) strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS) shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false) if (shortCondition) strategy.entry("ShortMagnet", strategy.short) strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)