दोहरी लाभ लेने की गतिशील औसत क्रॉसओवर मात्रात्मक रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-14 16:04:33
टैगः

img

अवलोकन

यह रणनीति जोखिम को नियंत्रित करने और लाभप्रदता बढ़ाने के लिए सरल चलती औसत क्रॉसओवर और दोहरी लाभ लेने की तकनीकों का उपयोग करती है। यह मध्यम अवधि के व्यापार और प्रवृत्ति परिवर्तन के दौरान अवसरों को पकड़ने के लिए उपयुक्त है।

रणनीति तर्क

यह रणनीति बाजार के रुझानों को निर्धारित करने के लिए ईएमए और डब्ल्यूएमए क्रॉसओवर पर आधारित है। जब ईएमए डब्ल्यूएमए के ऊपर पार करता है तो यह लंबा होता है, और जब ईएमए डब्ल्यूएमए के नीचे पार करता है तो यह छोटा होता है।

प्रवेश पर, दो ले लाभ स्तर निर्धारित किए जाते हैं। पहला ले लाभ प्रवेश मूल्य + 20 पिप्स पर तय किया जाता है, और दूसरा ले लाभ प्रवेश मूल्य + 40 पिप्स पर तय किया जाता है। इस बीच, एक स्टॉप लॉस प्रवेश मूल्य - 20 पिप्स पर रखा जाता है।

जब कीमत पहले ले लाभ को छूती है, यह स्थिति का आधा बंद कर देगा. शेष स्थिति दूसरे ले लाभ की ओर चलती रहेगी या जब तक बंद नहीं हो जाती।

प्रत्येक व्यापार के लिए तीन संभावित परिणाम हैंः

  1. मूल्य स्टॉप लॉस को हिट करता है, सीधे 2% हानि लेता है।

  2. मूल्य हिट पहले लाभ लेते हैं, पहले आधे पद को बंद करते हैं 1% लाभ को लॉक करते हैं, फिर रुकने तक चलते रहते हैं, ब्रेक इवे के साथ समाप्त होते हैं।

  3. पहले लाभ लेने के बाद, कीमत चलती रहती है और दूसरा लाभ लेने को हिट करती है, 1% + 2% = 3% कुल लाभ के साथ समाप्त होती है।

लाभ विश्लेषण

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

सिंगल टेक प्रॉफिट/स्टॉप लॉस की तुलना में, इस रणनीति के तीन परिणाम हैं - हानि, जीत या ब्रेक इवे, स्टॉप लॉस की संभावना को कम करना। यहां तक कि अगर रोक दिया जाता है, तो अधिकतम हानि 2% तक सीमित होती है। पारंपरिक रणनीतियों की तुलना में, डबल टेक प्रॉफिट तंत्र डीडी को काफी कम करता है और जीत की दर में सुधार करता है।

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

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

लाभों के बावजूद इस रणनीति के लिए जोखिमों के बारे में भी पता होना चाहिए।

सबसे पहले, चलती औसत संकेतकों के रूप में, ईएमए और डब्ल्यूएमए में बाजार की सीमाओं की पहचान करने की अपेक्षाकृत कमजोर क्षमताएं हैं। जब प्रवृत्ति अस्पष्ट होती है तो बहुत सारे झूठे संकेत हो सकते हैं, जिससे ओवर-ट्रेडिंग हो सकती है।

दूसरा, निश्चित लाभ लेने/हटाने के स्तर बाजार की अस्थिरता के अनुकूल नहीं हो सकते हैं। उच्च अस्थिरता के दौरान वे आसानी से प्रवेश कर सकते हैं, जिससे वे अप्रभावी हो जाते हैं।

अंत में, रणनीति अप्रत्याशित घटनाओं का जवाब नहीं दे सकती है, जिसमें फंसने का खतरा होता है। प्रमुख समाचार घटनाएं बड़ी कीमतों के अंतर पैदा कर सकती हैं जो सीधे लाभ / हानि के स्तर को तोड़ती हैं, जिससे भारी नुकसान होता है।

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

