क्रॉस टाइमफ्रेम हुल मूविंग एवरेज खरीदें बेचें रणनीति

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

img

अवलोकन

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

रणनीति तर्क

  1. इनपुट मापदंडः पतवार एमए अवधि अवधि, एचएमए2 समय सीमा संकल्प2, एचएमए3 समय सीमा संकल्प3

  2. वर्तमान बारs Hull MA मान HMA की गणना

  3. Hull MA मान HMA2 की गणना Resolution2 समय सीमा पर करें

  4. Hull MA मान HMA3 की गणना Resolution3 समय सीमा पर करें

  5. HMA, HMA2, HMA3 के बीच परिमाण संबंध की तुलना करें

  6. खरीद संकेत उत्पन्न करें जब HMA>HMA2>HMA3

  7. HMA

  8. चार्ट के ऊपरी बाएं भाग में विभिन्न समय सीमाओं पर हुल एमए मूल्यों और संकेतों को प्रदर्शित करें

  9. ऊपर और नीचे के रुझान को अलग करने के लिए रंगों का प्रयोग करें

लाभ विश्लेषण

  1. कई समय सीमाओं का उपयोग करके झूठे ब्रेकआउट को फ़िल्टर किया जा सकता है और जाल से बचा जा सकता है।

  2. अनुकूलन योग्य समय सीमा पैरामीटर, विभिन्न अवधियों और अस्थिरता के अनुकूल।

  3. वास्तविक समय में सिग्नल डिस्प्ले, सहज संचालन।

  4. चित्रित हुल एमए रुझान वर्तमान रुझान को निर्धारित करने में मदद करते हैं।

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

  1. गलत पैरामीटर सेटिंग्स से ओवर ट्रेडिंग हो सकती है।

  2. अधिक समय सीमा के लिए हुल एमए में देरी का प्रभाव पड़ता है, यह रुझान मोड़ बिंदुओं को याद कर सकता है।

  3. बुल-बियर संक्रमण के आसपास झूठे संकेत उत्पन्न कर सकता है।

  4. भटकने की रणनीतियाँ झूठी भटकने के जाल में फंसने की प्रवृत्ति रखती हैं।

  5. व्यापारिक कमीशनों पर विचार नहीं किया जाता है जो वास्तविक लाभ को प्रभावित करते हैं।

मापदंडों को अनुकूलित करके, निस्पंदन के लिए अन्य संकेतकों को मिलाकर और व्यापक स्टॉप लॉस की अनुमति देकर जोखिमों को कम किया जा सकता है।

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

  1. विभिन्न अवधियों और अस्थिरता के अनुकूल हुल एमए अवधि का अनुकूलन करना।

  2. झूठे ब्रेकआउट से बचने के लिए वॉल्यूम इंडिकेटर जोड़ें।

  3. रुझान की ताकत निर्धारित करने के लिए ऑसिलेटर जोड़ें।

  4. खरीद/बिक्री के समय के लिए मशीन लर्निंग मॉडल शामिल करें।

  5. बाजार के प्रचार का पता लगाने के लिए भावना संकेतकों को मिलाएं।

  6. जोखिम प्रबंधन में सुधार के लिए स्टॉप लॉस रणनीति को समायोजित करें।

  7. अन्य संकेतकों के साथ खरीद/बिक्री की शर्तों को अनुकूलित करें।

  8. मूल्य चैनल या लहर आधारित व्यापारिक रणनीतियों को जोड़ें।

निष्कर्ष

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


/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1)
Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1)
Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60")
Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240")
Price=input(title="Source of Price",type=input.source,defval=open)
xOffset       = input(40, title="Panel offset (X-Axis)")
yOffset       = input(0, title="Panel offset (y-Axis)")
lightgray = #D3D3D3FF
pnlTextColor = color.silver
pnlColor = color.black
HMA = hma(Price,Period)
HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off)
HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off) 
HUP = HMA > HMA[1]
H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off)
H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off) 

int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 : 
           timeframe.isseconds? timeframe.multiplier*1000 :
           timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1])
int   lapos_x = timenow + barSize*xOffset
float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue
f_draw_infopanel(_x, _y, _line, _text)=>
    _rep_text = ""
    for _l = 0 to _line
        _rep_text := _rep_text + "\n"
    _rep_text := _rep_text + _text
    // var label _la = na
    // label.delete(_la)
//     _la := label.new(
//          x=_x, y=_y, 
//          text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price, 
//          color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal)
// f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝")
f_draw_infopanel(lapos_x, lapos_y, 6,  "HMA3 on TF " + Resolution3 + "  = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 4,  "HMA2 on TF " + Resolution2 + "  = " +  tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 2,  "HMA1 on TF " + timeframe.period + "  = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL"))
f_draw_infopanel(lapos_x, lapos_y, 0,  "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗")
change_color=HMA>HMA3?color.green:color.red
change_color2=HMA2>HMA3?color.lime:color.yellow
plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75)
plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75)
plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75)
fill(plot1,plot3,color=change_color,transp=90)
fill(plot2,plot3,color=change_color2,transp=75)
if (H2UP and H1UP and HUP)
    strategy.entry("BUY",strategy.long)
if (not H2UP and not H1UP and not HUP)
    strategy.entry("SELL",strategy.short)

अधिक