ट्रिपल ईएमए गति रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-27 17:19:26
टैगः

अवलोकन

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

रणनीति तर्क

यह रणनीति अलग-अलग अवधि के साथ तीन ईएमए का उपयोग करती हैः 25-पीरियड फास्ट ईएमए, 50-पीरियड स्टैंडर्ड ईएमए और 100-पीरियड स्लो ईएमए। जब फास्ट ईएमए मानक ईएमए और धीमी ईएमए को पार करता है, तो यह खरीद संकेत उत्पन्न करता है। जब फास्ट ईएमए मानक ईएमए और धीमी ईएमए से नीचे पार करता है, तो यह बिक्री संकेत उत्पन्न करता है। लेग को कम करने के लिए, ईएमए की गणना डबल घातीय चिकनाई तकनीक का उपयोग करके की जाती है। यह रणनीति यह भी जांचती है कि लंदन या न्यूयॉर्क सत्रों के खुले बाजार के समय प्रवेश की शर्तों से मेल खाते हैं या नहीं। इसके अलावा, जोखिम को नियंत्रित करने के लिए खाता इक्विटी के एक निश्चित प्रतिशत का उपयोग करके प्रत्येक ऑर्डर का पद आकार गतिशील रूप से निर्धारित किया जाता है।

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

लाभ विश्लेषण

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

  1. ट्रिपल ईएमए प्रभावी रूप से मूल्य डेटा को चिकना कर सकते हैं और प्रवृत्ति की दिशा की पहचान कर सकते हैं। फास्ट ईएमए मूल्य परिवर्तनों के प्रति संवेदनशील है, मानक ईएमए लगातार ट्रैक करता है, और धीमी ईएमए शोर को फ़िल्टर करता है। एक साथ उपयोग किए जाने पर, वे झूठे ब्रेकआउट को फ़िल्टर कर सकते हैं और प्रवृत्ति की दिशा निर्धारित कर सकते हैं।

  2. डबल एक्सपोनेंशियल स्मूथिंग का प्रयोग लेग को कम करता है और संकेतों को अधिक संवेदनशील बनाता है।

  3. प्रमुख ट्रेडिंग सत्रों को शामिल करने से पीक घंटे के दौरान भ्रामक संकेतों से बचा जा सकता है।

  4. जोखिम प्रबंधन दृष्टिकोण एकल ट्रेडों पर अत्यधिक नुकसान से बचने के लिए खाता स्वामित्व के आधार पर स्थिति के आकार को समायोजित करता है।

  5. तर्क सरल और स्पष्ट है, समझने और लागू करने में आसान है, शुरुआती लोगों के लिए उपयुक्त है।

  6. रणनीति को विभिन्न मुद्रा जोड़े और समय सीमाओं के लिए अनुकूलित और समायोजित किया जा सकता है, व्यापक अनुप्रयोग के साथ।

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

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

  1. ईएमए अचानक घटनाओं के कारण होने वाले अल्पकालिक झूठे ब्रेकआउट को प्रभावी ढंग से फ़िल्टर नहीं कर सकते हैं, जो गलत संकेत उत्पन्न कर सकते हैं। फ़िल्टर और विश्लेषण के लिए अन्य संकेतक जोड़े जा सकते हैं।

  2. फिक्स्ड प्रतिशत स्थिति आकार बाजार अस्थिरता के लिए गतिशील रूप से समायोजित नहीं किया जा सकता है, जिसके परिणामस्वरूप अधिक या कम आकार की स्थिति होती है। अस्थिरता के आधार पर गतिशील स्थिति आकार पर विचार किया जा सकता है।

  3. केवल दो प्रमुख सत्रों पर विचार किया जाता है, जो अन्य सत्रों में व्यापार के अवसरों को याद कर सकते हैं। विभिन्न सत्रों के प्रभावों का परीक्षण किया जा सकता है।

  4. स्टॉप लॉस तंत्र की कमी के परिणामस्वरूप एकतरफा नुकसान को प्रभावी ढंग से नियंत्रित करने में असमर्थता होती है। चलती या समय-आधारित स्टॉप लॉस को लागू किया जा सकता है।

  5. ईएमए क्रॉसओवर में कुछ विलंब होता है और सबसे अच्छा प्रवेश समय चूक सकता है। ईएमए अवधि को कम करना या प्रमुख संकेतकों को शामिल करना मदद कर सकता है।

  6. लेन-देन की लागत से प्रदर्शन प्रभावित हो सकता है। स्टॉप लॉस और टेक प्रॉफिट स्तरों को तदनुसार समायोजित किया जाना चाहिए।

