
यह ट्रेडिंग रणनीति एक मानक विचलन-आधारित प्रणाली है, जो संभावित खरीद के अवसरों की पहचान करने के लिए मूल्य और चलती औसत के संबंध और मानक विचलन का उपयोग करती है। यह रणनीति मुख्य रूप से खरीद संकेतों पर ध्यान केंद्रित करती है जब कीमत नीचे की ओर जाती है, और स्टॉप और स्टॉप-लॉस सेट करके जोखिम का प्रबंधन करती है। रणनीति का मुख्य विचार यह है कि जब कीमत में असामान्य उतार-चढ़ाव होता है तो व्यापार किया जाता है, जबकि संभावित झूठे संकेतों को चलती औसत और मानक विचलन के माध्यम से फ़िल्टर किया जाता है।
चलती औसत की गणना करें (एमए): सरल चलती औसत (एसएमए) का उपयोग करके निर्दिष्ट अवधि की औसत गणना करें।
मानक अंतरः एक ही अवधि के आधार पर कीमतों का मानक अंतर।
ऊपर और नीचे की पटरियों का निर्माणः
खरीद सिग्नल उत्पन्न करनाः जब कीमत नीचे से नीचे की ओर जाती है तो खरीद सिग्नल ट्रिगर करना
जोखिम प्रबंधन:
समय सीमाः रणनीति उपयोगकर्ता को एक विशिष्ट समय सीमा निर्धारित करने की अनुमति देती है, केवल निर्दिष्ट समय सीमा के भीतर ट्रेडों को निष्पादित करने के लिए।
आत्म-अनुकूलीः मानक विचलन का उपयोग करके, रणनीति विभिन्न बाजार स्थितियों के लिए स्वचालित रूप से बाजार में उतार-चढ़ाव के आधार पर व्यापार क्षेत्र को समायोजित करने में सक्षम है।
जोखिम नियंत्रण में सुधारः स्टॉप और स्टॉप लॉस तंत्र को एकीकृत किया गया है, जो प्रत्येक लेनदेन के जोखिम को प्रभावी ढंग से नियंत्रित करता है।
उच्च लचीलापनः उपयोगकर्ता को कई मानकों को अनुकूलित करने की अनुमति देता है, जैसे कि मानक विचलन चक्र, गुणांक, स्टॉपलॉस अनुपात आदि, जो विभिन्न बाजारों और व्यक्तिगत जोखिम वरीयताओं के अनुसार समायोजित किया जा सकता है।
अच्छा दृश्य प्रभावः रणनीति ने एक चार्ट पर एक चलती औसत, एक अप-डाउन ट्रैक और एक खरीद सिग्नल को चित्रित किया है ताकि इसे समझने और विश्लेषण करने में आसानी हो सके।
मजबूत प्रतिक्रियाः उपयोगकर्ता सटीक प्रतिक्रिया समय सीमा निर्धारित कर सकते हैं, जो विशिष्ट बाजार की स्थिति में रणनीति के प्रदर्शन का आकलन करने में मदद करता है।
झूठे टूटने का जोखिमः पारदर्शी या कम अस्थिरता वाले बाजारों में, अक्सर झूठे टूटने का खतरा हो सकता है, जिससे बहुत अधिक लेनदेन और अनावश्यक शुल्क की हानि हो सकती है।
रुझान का पालन करने में देरीः चूंकि रणनीति चलती औसत और मानक अंतर पर आधारित है, इसलिए मजबूत रुझान वाले बाजारों में कुछ शुरुआती प्रवेश के अवसरों को याद किया जा सकता है।
पैरामीटर संवेदनशीलताः रणनीति का प्रदर्शन अत्यधिक पैरामीटर सेटिंग्स पर निर्भर करता है, विभिन्न पैरामीटर संयोजनों से बहुत अलग परिणाम हो सकते हैं, जिसमें बहुत अधिक प्रतिक्रिया और अनुकूलन की आवश्यकता होती है।
एकतरफा व्यापार प्रतिबंधः रणनीति वर्तमान में केवल बहु-तर्क के लिए लागू है, जो गिरते बाजारों में अवसरों को याद कर सकता है या अधिक नुकसान उठा सकता है।
बाजार की स्थिति पर निर्भरताः रणनीति उच्च अस्थिरता और कम लेनदेन वाले क्रिप्टोक्यूरेंसी बाजारों में बेहतर प्रदर्शन कर सकती है, लेकिन अन्य बाजार स्थितियों में समान प्रभाव नहीं हो सकता है।
कम करने की प्रणाली का परिचयः जब कीमतों में वृद्धि होती है, तो कम करने के तर्क को बढ़ाया जाता है, जिससे रणनीति को दो-तरफा बाजारों में लाभ हो सकता है।
गतिशील पैरामीटर समायोजनः बाजार की स्थिति के आधार पर मानक विचलन गुणांक, स्टॉप-स्टॉप-लॉस अनुपात आदि पैरामीटर को स्वचालित रूप से समायोजित करने की क्षमता, रणनीति की अनुकूलन क्षमता में सुधार।
बहु-समय-फ्रेम विश्लेषणः लंबी और छोटी समय-अवधि के डेटा के संयोजन से संकेत की विश्वसनीयता और प्रवेश समय की सटीकता में सुधार होता है।
लेन-देन की मात्रा फ़िल्टरिंग जोड़ेंः लेन-देन के संकेतकों को पेश करें, कम लेन-देन के समय झूठे ब्रेक सिग्नल को फ़िल्टर करें, और लेनदेन की गुणवत्ता में सुधार करें।
स्टॉप-स्टॉप-लॉस तंत्र का अनुकूलन करेंः गतिशील स्टॉप-स्टॉप को लागू करें, जैसे कि ट्रैकिंग स्टॉप या एटीआर-आधारित स्टॉप-लॉस सेटिंग्स को बाजार में उतार-चढ़ाव के लिए बेहतर रूप से अनुकूलित करना।
अतिरिक्त फ़िल्टरिंग शर्तेंः अन्य तकनीकी संकेतकों या मौलिक डेटा के साथ संयोजन में, झूठे संकेतों को कम करने के लिए अतिरिक्त लेनदेन शर्तें सेट करें।
धन प्रबंधन को लागू करेंः स्थिति प्रबंधन तर्क को जोड़ें, खाते के आकार और बाजार की अस्थिरता की गतिशीलता के आधार पर प्रत्येक लेनदेन के लिए धन का अनुपात समायोजित करें।
स्व-अनुकूली मानक विचलन तोड़ने की ट्रेडिंग रणनीति एक संख्यात्मक ट्रेडिंग प्रणाली है जो गतिशील रूप से समायोजित मूल्य चैनल के माध्यम से बाजार में असामान्य उतार-चढ़ाव से उत्पन्न व्यापारिक अवसरों को पकड़ने के लिए सांख्यिकीय सिद्धांतों पर आधारित है। इस रणनीति का मुख्य लाभ इसकी अनुकूलनशीलता और जोखिम प्रबंधन क्षमता में है, जो विभिन्न बाजार स्थितियों में अपेक्षाकृत स्थिर प्रदर्शन को बनाए रखने में सक्षम है। हालांकि, रणनीति को नकली तोड़ने और पैरामीटर संवेदनशीलता जैसी चुनौतियों का भी सामना करना पड़ता है, जिसके लिए व्यापारियों को सावधानीपूर्वक उपयोग करने और लगातार अनुकूलन करने की आवश्यकता होती है।
इस रणनीति को आगे इसकी स्थिरता और लाभप्रदता को बढ़ावा देने के लिए उम्मीद है, जैसे कि कैशिंग तंत्र, गतिशील पैरामीटर समायोजन और बहु-समय सीमा विश्लेषण। अनुभवी मात्रात्मक व्यापारियों के लिए, यह रणनीति एक अच्छी बुनियादी ढांचा प्रदान करती है, जिसके आधार पर गहन वैयक्तिकरण और अनुकूलन के लिए विभिन्न व्यापारिक शैलियों और बाजार की परिस्थितियों के अनुकूल बनाया जा सकता है।
कुल मिलाकर, यह स्व-अनुकूली मानक विचलन ट्रेडिंग रणनीति बाजार के अवसरों को पकड़ने के लिए गणितीय मॉडल और सांख्यिकीय तरीकों के माध्यम से बाजार के अवसरों को पकड़ने के लिए मात्रात्मक ट्रेडिंग के सार को प्रदर्शित करती है, जबकि जोखिम को सख्ती से नियंत्रित करती है। यह न केवल उच्च अस्थिरता वाले क्रिप्टोक्यूरेंसी बाजारों के लिए लागू होता है, बल्कि उचित समायोजन के साथ अन्य वित्तीय बाजारों में भी लागू किया जा सकता है, जिससे व्यापारियों को एक शक्तिशाली और लचीला व्यापारिक उपकरण प्रदान किया जा सकता है।
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MikEy Scali 3 STD Dev Buy Strategy with TP and SL", overlay=true)
// Input parameters for the strategy
length = input.int(20, title="Standard Deviation Length", minval=1)
src = input(close, title="Source")
mult = input.float(3.0, title="Standard Deviation Multiplier", step=0.1)
// Input for the take profit and stop loss percentages
takeProfitPerc = input.float(1.0, title="Take Profit Percentage", step=0.1) / 100
stopLossPerc = input.float(0.5, title="Stop Loss Percentage", step=0.1) / 100
// Input parameters for the backtesting range
testStartYear = input.int(2023, title="Backtest Start Year", minval=2000)
testStartMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
testStartDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
testEndYear = input.int(2024, title="Backtest End Year", minval=2000)
testEndMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
testEndDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)
// Define the backtesting range
testStartTime = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00)
testEndTime = timestamp(testEndYear, testEndMonth, testEndDay, 23, 59)
// Determine if the current bar is within the backtesting range
inBacktestRange = (time >= testStartTime) and (time <= testEndTime)
// Calculate the moving average and standard deviation
ma = ta.sma(src, length)
std_dev = ta.stdev(src, length)
// Calculate upper and lower bands
upper_band = ma + (std_dev * mult)
lower_band = ma - (std_dev * mult)
// Buy condition within the backtesting range
buyCondition = inBacktestRange and ta.crossover(src, lower_band)
// Plot the buy signal on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
// Execute buy orders based on the condition within the backtesting range
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Calculate the take profit and stop loss prices when a position is opened
entryPrice = na(strategy.opentrades.entry_price(0)) ? src : strategy.opentrades.entry_price(0)
takeProfitPrice = entryPrice * (1 + takeProfitPerc)
stopLossPrice = entryPrice * (1 - stopLossPerc)
// Take profit condition
takeProfitCondition = strategy.position_size > 0 and close >= takeProfitPrice
// Stop loss condition
stopLossCondition = strategy.position_size > 0 and close <= stopLossPrice
// Execute sell order when take profit condition is met within the backtesting range
if (takeProfitCondition and inBacktestRange)
strategy.close("Buy", "Take Profit")
// Execute sell order when stop loss condition is met within the backtesting range
if (stopLossCondition and inBacktestRange)
strategy.close("Buy", "Stop Loss")
// Plot the moving average and the bands
plot(ma, color=color.blue, title="Moving Average")
plot(upper_band, color=color.red, title="Upper Band (3 STD)")
plot(lower_band, color=color.green, title="Lower Band (3 STD)")
// Optional: Plot the source
plot(src, color=color.gray, title="Source")
// Add labels for clarity
bgcolor(buyCondition ? color.new(color.green, 90) : na, offset=-1, title="Buy Signal Background")
// Optional: Highlight the backtesting range on the chart
bgcolor(inBacktestRange ? color.new(color.blue, 90) : na, title="Backtest Range Background")
// Plot the take profit and stop loss levels if a position is open
plot(strategy.position_size > 0 ? takeProfitPrice : na, color=color.orange, title="Take Profit Level")
plot(strategy.position_size > 0 ? stopLossPrice : na, color=color.red, title="Stop Loss Level")