ट्रिपल मूविंग एवरेज चैनल ट्रेंड फॉलोइंग रणनीति


निर्माण तिथि: 2023-11-06 16:58:57 अंत में संशोधित करें: 2023-11-06 16:58:57
कॉपी: 0 क्लिक्स: 746
1
ध्यान केंद्रित करना
1617
समर्थक

ट्रिपल मूविंग एवरेज चैनल ट्रेंड फॉलोइंग रणनीति

ओवरव्यू

इस रणनीति में तीन बार चलती औसत संयोजन का उपयोग किया जाता है, जो गतिशील औसत के क्रमबद्ध संबंध के आधार पर प्रवृत्ति की दिशा को निर्धारित करता है, जिससे प्रवृत्ति का पालन किया जा सकता है। जब तेजी से चलती औसत, मध्यम गतिशील औसत और धीमी गति से चलती औसत क्रमशः क्रमबद्ध होते हैं, तो अधिक करें; जब धीमी गति से चलती औसत, मध्यम गतिशील औसत और तेजी से चलती औसत क्रमशः क्रमबद्ध होते हैं, तो खाली करें।

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

इस रणनीति में तीन अलग-अलग अवधि की चलती औसत का उपयोग किया जाता है, जिसमें तेज चलती औसत, मध्यम चलती औसत और धीमी चलती औसत शामिल हैं।

प्रवेश की शर्तें:

  1. अधिक करेंः जब तेजी से चलती औसत > मध्यम गति से चलती औसत > धीमी गति से चलती औसत, और यह मान लें कि यह ऊपर की ओर है, तो अधिक करें।
  2. शून्य करना: जब धीमी गति से चलती औसत < मध्यम गति से चलती औसत < तेजी से चलती औसत, तो यह मान लें कि बाजार में गिरावट है, शून्य करना।

खेल की शर्तें:

  1. चलती औसतः तीन चलती औसत के क्रम में एक पलटाव होता है जब स्थिति को समतल किया जाता है।
  2. स्टॉप स्टॉप लॉस आउटः एक निश्चित स्टॉप स्टॉप लॉस पॉइंट सेट करें, जैसे कि स्टॉप लॉस 12% है, स्टॉप लॉस 1% है, और स्टॉप या स्टॉप लॉस प्राइस पर पहुंचने के बाद सपाट स्थिति।

यह रणनीति सरल और सीधा है, तीन चलती औसत का उपयोग करके बाजार के रुझान की दिशा का आकलन करने के लिए, प्रवृत्ति-अनुसरण ट्रेडों को लागू करने के लिए, और प्रवृत्ति-प्रभावी बाजारों के लिए उपयुक्त है।

एडवांटेज विश्लेषण

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

जोखिम और सुधार

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

निष्कर्ष

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

रणनीति स्रोत कोड
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 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/
// © Jompatan

//@version=5
strategy('Strategy Triple Moving Average', overlay=true, initial_capital = 1000, commission_value=0.04, max_labels_count=200)

//INPUTS
mov_ave = input.string(defval="EMA", title='Moving Average type:', options= ["EMA", "SMA"])

period_1 = input.int(9,  title='Period 1', inline="1", group= "============== Moving Average Inputs ==============")
period_2 = input.int(21, title='Period 2', inline="2", group= "============== Moving Average Inputs ==============")
period_3 = input.int(50, title='Period 3', inline="3", group= "============== Moving Average Inputs ==============")

source_1 = input.source(close, title='Source 1', inline="1", group= "============== Moving Average Inputs ==============")
source_2 = input.source(close, title='Source 2', inline="2", group= "============== Moving Average Inputs ==============")
source_3 = input.source(close, title='Source 3', inline="3", group= "============== Moving Average Inputs ==============")


//EXIT CONDITIONS
exit_ma   = input.bool(true, title= "Exit by Moving average condition", group="================ EXIT CONDITIONS ================")
exit_TPSL = input.bool(false, title= "Exit by Take Profit and StopLoss", group="================ EXIT CONDITIONS ================")
TP        = input.int(12, title='Take Profit', step=1, group="================ EXIT CONDITIONS ================")
SL        = input.int(1, title='Stop Loss', step=1, group="================ EXIT CONDITIONS ================")
plot_TPSL = input.bool(false, title='Show TP/SL lines', group="================ EXIT CONDITIONS ================")


