शेर दरार संतुलन रणनीति


निर्माण तिथि: 2023-11-02 16:55:00 अंत में संशोधित करें: 2023-11-02 16:55:00
कॉपी: 0 क्लिक्स: 586
1
ध्यान केंद्रित करना
1617
समर्थक

शेर दरार संतुलन रणनीति

अवलोकन

शेर की दरार संतुलन रणनीति एक सरल लघु रेखा ट्रेडिंग रणनीति है जो एक समान रेखा के पार आधारित है। यह रणनीति मुख्य रूप से दो चलती औसत का उपयोग करती है, जब तेजी से चलती औसत नीचे से धीमी गति से चलती औसत से गुजरती है, तो अधिक करें; जब तेजी से चलती औसत ऊपर से धीमी गति से चलती औसत से गुजरती है, तो समतल करें। रणनीति का नाम व्यापार जगत में लोकप्रिय शेर की दरार शब्दावली से लिया गया है, जिसका अर्थ है कि लघु रेखा की कीमतों के छोटे-छोटे आंदोलनों को पकड़ना, और एक संकीर्ण समान रेखा दरार में मुनाफा कमाना।

रणनीति सिद्धांत

इस रणनीति में दो चलती औसत का उपयोग किया जाता हैः एक तेज चलती औसत छोटी MAPeriod और एक धीमी चलती औसत बड़ी MAPeriod। दो चलती औसत एक मूल्य चैनल बनाते हैं, नीचे एक तेज चलती औसत के रूप में और ऊपर एक धीमी चलती औसत के रूप में। जब कीमत नीचे से ऊपर की ओर से नीचे की ओर तेजी से चलती औसत को तोड़ती है, तो अधिक करें; और जब कीमत ऊपर से नीचे की ओर से नीचे की ओर धीमी गति से चलती औसत को तोड़ती है, तो स्थिति को कम करें।

