मूविंग एवरेज क्रॉसओवर सिस्टम


निर्माण तिथि: 2024-01-03 16:22:18 अंत में संशोधित करें: 2024-01-03 16:22:18
कॉपी: 1 क्लिक्स: 574
1
ध्यान केंद्रित करना
1621
समर्थक

मूविंग एवरेज क्रॉसओवर सिस्टम

अवलोकन

यह रणनीति एक बहुआयामी ब्रोकर ट्रेडिंग रणनीति है, जो चलती औसत पर आधारित है, जो एक ट्रेडिंग सिग्नल बनाता है। जब एक तेजी से चलती औसत नीचे से धीमी गति से चलती औसत को पार करता है, तो एक खरीद संकेत उत्पन्न होता है; जब एक तेजी से चलती औसत ऊपर से नीचे से धीमी गति से चलती औसत को पार करता है, तो एक बिक्री संकेत उत्पन्न होता है।

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

यह रणनीति दो चलती औसत का उपयोग करती है, 20 दिन की सरल चलती औसत और 30 दिन की सरल चलती औसत। जब 20 दिन की चलती औसत 30 दिन की चलती औसत को नीचे से पार करती है, तो एक खरीद संकेत उत्पन्न होता है; जब 20 दिन की चलती औसत 30 दिन की चलती औसत को ऊपर से नीचे से पार करती है, तो एक बिक्री संकेत उत्पन्न होता है।

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

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

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

  1. रणनीतिक तर्क सरल, स्पष्ट, समझने और लागू करने में आसान है, जो शुरुआती लोगों के लिए उपयुक्त है;
  2. व्यापार को चलाने के लिए, विपक्ष में जमा करने से बचें, और अनावश्यक नुकसान को कम करें;
  3. एक चलती औसत अपने आप में एक प्रकार का फ़िल्टर होता है, जो गलत संकेतों से बचने के लिए परिदृश्य शोर को हटा देता है।
  4. चक्र पैरामीटर की सेटिंग उचित है, यह अतिसंवेदनशील नहीं है और रणनीति की स्थिरता को प्रभावित नहीं करता है।

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

इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:

  1. व्यापार में उतार-चढ़ाव के दौरान, चलती औसत अक्सर पार हो जाती है, जिससे अधिक स्टॉप-लॉस हो सकते हैं;
  2. ट्रेंडिंग समय में, चलती औसत पिछड़ती है और कुछ मुनाफे से चूक सकती है;
  3. पैरामीटर को गलत तरीके से सेट करने से रणनीति की स्थिरता प्रभावित हो सकती है।

क्या करें?

  1. चलती औसत की आवृत्ति को समायोजित करना, त्रिभुज चलती औसत जैसी तकनीकों का उपयोग करना ताकि वक्र को चिकना किया जा सके और क्रॉस-फ्रीक्वेंसी को कम किया जा सके;
  2. अन्य सूचकांकों द्वारा प्रवृत्ति का आकलन करने के लिए और अस्थिरता में व्यापार करने से बचने के लिए;
  3. ऑप्टिमाइज़ेशन पैरामीटर, सबसे अच्छा पैरामीटर संयोजन ढूंढें।

अनुकूलन दिशा

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

  1. विभिन्न प्रकार के चलती औसत, जैसे कि भारित चलती औसत, त्रिकोणीय चलती औसत आदि का प्रयोग करें।
  2. अन्य तकनीकी संकेतकों को जोड़ने के लिए, ताकि बाजार में उतार-चढ़ाव के दौरान ट्रेडिंग सिग्नल उत्पन्न न हो;
  3. तकनीकी विश्लेषण विधियों जैसे कि लहर सिद्धांत, चैनल सिद्धांत और अन्य के संयोजन से बाजार के रुझानों का आकलन करना;
  4. मशीन लर्निंग और अन्य मॉडलों के साथ वास्तविक समय अनुकूलन पैरामीटर;
  5. एक स्टॉप-स्टॉप-लॉस रणनीति का उपयोग करें ताकि धन प्रबंधन को अनुकूलित किया जा सके।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 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/
// © gliese581d

//@version=4
strategy(title="Moving Averages Testing", overlay=true, precision=2, calc_on_every_tick=false, max_bars_back=5000, pyramiding=2,  
 default_qty_type=strategy.percent_of_equity, default_qty_value=50, commission_type=strategy.commission.percent, initial_capital=10000)


//SETTINGS

longs_on = input(title="Long Trades enabled", defval=true)
shorts_on = input(title="Short Trades enabled", defval=true)

long_cond = input(title="Buy/Long Crossover Condition", defval="price x MA1", options=["price x MA1", "price x MA2", "MA1 x MA2"])
short_cond = input(title="Sell/Short Crossunder Condition", defval="price x MA2", options=["price x MA1", "price x MA2", "MA1 x MA2"])

ma1_type = input(title="Moving Average 1 Type", defval="SMA", options=["SMA", "EMA"])
ma1_len = input(defval=20, title="Moving Average 1 Len", type=input.integer, minval=1, maxval=1000, step=1)
ma2_type = input(title="Moving Average 2 Type", defval="SMA", options=["SMA", "EMA"])
ma2_len = input(defval=30, title="Moving Average 2 Len", type=input.integer, minval=1, maxval=1000, step=1)


//MOVING AVERAGES

ma_1 = ma1_type == "EMA" ? ema(close, ma1_len) : sma(close, ma1_len)
ma_2 = ma2_type == "EMA" ? ema(close, ma2_len) : sma(close, ma2_len)


//STRATEGY

//trade entries
long_entry = long_cond == "price x MA1" ? crossover(close, ma_1) : long_cond == "price x MA2" ? crossover(close, ma_2) : long_cond == "MA1 x MA2" ? crossover(ma_1, ma_2) : false
short_entry = short_cond == "price x MA1" ? crossunder(close, ma_1) : short_cond == "price x MA2" ? crossunder(close, ma_2) : short_cond == "MA1 x MA2" ? crossunder(ma_1, ma_2) : false

start_month = input(defval=4, title="Strategy Start Month", type=input.integer, minval=1, maxval=12, step=1)
start_year = input(defval=2018, title="Strategy Start Year", type=input.integer, minval=2000, maxval=2025, step=1)
end_month = input(defval=12, title="Strategy End Month", type=input.integer, minval=1, maxval=12, step=1)
end_year = input(defval=2020, title="Strategy End Year", type=input.integer, minval=2000, maxval=2025, step=1)

in_time =true

strategy.entry("Long", strategy.long, when=longs_on and in_time and long_entry)
strategy.close("Long", when=longs_on and not shorts_on and short_entry)

strategy.entry("Short", strategy.short, when=shorts_on and in_time and short_entry)
strategy.close("Short", when=shorts_on and not longs_on and long_entry)


//PLOTTING

//color background
last_entry_was_long = nz(barssince(long_entry)[1], 5000) < nz(barssince(short_entry)[1], 5000)
bgcol = (longs_on and last_entry_was_long) ? color.green : (shorts_on and not last_entry_was_long) ? color.red : na
bgcolor(color=bgcol, transp=90)

plot((long_cond == "price x MA1" or long_cond == "MA1 x MA2") or (short_cond == "price x MA1" or short_cond == "MA1 x MA2") ? ma_1 : na, color=color.blue)
plot((long_cond == "price x MA2" or long_cond == "MA1 x MA2") or (short_cond == "price x MA2" or short_cond == "MA1 x MA2") ? ma_2 : na, color=color.black)
plotshape(long_entry, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(short_entry, style=shape.triangledown, location=location.abovebar, color=color.red)