अनुकूलन दिशाएँ

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

  1. इष्टतम संयोजन खोजने के लिए विभिन्न ईएमए अवधि मापदंडों का परीक्षण करें। गतिशील रूप से अवधि का अनुकूलन करने के लिए अनुकूलनशील ईएमए पेश किए जा सकते हैं।

  2. सिग्नल की गुणवत्ता में सुधार के लिए आरएसआई, बोलिंगर बैंड जैसे अन्य फ़िल्टरिंग संकेतक जोड़ें।

  3. बाजार की अस्थिरता और लाभप्रदता के आधार पर गतिशील स्थिति आकार को लागू करना।

  4. नुकसान को सीमित करने के लिए चलती या समय रोक हानि जोड़ें। ठीक ट्यून स्टॉप हानि स्तर।

  5. इष्टतम समय खोजने के लिए विभिन्न ट्रेडिंग सत्रों का परीक्षण करें। अस्थिरता माप स्क्रीनिंग में मदद कर सकते हैं।

  6. लाभ आकार और जीत दर को संतुलित करने के लिए लाभ लेने और हानि रोकने के स्तरों को अनुकूलित करें। पैराबोलिक SAR जैसे बुद्धिमान स्टॉप पेश करें।

  7. देरी को कम करने के लिए रैखिक भारित ईएमए की तरह ईएमए गणना को संशोधित करने का प्रयास करें।

  8. इष्टतम मापदंडों को खोजने के लिए मशीन लर्निंग का उपयोग करें।

  9. अधिकतम शुद्ध लाभ के लिए लेन-देन लागत और समायोजन प्रणाली का मॉडल।

उपरोक्त अनुकूलन के माध्यम से, प्रणाली की लाभप्रदता में सुधार किया जा सकता है, ड्रॉडाउन को नियंत्रित किया जा सकता है, एक अधिक शक्तिशाली और मजबूत व्यापार रणनीति प्राप्त करने के लिए प्रयोज्यता का विस्तार किया जा सकता है।

सारांश

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


/*backtest
start: 2023-09-19 00:00:00
end: 2023-09-26 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// original author SoftKill21
//@version=4
//@capam 

strategy(title="Triple EMA Scalper low lag strat", shorttitle="3EMA scalper", overlay=true)
strategy.initial_capital = 50000
len1 = input(25, minval=1, title="Length")
len2 = input(50, minval=1, title="Length")
len3 = input(100, minval=1, title="Length")

src = input(close, title="Source")
tmp1 = ema(src, len1)
tmp2 = ema(src, len2)
tmp3 = ema(src, len3)
fastemaOut = 2*tmp1 - ema(tmp1, len1)
standardemaOut = 2*tmp2 - ema(tmp2, len2)
slowemaOut = 2*tmp3 - ema(tmp3, len3)
//fastemaOut = sma(src, len1)
//standardemaOut = sma(src, len2)
//slowemaOut = sma(src, len3)

plot(fastemaOut, color=color.black, title="First EMA")
plot(standardemaOut, color=color.yellow, title="Second EMA")
plot(slowemaOut, color=color.blue, title="Third EMA")


timeinrange(res, sess) => time(res, sess) != 0


londopen = timeinrange(timeframe.period, "0300-1100") 
nyopen = timeinrange(timeframe.period, "0800-1600") 

longCondition = crossover(fastemaOut,standardemaOut) and crossover(fastemaOut,slowemaOut) and londopen //or nyopen)
shortCondition = crossunder(fastemaOut,standardemaOut) and crossunder(fastemaOut,slowemaOut) and londopen// or nyopen)

longCondition2 = crossover(fastemaOut,standardemaOut) and crossover(fastemaOut,slowemaOut) and nyopen
shortCondition2 = crossunder(fastemaOut,standardemaOut) and crossunder(fastemaOut,slowemaOut) and nyopen
tp = input(50,title="TP")
sl = input(100, title="SL")

tradeLondon =  input(title="Trade london session?", type=input.bool, defval=true)
tradeNewyork = input(title="Trade new york session?", type=input.bool, defval=true)

//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(1,type=input.float,title="Risk % of equity ")/100           //risk % per trade
temp01 = balance * risk     //Risk in USD
temp02 = temp01/sl        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1000)
    size := 1000        

if(tradeLondon==true)
    strategy.entry("long",1,when=longCondition)
    strategy.exit("tp/sl","long",profit=tp,loss=sl)
    
    strategy.entry("short",0,when=shortCondition)
    strategy.exit("tp/sl","short",profit=tp,loss=sl)

if(tradeNewyork==true)
    strategy.entry("long",1,when=longCondition2)
    strategy.exit("tp/sl","long",profit=tp,loss=sl)
    
    strategy.entry("short",0,when=shortCondition2)
    strategy.exit("tp/sl","short",profit=tp,loss=sl)

// strategy.risk.max_intraday_filled_orders(2) 

अधिक