
एक ट्रेंड ट्रेडिंग रणनीति है जो शॉर्ट-लाइन पैटर्न पर आधारित है। यह एक संकेत के रूप में शॉर्ट-लाइन पैटर्न का उपयोग करता है, और एक उच्च जीत दर के लिए प्रवेश के लिए एक चलती औसत के साथ प्रवृत्ति की दिशा का आकलन करता है। साथ ही, यह एक अद्वितीय ट्रैक स्टॉप-लॉस तंत्र का उपयोग करता है, जो एक उच्च रिटर्न दर प्राप्त करता है।
इस रणनीति में प्रवेश सिग्नल को लघु रेखा के रूप में छिद्रित किया जाता है। विशेष रूप से, सिग्नल तब उत्पन्न होता है जब निम्नलिखित दो शर्तों को पूरा किया जाता हैः
इस तरह के संयोजन के संकेतों से अधिकांश शोर को फ़िल्टर किया जा सकता है, जिससे प्रवेश की सटीकता में सुधार होता है।
यह रणनीति तीन अलग-अलग चक्रों की चलती औसत का उपयोग करती है। विशेष रूप से, एक त्वरित, मध्यम और धीमी रेखा को ट्रेंड के रूप में परिभाषित किया जाता है जब यह समोच्च रूप से संरेखित होता है, अन्यथा इसे संरेखित करने के लिए परिभाषित किया जाता है।
बहु-हेड प्रवेश के लिए, फास्ट लाइन > मध्य लाइन > धीमी लाइन की आवश्यकता होती है; खाली सिर प्रवेश के लिए, फास्ट लाइन < मध्य लाइन < धीमी लाइन की आवश्यकता होती है।
यह रणनीति एक अद्वितीय ट्रैक स्टॉप-लॉस तंत्र का उपयोग करती है। एक बार स्थिति खोलने के बाद, उपयोगकर्ता द्वारा निर्धारित अंक और विचलन के आधार पर इष्टतम स्टॉप-लॉस को ट्रैक किया जाता है। यह अधिकतम लाभ को लॉक करने और जोखिम को नियंत्रित करने में मदद करता है।
शॉर्ट-लाइन सेंसर सिग्नल रणनीतियों को केवल उच्च संभावना वाले अवसरों पर स्थिति खोलने की अनुमति देता है, जिससे अत्यधिक शोर व्यापार से बचा जाता है। साथ ही, प्रवृत्ति के निर्णय के साथ, अधिकांश गैर-प्रमुख दिशा संचालन को फ़िल्टर किया जा सकता है। यह रणनीति की उच्च सटीकता की गारंटी देता है।
एक अद्वितीय ट्रैक स्टॉप लॉस तंत्र इस रणनीति की सबसे बड़ी विशेषता है। यह उच्च सफलता और सुपर मजबूत लाभप्रदता सुनिश्चित करने के लिए एक छोटे से दायरे में प्रत्येक स्टॉप लॉस को सटीक रूप से नियंत्रित करने की अनुमति देता है, जबकि अधिकतम लाभप्रदता की गारंटी देता है।
सिमुलेशन के परिणामों से पता चलता है कि इस तंत्र का उपयोग करने के बाद, कई मुद्रा जोड़े 1000% से अधिक की कुल रिटर्न दर प्राप्त करते हैं, अधिकतम लाभ 100 गुना से अधिक होता है, और रिटर्न एक नई ऊंचाई तक पहुंच जाता है।
परीक्षण के परिणामों को देखते हुए, यह बहुत संभावना है कि यह बाजार के अत्यधिक सिमुलेशन के परिणामस्वरूप है। फिक्स्ड डिस्क के नुकसान को रोकने का तंत्र परीक्षण के रूप में सटीक रूप से प्रभावी नहीं हो सकता है और निश्चित रूप से वापस लेने का सामना करना पड़ सकता है।
इसके अलावा, केवल दो साल के परीक्षण चक्र के साथ, बाजार संरचना में बदलाव भी प्रदर्शन को प्रभावित कर सकता है।
ट्रैक किए गए स्टॉप के अतिसंवेदनशील होने से बहुत अधिक स्टॉप ट्रिगर हो सकते हैं। इसके अलावा, बाजार में अचानक होने वाली घटनाओं से स्टॉप को अमान्य कर दिया जा सकता है। यह उन सभी जोखिमों का सामना करने की आवश्यकता है जो ट्रैक किए गए स्टॉप का उपयोग करते हैं।
स्टॉप लॉस को ट्रैक करना पूरी रणनीति के लिए महत्वपूर्ण है। इसे संवेदनशील और विश्वसनीय बनाने के लिए, स्टॉप लॉस पॉइंट्स को कम संवेदनशील बनाने के लिए ट्रैक करने की कोशिश करें।
अतिरिक्त परीक्षण समय विंडो भी पैरामीटर स्थिरता की जांच कर सकते हैं.
वर्तमान चलती औसत चक्र इष्टतम पैरामीटर संयोजन नहीं है। बेहतर प्रभाव के लिए बेहतर पैरामीटर खोजने के लिए अनुकूलन परीक्षण किया जा सकता है।
उदाहरण के लिए, तेज रेखा और मध्य रेखा के बीच की अवधि के अंतराल को बढ़ाएं, या तीन-लाइन क्रॉसिंग को समायोजित करें।
टर्न-थ्रू शॉर्ट-लाइन रिवर्स रणनीति ने उच्च दक्षता वाले प्रवेश और सुपर-मजबूत स्टॉप के माध्यम से आश्चर्यजनक एनालॉग टेस्ट स्कोर हासिल किए हैं। लेकिन हमें इसके ओवरफॉर्मिंग जोखिमों को पहचानने के लिए सतर्क रहना चाहिए और जोखिम नियंत्रण के लिए तैयार रहना चाहिए।
उचित पैरामीटर या अनुकूलन के साथ, यह रणनीति एक शक्तिशाली प्रवृत्ति प्रणाली के रूप में वास्तविक समय में महत्वपूर्ण लाभ प्राप्त करने में सक्षम हो सकती है। इसकी अनूठी स्टॉप-लॉस ट्रैकिंग अवधारणा हमें मूल्यवान संकेत प्रदान करती है और अधिक अभिनव रणनीतियों को जन्म देने की संभावना है।
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Time Frame: H1
strategy("Pin Bar Magic v1", overlay=true)
// User Input
usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=3,confirm=false)
atr_mult = input(title="Stop Loss (x*ATR, Float)",type=input.float,minval=0.1,maxval=100,step=0.1,defval=0.5,confirm=false)
slPoints = input(title="Stop Loss Trail Points (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
slOffset = input(title="Stop Loss Trail Offset (Pips)",type=input.integer,minval=1,maxval=1000,step=1,defval=1,confirm=false)
sma_slow = input(title="Slow SMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=50,confirm=false)
ema_medm = input(title="Medm EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=18,confirm=false)
ema_fast = input(title="Fast EMA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=6,confirm=false)
atr_valu = input(title="ATR (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false)
ent_canc = input(title="Cancel Entry After X Bars (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=3,confirm=false)
// Create Indicators
slowSMA = sma(close, sma_slow)
medmEMA = ema(close, ema_medm)
fastEMA = ema(close, ema_fast)
bullishPinBar = ((close > open) and ((open - low) > 0.66 * (high - low))) or ((close < open) and ((close - low) > 0.66 * (high - low)))
bearishPinBar = ((close > open) and ((high - close) > 0.66 * (high - low))) or ((close < open) and ((high - open) > 0.66 * (high - low)))
atr = atr(atr_valu)
// Specify Trend Conditions
fanUpTrend = (fastEMA > medmEMA) and (medmEMA > slowSMA)
fanDnTrend = (fastEMA < medmEMA) and (medmEMA < slowSMA)
// Specify Piercing Conditions
bullPierce = ((low < fastEMA) and (open > fastEMA) and (close > fastEMA)) or ((low < medmEMA) and (open > medmEMA) and (close > medmEMA)) or ((low < slowSMA) and (open > slowSMA) and (close > slowSMA))
bearPierce = ((high > fastEMA) and (open < fastEMA) and (close < fastEMA)) or ((high > medmEMA) and (open < medmEMA) and (close < medmEMA)) or ((high > slowSMA) and (open < slowSMA) and (close < slowSMA))
// Specify Entry Conditions
longEntry = fanUpTrend and bullishPinBar and bullPierce
shortEntry = fanDnTrend and bearishPinBar and bearPierce
// Long Entry Function
enterlong() =>
risk = usr_risk * 0.01 * strategy.equity
stopLoss = low[1] - atr[1] * atr_mult
entryPrice = high[1]
units = risk / (entryPrice - stopLoss)
strategy.entry("long", strategy.long, units, stop=entryPrice)
strategy.exit("exit long", from_entry="long", trail_points=slPoints, trail_offset=slOffset)
// Short Entry Function
entershort() =>
risk = usr_risk * 0.01 * strategy.equity
stopLoss = high[1] + atr[1] * atr_mult
entryPrice = low[1]
units = risk / (stopLoss - entryPrice)
strategy.entry("short", strategy.short, units, stop=entryPrice)
strategy.exit("exit short", from_entry="short", trail_points=slPoints, trail_offset=slOffset)
// Execute Long Entry
if (longEntry)
enterlong()
// Execute Short Entry
if (shortEntry)
entershort()
// Cancel the Entry if Bar Time is Exceeded
strategy.cancel("long", barssince(longEntry) > ent_canc)
strategy.cancel("short", barssince(shortEntry) > ent_canc)
// Force Close During Certain Conditions
strategy.close_all(when = hour==16 and dayofweek==dayofweek.friday, comment = "exit all, market-closed")
strategy.close_all(when = crossunder(fastEMA, medmEMA), comment = "exit long, re-cross")
strategy.close_all(when = crossover(fastEMA, medmEMA), comment = "exit short, re-cross")
// Plot Moving Averages to Chart
plot(fastEMA, color=color.red)
plot(medmEMA, color=color.blue)
plot(slowSMA, color=color.green)
// Plot Pin Bars to Chart
plotshape(bullishPinBar, text='Bull PB', style=shape.labeldown, location=location.abovebar, color=color.green, textcolor=color.white, transp=0)
plotshape(bearishPinBar, text='Bear PB', style=shape.labelup, location=location.belowbar, color=color.red, textcolor=color.white, transp=0)
// Plot Days of Week
plotshape(hour==0 and dayofweek==dayofweek.monday, text='Monday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.tuesday, text='Tuesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.wednesday, text='Wednesday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.thursday, text='Thursday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==0 and dayofweek==dayofweek.friday, text='Friday', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)
plotshape(hour==16 and dayofweek==dayofweek.friday, text='Market Closed', style=shape.labeldown, location=location.abovebar, color=color.black, textcolor=color.white, transp=0)