विशेष रूप से, रणनीति सबसे पहले तेजी से चलती औसत (smallMA) और धीमी गति से चलती औसत (bigMA) की गणना करती है। इसके बाद, चैनल के नीचे एक खरीद लाइन (buyMA) की गणना की जाती है, जो धीमी गति से चलती औसत का ((100 - percentBelowToBuy) % है। जब तेजी से चलती औसत (smallMA) नीचे से खरीद लाइन (buyMA) को पार करता है, तो अधिक करें; जब लाभ 1 प्रतिशत तक पहुंचता है या लाभ नहीं होता है, लेकिन 7 के लाइन के बाद, स्थिति को खाली करें।

कुल मिलाकर, यह रणनीति सम-रेखा के एक शेर के दरार को पकड़ती है, जो कि कमर के नीचे के रास्ते को तोड़ने का अवसर है, ताकि शॉर्ट-लाइन लाभ प्राप्त किया जा सके। यह एक ही समय में स्टॉप और स्टॉप-लॉस स्थितियों को सेट करता है, जो एकल लेनदेन के जोखिम को नियंत्रित करता है।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. अवधारणा सरल है, इसे समझना और लागू करना आसान है। द्वि-समान रेखा क्रॉसिंग का उपयोग करना सबसे बुनियादी तकनीकी सूचक रणनीति है।

  2. यह रणनीति सीधे ट्रेडिंग व्यू के अंतर्निहित फीडबैक फ़ंक्शन का उपयोग करती है और इसके लिए कोई अतिरिक्त कार्यान्वयन की आवश्यकता नहीं है।

  3. मजबूत दृश्यता। ट्रेडिंग व्यू का उपयोग सीधे चार्ट पर ट्रेडिंग सिग्नल पॉइंट और रीट्रेसिंग आँकड़े प्रदर्शित करने के लिए किया जाता है।

  4. जोखिम नियंत्रण योग्य रणनीति में स्टॉप और स्टॉप लॉस की शर्तें हैं जो एक एकल लेनदेन के नुकसान को प्रभावी रूप से नियंत्रित करती हैं

  5. लचीला समायोजन. उपयोगकर्ता अपनी आवश्यकताओं के अनुसार औसत रेखा पैरामीटर और अन्य तकनीकी संकेतकों को समायोजित कर सकते हैं, ताकि रणनीति विभिन्न किस्मों और व्यापारिक शैलियों के लिए अधिक उपयुक्त हो सके।

जोखिम विश्लेषण

इस रणनीति के साथ निम्नलिखित जोखिम भी हैं:

  1. बहुत अधिक सिग्नल उत्पन्न हो सकता है. द्वि-समान-रेखा रणनीति को संकलित करते समय कई बार गलत सिग्नल उत्पन्न करने में आसानी होती है.

  2. एकल सूचकांक निर्भरता. केवल औसत रेखा क्रॉसिंग का उपयोग निर्णय लेने के लिए, अन्य कारकों की उपेक्षा करते हुए, सिग्नल की गुणवत्ता खराब हो सकती है।

  3. पैरामीटर अनुकूलन मुश्किल है. औसत चक्र पैरामीटर के संयोजन को अनुकूलित करने के लिए बहुत अधिक गणना की आवश्यकता होती है, और इष्टतम पैरामीटर ढूंढना आसान नहीं है।

  4. प्रतिगमन विचलन. सरल द्वि-समान-रेखा रणनीति प्रतिगमन प्रभाव अक्सर फिक्स्ड डिस्क की तुलना में बेहतर होता है.

  5. स्टॉप लॉस की कठिनाई। एक निश्चित स्टॉप लॉस पॉइंट सेट करने में कठिनाई के साथ व्यवहार में बदलाव।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. अन्य संकेतकों जैसे कि व्यापार की मात्रा, उतार-चढ़ाव आदि के साथ मिलकर फ़िल्टर सिग्नल, ताकि संरेखण में अमान्य सिग्नल से बचा जा सके।

  2. प्रवृत्ति-आधारित निर्णय को जोड़ें, विपरीत ट्रेडिंग से बचें। प्रवृत्ति की दिशा को निर्धारित करने के लिए एक लंबी अवधि की औसत रेखा को जोड़ा जा सकता है

  3. मशीन लर्निंग का उपयोग करके इष्टतम पैरामीटर ढूंढें। सीरियल पैरामीटर ऑप्टिमाइज़ेशन या आनुवंशिक एल्गोरिदम का उपयोग करके बेहतर पैरामीटर संयोजनों की स्वचालित खोज करें।

  4. स्टॉप को अधिक लचीला बनाने के लिए स्टॉप को ट्रैक करने, स्टॉप को स्थानांतरित करने जैसी स्टॉप रणनीतियों को जोड़ना।

  5. प्रवेश के समय को अनुकूलित करें। अन्य संकेतकों का उपयोग करके अधिक प्रभावी प्रवेश के समय की पहचान की जा सकती है।

  6. परिमाणात्मक अध्ययन के साथ, पैरामीटर के संयोजन पर प्रतिक्रिया का अनुकूलन करें और स्थिरता में सुधार करें।

  7. स्वचालित ट्रेडिंग सिस्टम विकसित करना, पैरामीटर्स को अनुकूलित करने और रणनीतिक मूल्यांकन के लिए प्रोग्रामेटिक ट्रेडिंग का उपयोग करना

संक्षेप

शेर दरार संतुलन रणनीति एक शुरुआती रणनीति है जो शुरुआती लोगों के लिए बहुत उपयुक्त है। यह एक सरल द्वि-समान रेखा क्रॉसिंग सिद्धांत का उपयोग करता है, एक स्टॉप-स्टॉप-लॉस नियम सेट करता है, और शॉर्ट-लाइन मूल्य उतार-चढ़ाव को पकड़ सकता है। यह रणनीति समझने में आसान है, इसे लागू करना अच्छा है। लेकिन इसका अनुकूलन मुश्किल है, इसकी वास्तविक प्रभावशीलता संदिग्ध है। हम अन्य तकनीकी संकेतकों, अनुकूलन मापदंडों और स्वचालित व्यापार प्रणाली के विकास आदि को पेश करके इस रणनीति में सुधार कर सकते हैं। कुल मिलाकर, शेर दरार संतुलन रणनीति एक बहुत अच्छा सीखने का मंच प्रदान करती है।

रणनीति स्रोत कोड
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
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/
// © TraderHalai
// This script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
//
//Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
//
//Full credit to the original author of this script. It can be found here: https://www.tradingview.com/script/t776tkZv-Hammers-Stars-Strategy/?offer_id=10&aff_id=15271
//
// This script can be copied and airlifted onto existing strategy scripts of your own, and integrates out of the box without implementation of additional functions. I've also added Max Runup, Average Win and Average Loss per trade to the orignal script.
//
//Will look to add in more performance metrics in future, as I further develop this script.
//
//Feel free to use this display panel in your scripts and strategies.

//Thanks and enjoy! :)
//@version=5
// strategy("Strategy BackTest Display Statistics - TraderHalai", overlay=true, default_qty_value= 5, default_qty_type = strategy.percent_of_equity, initial_capital=10000,  commission_type=strategy.commission.percent, commission_value=0.1)

//DEMO basic strategy - Use your own strategy here -  Jaws Mean Reversion from my profile used here
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 8)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 1)

