दोहरी चलती औसत प्रवृत्ति अनुवर्ती रणनीति


निर्माण तिथि: 2023-09-24 13:14:08 अंत में संशोधित करें: 2023-09-24 13:14:08
कॉपी: 0 क्लिक्स: 694
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

इस रणनीति में दीर्घकालिक आरएमए औसत और अल्पकालिक ईएमए औसत के संयोजन का उपयोग किया जाता है ताकि प्रवृत्ति का आकलन किया जा सके और प्रवृत्ति का पालन करने के लिए उच्च और निम्न ब्रेक के साथ स्टॉपलॉस की अनुमति दी जा सके।

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

  1. लंबी अवधि के आरएमए और छोटी अवधि के ईएमए का उपयोग करके प्रवृत्ति की दिशा का निर्धारण करें। लघु अवधि के ईएमए के नीचे लंबे समय तक आरएमए को ओवरराइड सिग्नल के रूप में पहनें, और ओवरराइड को ओवरराइड सिग्नल के रूप में पहनें।

  2. जब कीमत नवीनतम निश्चित चक्र के उच्चतम मूल्य को तोड़ती है, तो उच्चतम मूल्य को ट्रैक करने के तरीके को रोकना। जब कीमत नवीनतम निश्चित चक्र के निम्नतम मूल्य को तोड़ती है, तो निम्नतम मूल्य को ट्रैक करने के तरीके को रोकना।

  3. एक ट्रेड-मुक्त क्षेत्र सेट करें, और उस क्षेत्र में प्रवेश करने वाले मूल्य पर कोई स्थिति नहीं खोलेगी, जिससे कि उन्हें बंद नहीं किया जा सके। इस क्षेत्र की सीमा आरएमए औसत रेखा द्वारा निर्धारित की जाती है।

  4. प्रवेश के बाद एक स्टॉप प्राइस सेट करें और एक निश्चित अनुपात में लाभ से बाहर निकलें।

रणनीतिक लाभ

  1. द्विध्रुवीय संयोजन ट्रेंड दिशा का सटीक और विश्वसनीय आकलन करता है।

  2. ट्रैक स्टॉप ट्रेंड को ट्रैक करने के लिए स्टॉप करता है।

  3. कोई लेन-देन क्षेत्र सेट करें और फ़िल्टर करें।

  4. स्टॉप-स्टॉप सेटिंग्स रणनीति को पर्याप्त लाभ अर्जित करने के बाद सक्रिय रूप से स्थिति को बंद करने की अनुमति देती हैं।

रणनीतिक जोखिम

  1. द्वि-समान रेखाओं के बीच एक मृत-चक्र उत्पन्न करने में देरी हो सकती है, जिससे हानि बढ़ जाती है।

  2. ट्रैक स्टॉप लॉस को कीमत के बहुत करीब होने से पूर्व-आवाज द्वारा मारा जा सकता है।

  3. ट्रेड-फ्री जोन को बहुत चौड़ा करने से ट्रेडिंग के अवसरों को याद किया जाता है।

  4. समय पर रोक न लगने से नुकसान और भी बढ़ सकता है।

समाधान के लिएः

  1. औसत रेखा पैरामीटर को अनुकूलित करें और विलंबता को कम करें।

  2. अतिसंवेदनशीलता से बचने के लिए स्टॉप पॉइंट को उचित रूप से ढीला करें।

  3. परीक्षण के दौरान, ट्रेड-मुक्त क्षेत्रों के दायरे को समायोजित किया जाता है ताकि अवसरों को याद न किया जा सके।

  4. अन्य रोकथाम विधियों को जोड़ना, अधिकतम हानि को सीमित करना।

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

  1. अन्य समान-रेखा सूचकांक संयोजनों का परीक्षण करें और अधिक मेल खाने वाले संयोजनों की तलाश करें।

  2. मूल्य अंतर, एमएसीडी और अन्य निर्णायक मापदंडों में वृद्धि, रणनीति की स्थिरता में सुधार

  3. मशीन लर्निंग एल्गोरिदम के अनुकूलन मापदंडों को शामिल करना ताकि रणनीति अधिक बुद्धिमान हो सके।

  4. प्रवृत्ति के मजबूत और कमजोर संकेतकों के साथ, विपरीत ट्रेडिंग से बचें।

  5. धन प्रबंधन रणनीतियों को अनुकूलित करना और उनकी सफलता दर को बढ़ाना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-08-24 00:00:00