रणनीति को और अधिक अनुकूलित करने के लिए कई पहलू हैंः

  1. प्रवेश संकेतों में सुधार करें। उच्च गुणवत्ता वाले संकेत उत्पन्न करने के लिए ईएमए और डब्ल्यूएमए की तुलना में बेहतर चलती औसत या प्रवृत्ति संकेतकों का परीक्षण करें।

  2. गतिशील रूप से लाभ लेने / हानि रोकने के लिए समायोजित करें। लाभ / हानि के स्तर को बाजारों के अनुकूल बनाने के लिए एटीआर, ट्रेलिंग स्टॉप लॉस आदि जैसे तरीकों का उपयोग करें।

  3. फ़िल्टर जोड़ें. ट्रैप्स से बचने के लिए क्रॉसओवर से पहले वॉल्यूम या माध्यमिक संकेतक की पुष्टि की आवश्यकता है. यह भी विचार करें कि क्या प्रमुख घटनाओं के आसपास व्यापार करना है।

  4. पूंजी प्रबंधन नियमों के अनुसार स्थिति आकार को ठीक से समायोजित करें।

निष्कर्ष

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


/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("FS ATR & PS (MA)", overlay=true)

// Strategy
Buy  = input(true)
Sell = input(true)

// Time Period
start_year   = input(title='Start year'   ,defval=2019)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_hour   = input(title='Start hour '  ,defval=0)
start_minute = input(title='Start minute' ,defval=0)
end_time     = input(title='set end time?',defval=false)
end_year     = input(title='end year'     ,defval=2019)
end_month    = input(title='end month'    ,defval=12)
end_day      = input(title='end day'      ,defval=31)
end_hour     = input(title='end hour'     ,defval=23)
end_minute   = input(title='end minute'   ,defval=59)

// MA
ema_period   = input(title='EMA period',defval=10)
wma_period   = input(title='WMA period',defval=20)
ema = ema(close,ema_period)
wma = wma(close,wma_period)

// Entry Condition
longCondition  = 
 crossover(ema,wma) and Buy and
 nz(strategy.position_size) == 0 and
 time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
 (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)
 
shortCondition = 
 crossunder(ema,wma) and Sell and
 nz(strategy.position_size) == 0 and
 time > timestamp(start_year, start_month, start_day, start_hour, start_minute) and
 (end_time?(time < timestamp(end_year, end_month, end_day, end_hour, end_minute)):true)

// Exit Condition
a = input(20)*10
b = input(40)*10
c = a*syminfo.mintick
d = b*syminfo.mintick

long_stop_level     = float(na)
long_profit_level1  = float(na)
long_profit_level2  = float(na)
long_even_level     = float(na)

short_stop_level    = float(na)
short_profit_level1 = float(na)
short_profit_level2 = float(na)
short_even_level    = float(na)

long_stop_level     := longCondition  ? close - c : long_stop_level     [1]
long_profit_level1  := longCondition  ? close + c : long_profit_level1  [1]
long_profit_level2  := longCondition  ? close + d : long_profit_level2  [1]
long_even_level     := longCondition  ? close + 0 : long_even_level     [1]

short_stop_level    := shortCondition ? close + c : short_stop_level    [1]
short_profit_level1 := shortCondition ? close - c : short_profit_level1 [1]
short_profit_level2 := shortCondition ? close - d : short_profit_level2 [1]
short_even_level    := shortCondition ? close + 0 : short_even_level    [1] 

// Position Sizing
Risk = input(defval=10, title="Risk per trade%", step=1, minval=0, maxval=100)/100
size  = 1

// Strategy
if longCondition
    strategy.entry("Buy"  , strategy.long, qty=size)
    strategy.exit ("Exit1", stop=long_stop_level, limit=long_profit_level1, qty=size/2)
    strategy.exit ("Exit2", stop=long_stop_level, limit=long_profit_level2)
    
if shortCondition
    strategy.entry("Sell" , strategy.short, qty=size)
    strategy.exit ("Exit3", stop=short_stop_level, limit=short_profit_level1, qty=size/2)
    strategy.exit ("Exit4", stop=short_stop_level, limit=short_profit_level2)
    
// Plot
plot(strategy.position_size <= 0 ? na : long_stop_level    , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level1 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_profit_level2 , color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size <= 0 ? na : long_even_level    , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_stop_level   , color=#dc143c, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level1, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_profit_level2, color=#00ced1, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size >= 0 ? na : short_even_level   , color=#ffffff, style=plot.style_linebr, linewidth=1)
plot(ema,color=#00ced1)
plot(wma,color=#dc143c)






अधिक