//Date filters
desde = input(defval= timestamp("01 Jan 2023 00:00 -3000"), title="From", inline="12", group= "============= DATE FILTERS =============")
hasta = input(defval= timestamp("01 Oct 2099 00:00 -3000"), title="To  ", inline="13", group= "============= DATE FILTERS =============")
enRango = true

//COMMENTS
//entry_long_comment  = input.string(defval=" ", title="Entry Long comment: ", inline="14", group="============= COMMENTS =============")
//exit_long_comment   = input.string(defval=" ", title="Exit Long comment:  ", inline="15", group="============= COMMENTS =============")
//entry_short_comment = input.string(defval=" ", title="Entry Short comment:", inline="16", group="============= COMMENTS =============")
//exit_short_comment  = input.string(defval=" ", title="Exit Short comment: ", inline="17", group="============= COMMENTS =============")

//============================================================

//Selecting Moving average type
ma1 = mov_ave == "EMA" ? ta.ema(source_1, period_1) : ta.sma(source_1, period_1)
ma2 = mov_ave == "EMA" ? ta.ema(source_2, period_2) : ta.sma(source_2, period_2)
ma3 = mov_ave == "EMA" ? ta.ema(source_3, period_3) : ta.sma(source_3, period_3)

//============================================================
//Entry Long condition: Grouped Moving average from: (ma fast > ma middle > ma slow)
long_condition = (ma1 > ma2) and (ma2 > ma3)

//Entry Short condition: Grouped Moving average from: (ma fast < ma middle < ma slow)
short_condition = (ma1 < ma2) and (ma2 < ma3)

//============================================================

cantidad       = strategy.equity / close
comprado_long  = strategy.position_size > 0
comprado_short = strategy.position_size < 0

var long_profit_price  = 0.0
var long_stop_price    = 0.0
var short_profit_price = 0.0
var short_stop_price   = 0.0

//============================================================

//ENTRY LONG
if not comprado_long and not comprado_short and long_condition and not long_condition[1] and enRango
    strategy.entry('Long', strategy.long, qty=cantidad, comment= "Entry Long")
    if exit_TPSL
        long_profit_price := close * (1 + TP/100)
        long_stop_price   := close * (1 - SL/100)
    else
        long_profit_price := na
        long_stop_price   := na
//============================================================


//ENTRY SHORT
if not comprado_long and not comprado_short and short_condition and not short_condition[1] and enRango
    strategy.entry('Short', strategy.short, qty=cantidad, comment= "Entry Short")
    if exit_TPSL
        short_profit_price := close * (1 - TP/100)
        short_stop_price   := close * (1 + SL/100)
    else
        short_profit_price := na
        short_stop_price   := na
//============================================================


//EXIT LONG 
if comprado_long and exit_ma and long_condition[1] and not long_condition
    strategy.close('Long', comment='Exit-Long(MA)')
if comprado_long and exit_TPSL
    strategy.exit('Long', limit=long_profit_price, stop=long_stop_price, comment='Exit-Long(TP/SL)')
//============================================================


//EXIT SHORT 
if comprado_short and exit_ma and short_condition[1] and not short_condition
    strategy.close('Short', comment='Exit-Short(MA)')
if comprado_short and exit_TPSL
    strategy.exit('Short', limit=short_profit_price, stop=short_stop_price, comment='Exit-Short(TP/SL)')
//============================================================



//PLOTS
plot(ma1, linewidth=2, color=color.rgb(255, 255, 255))
plot(ma2, linewidth=2, color=color.rgb(144, 255, 252))
plot(ma3, linewidth=2, color=color.rgb(49, 167, 255))
//Plot Take Profit line
plot(plot_TPSL ? comprado_long  ? long_profit_price : comprado_short ? short_profit_price : na : na, color=color.new(color.lime, 30), style= plot.style_linebr)
//Plot StopLoss line
plot(plot_TPSL ? comprado_long ? long_stop_price : comprado_short ? short_stop_price : na : na, color=color.new(color.red, 30), style= plot.style_linebr)