end: 2023-09-12 00:00:00
period: 3h
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/
// © PatrickGwynBuckley

//@version=5
//var initialCapital = strategy.equity

strategy("PB Trend Scalper", "PB Trend Scalper", overlay = true)
shortma = input.int(55, title="quick ma's")
longma = input.int(100, title="long ma's")
ema55h = ta.ema(high, shortma)
ema55l = ta.ema(low, shortma)
ema200h = ta.rma(high, longma)
ema200l = ta.rma(low, longma)
stock = ta.stoch(close, high, low, 14)

lev = input.int(3, title="leverage")
hhVal = input.int(170, title="Highest high period")
llVal = input.int(170, title="Lowest low period")

hh = ta.highest(high, hhVal)
ll = ta.lowest(low, llVal)
//plot(stock)

plot(hh, color=color.new(color.green, 50))
plot(ll, color=color.new(color.red, 50))
var float downtrade = 0
p = input.float(3.0, title="no trade zone")
l = 3
emadistlong = ema200h + ((ema200h/100)*p)
emadistshort = ema200l - ((ema200h/100)*p)

plot(ema55h)
plot(ema55l)
ntl = plot(emadistlong, color=color.new(color.red, 10))
nts = plot(emadistshort, color=color.new(color.red, 10))
fill(ntl, nts, color=color.new(color.red, 90))

//position size

EntryPrice = close
//positionValue = initialCapital
positionSize = (strategy.equity*lev) / EntryPrice

//plot(strategy.equity)


//standard short

if ema55h < ema200l and close[2] < ema55l and close[1] > ema55l and high[1] < ema55h and close < ema55h and ema55h < emadistshort and strategy.opentrades == 0// and stock > 85 
    strategy.entry("short", strategy.short, qty=positionSize, comment="short")
    downtrade := 1

//reset count    
if (ta.crossunder(ema55h, ema200l)) and downtrade == 1
    downtrade := 0

//standard long    
if ema55l > ema200h and close[2] > ema55h and close[1] < ema55h and low[1] > ema55l and close > ema55l and ema55l > emadistlong and strategy.opentrades <= 1// and stock < 15 
    strategy.entry("long", strategy.long, qty=positionSize, comment="long")
    downtrade := 0

//RESET COUNT ON MA CROSS
if (ta.crossover(ema55l, ema200h)) and downtrade == 0
    downtrade := 1
    
longclose2 = low < ll[1] or low < emadistshort //close < open and open<open[1] and open[2] < open[3] and open[3] < emadistshort//close < ta.lowest(low, 20)//
shortclose2 = high > hh[1] or high>emadistlong//close > open and open>open[1] and open[2]>open[3] and open[3] > emadistlong//high > emadistlong//close > ta.highest(high, 20)//

sl = 3.5
tp = input.float(6.9, title="take profit %")
tp2 = 10


strategy.exit("long exit", "long", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl)))
strategy.close("long", when = longclose2, comment = "long exit")
//strategy.close("long", when = (downtrade == 1), comment = "long exit")
//strategy.exit("long exit", "long2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl)))
//strategy.close ("long2", when = longclose2, comment = "long exit")
//strategy.close("long", when = (downtrade == 1), comment = "long exit")

strategy.exit("short exit", "short", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl)))//, loss = 300)
strategy.close("short", when = shortclose2, comment = "short exit")
//strategy.close("short", when = (downtrade == 0), comment = "short exit")
//strategy.exit("short exit", "short2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl)))
//strategy.close ("short2", when = shortclose2, comment = "short exit")
//strategy.close("short2", when = (downtrade == 0), comment = "short exit")

//if (strategy.exit("long exit", "long"))
    //downtrade := 1
//else 
   // downtrade := 0