smallMA = ta.sma(source, smallMAPeriod)
bigMA =  ta.sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * ta.sma(source, bigMAPeriod)[0]

buy = ta.crossunder(smallMA, buyMA)
if(buy)
    strategy.entry("BUY", strategy.long)

if(strategy.openprofit >= strategy.position_avg_price * 0.01) // 1% profit target
    strategy.close("BUY")

if(ta.barssince(buy) >= 7) //Timed Exit, if you fail to make 1 percent in 7 candles.
    strategy.close("BUY")
    
///////////////////////////// --- BEGIN TESTER CODE --- ////////////////////////
// COPY below into your strategy to enable display
////////////////////////////////////////////////////////////////////////////////

// strategy.initial_capital = 50000
// // Declare performance tracking variables
// drawTester = input.bool(true, "Draw Tester")
// var balance = strategy.initial_capital
// var drawdown = 0.0
// var maxDrawdown = 0.0
// var maxBalance = 0.0
// var totalWins = 0
// var totalLoss = 0

// // Prepare stats table
// var table testTable = table.new(position.top_right, 5, 2, border_width=1)
// f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor) =>
//     _cellText = _title + "\n" + _value
//     table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_txtcolor)
    
// // Custom function to truncate (cut) excess decimal places
// truncate(_number, _decimalPlaces) =>
//     _factor = math.pow(10, _decimalPlaces)
//     int(_number * _factor) / _factor
    
// // Draw stats table
// var bgcolor = color.new(color.black,0)
// if drawTester
//     if barstate.islastconfirmedhistory
//         // Update table
//         dollarReturn = strategy.netprofit
//         f_fillCell(testTable, 0, 0, "Total Trades:", str.tostring(strategy.closedtrades), bgcolor, color.white)
//         f_fillCell(testTable, 0, 1, "Win Rate:", str.tostring(truncate((strategy.wintrades/strategy.closedtrades)*100,2)) + "%", bgcolor, color.white)
//         f_fillCell(testTable, 1, 0, "Starting:", "$" + str.tostring(strategy.initial_capital), bgcolor, color.white)
//         f_fillCell(testTable, 1, 1, "Ending:", "$" + str.tostring(truncate(strategy.initial_capital + strategy.netprofit,2)), bgcolor, color.white)
//         f_fillCell(testTable, 2, 0, "Avg Win:", "$"+ str.tostring(truncate(strategy.grossprofit / strategy.wintrades, 2)), bgcolor, color.white)
//         f_fillCell(testTable, 2, 1, "Avg Loss:", "$"+ str.tostring(truncate(strategy.grossloss / strategy.losstrades, 2)), bgcolor, color.white)
//         f_fillCell(testTable, 3, 0, "Profit Factor:", str.tostring(truncate(strategy.grossprofit / strategy.grossloss,2)), strategy.grossprofit > strategy.grossloss ? color.green : color.red, color.white)
//         f_fillCell(testTable, 3, 1, "Max Runup:",  str.tostring(truncate(strategy.max_runup, 2 )), bgcolor, color.white)
//         f_fillCell(testTable, 4, 0, "Return:", (dollarReturn > 0 ? "+" : "") + str.tostring(truncate((dollarReturn / strategy.initial_capital)*100,2)) + "%", dollarReturn > 0 ? color.green : color.red, color.white)
//         f_fillCell(testTable, 4, 1, "Max DD:", str.tostring(truncate((strategy.max_drawdown / strategy.equity) * 100 ,2)) + "%", color.red, color.white)
// // --- END TESTER CODE --- ///////////////