डोन्चियन चैनल पर आधारित टर्टल ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-25 10:57:52 अंत में संशोधित करें: 2023-12-25 10:57:52
कॉपी: 3 क्लिक्स: 888
1
ध्यान केंद्रित करना
1621
समर्थक

डोन्चियन चैनल पर आधारित टर्टल ट्रेडिंग रणनीति

अवलोकन

इस रणनीति को डोनचियन चैनल पर आधारित समुद्री डाकू ट्रेडिंग रणनीति कहा जाता है। यह रणनीति प्रसिद्ध समुद्री डाकू ट्रेडिंग सिद्धांतों के मुख्य विचारों को रेखांकित करती है, जो डोनचियन चैनल के माध्यम से बाजार के रुझानों का आकलन करती है, और एक अपेक्षाकृत सरल ट्रेंड ट्रैकिंग रणनीति को प्राप्त करने के लिए चलती औसत के साथ मिलकर फ़िल्टर करती है।

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

इस रणनीति का मुख्य निर्णय करने वाला संकेतक Donchian चैनल है। Donchian चैनल उच्चतम और निम्नतम कीमतों के N दिनों के भीतर उतार-चढ़ाव की सीमा से बना है, यदि कीमत चैनल को पार करती है, तो यह एक लंबा संकेत है; यदि यह चैनल को पार करती है, तो यह एक छोटा संकेत है। यह रणनीति तेजी से Donchian चैनल का उपयोग करती है (10 दिन) संकेत देने के लिए, धीमी Donchian चैनल का उपयोग करने के लिए (20 दिन) बंद करने के लिए।

इसके अलावा, इस रणनीति में दो चलती औसत (50-दिन की रेखा और 125-दिन की रेखा) शामिल हैं जो संकेतों को फ़िल्टर करते हैं। मल्टीहेड ट्रेडिंग केवल तभी की जाती है जब तेज चलती औसत पर धीमी चलती औसत होता है; और खाली ट्रेडिंग केवल तभी की जाती है जब तेज चलती औसत के नीचे धीमी चलती औसत होता है। यह कुछ झूठे संकेतों को प्रभावी रूप से फ़िल्टर कर सकता है।

इस रणनीति के लिए स्थिति खोलने की शर्तें हैंः कीमत पर डोनचियन चैनल को पार करने के लिए, और तेजी से चलती औसत पर धीमी गति से चलती औसत को पार करने के लिए, इन दोनों शर्तों को पूरा करने के लिए कई ऑर्डर खोले जाएंगे; कीमत के नीचे डोनचियन चैनल को पार करने के लिए, और तेजी से चलती औसत के नीचे धीमी गति से चलती औसत को पार करने के लिए, एक खाली ऑर्डर खोलें।

रणनीति का विश्लेषण

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

  1. डोनचियन चैनल का उपयोग प्रवृत्ति की दिशा का आकलन करने के लिए किया जाता है, जो बड़े रुझानों को पकड़ने के लिए बेहतर प्रतिक्रिया प्रदान करता है।

  2. एक और कदम आगे बढ़ना है, और एक और कदम आगे बढ़ना है, और एक और कदम आगे बढ़ना है।

  3. धीमी गति से चलने वाली औसत और एक धीमी गति से चलने वाले चैनल का संयोजन, जो ट्रेडिंग आवृत्ति और स्टॉप-लॉस सटीकता को संतुलित करता है;

  4. जोखिम को नियंत्रित किया गया है, और व्यक्तिगत नुकसान को नियंत्रित करने के लिए एक स्टॉप लॉस तंत्र है।

रणनीतिक जोखिम विश्लेषण

इस रणनीति के कुछ जोखिम भी हैं:

  1. इस तरह के एक छोटे से नुकसान के साथ, आपातकालीन स्थिति में एक छोटे से नुकसान के साथ एक इकाई हो सकती है।

  2. जब रुझान बदलता है, तो चलती औसत फ़िल्टर करने से भंडारण की लागत बढ़ जाती है;

  3. एक बार जब आप किसी भी प्रकार के व्यापार में शामिल हो जाते हैं, तो आपको रोकथाम का सामना करना पड़ सकता है।

इस समस्या का समाधानः

  1. विभिन्न बाजारों के लिए उपयुक्त मापदंडों को समायोजित करने के लिए, डोनचियन चक्र को छोटा करें और चलती औसत चक्र को कम करें।

  2. इस प्रकार, यह एक प्रकार का “प्रवृत्ति-विरोधी” है, और यह एक प्रकार का “प्रवृत्ति-विरोधी” है, जो “प्रवृत्ति-विरोधी” है।

रणनीति अनुकूलन दिशा

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

  1. उदाहरण के लिए, लेन-देन की मात्रा को पेश करना, केवल लेन-देन की मात्रा में वृद्धि के मामले में स्टॉक खोलने के लिए;

  2. गर्म क्षेत्र के लिए निर्णय को बढ़ाएं। समर्थन दबाव स्तर, तरंग दैर्ध्य, पैटर्न आदि के साथ निर्णय मूल्य गर्म, गर्म क्षेत्र में भंडारण से बचें;

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()