मल्टी टाइमफ्रेम ट्रेंड ट्रैकिंग इंट्राडे स्केलिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-16 17:47:06
टैगः

img

अवलोकन

यह रणनीति प्रवृत्ति स्थिरता निर्धारित करने के लिए कई समय सीमाओं में चलती औसत संकेतकों को जोड़ती है और प्रवृत्ति का पालन करने और लाभ कमाने के लिए दिन के दौरान स्केलिंग क्रियाएं करती है।

रणनीति तर्क

यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए 5-मिनट, 15-मिनट, 30-मिनट और 60-मिनट के टाइमफ्रेम पर 8-पीरियड और 20-पीरियड मूविंग एवरेज का उपयोग करती है। एक खरीद सिग्नल तब उत्पन्न होता है जब 8-पीरियड एमए 20-पीरियड एमए से ऊपर पार हो जाता है। एक बिक्री सिग्नल तब उत्पन्न होता है जब 8-पीरियड एमए 20-पीरियड एमए से नीचे पार हो जाता है।

ट्रेड ऑर्डर जारी करने से पहले रणनीति के लिए चार टाइमफ्रेम में लगातार सिग्नल की आवश्यकता होती है। एक खरीद या बिक्री ऑर्डर केवल तभी किया जाता है जब चलती औसत सभी चार टाइमफ्रेम पर संरेखित होती है।

एक बार स्थिति में प्रवेश करने के बाद, रणनीति दिन के भीतर लाभ लेने के लिए एक निश्चित लाभ लक्ष्य निर्धारित करती है।

विशेष रूप से, रणनीति विभिन्न समय सीमाओं से एमए मानों को पुनर्प्राप्त करने के लिए सुरक्षा))) फ़ंक्शन का उपयोग करती है। यह 5-मिनट, 15-मिनट, 30-मिनट और 60-मिनट चार्ट पर 8-अवधि और 20-अवधि एमए के बीच अंतर की गणना करती है।

खरीद और बिक्री संकेत इस बात से निर्धारित होते हैं कि क्या अंतर रेखा शून्य रेखा के ऊपर/नीचे पार करती है। प्रत्येक समय सीमा पर संकेत को रिकॉर्ड करने के लिए कई islong और isshort ध्वज का उपयोग किया जाता है। islong और isshort शर्तों को पूरा करने पर ऑर्डर दिए जाते हैं।

व्यापार में प्रवेश करने के बाद, रणनीति का उपयोग करता हैstrategy.exit() स्केलिंग के लिए एक निश्चित लाभ लक्ष्य निर्धारित करने के लिए।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

  1. बहु-समय-सीमा डिजाइन शोर को फ़िल्टर करता है और व्यापार आवृत्ति को कम करता है।

  2. लाभ अनुकूलन के साथ इंट्राडे स्केल्पिंग लगातार छोटे लाभ जमा करता है।

  3. स्पष्ट कोड संरचना, समझने और अनुकूलित करने में आसान।

  4. उचित शर्तें जोखिम को नियंत्रित करने में मदद करती हैं।

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

इस रणनीति के संभावित जोखिमः

  1. मल्टी टाइमफ्रेम सूक्ष्म रुझान परिवर्तनों को मिस कर सकते हैं।

  2. बार-बार स्केलिंग करने से लागत बढ़ जाती है।

  3. निश्चित लाभ लक्ष्य में लचीलापन की कमी है।

  4. संकेतकों पर निर्भर करता है, धोखा देने का जोखिम होता है।

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

संभावित अनुकूलनः

  1. अधिक मजबूत संकेतों के लिए अधिक समय सीमा जोड़ें।

  2. एटीआर पर आधारित गतिशील लाभ लक्ष्य।

  3. अतिरिक्त फ़िल्टर जैसे वॉल्यूम वृद्धि या इतिहास चरम।

  4. सर्वोत्तम मापदंडों के लिए एमए अवधि का अनुकूलन करें।

  5. सिग्नल की विश्वसनीयता का न्याय करने के लिए मशीन लर्निंग जोड़ें।

सारांश

कुल मिलाकर यह इंट्राडे स्केलिंग का उपयोग करके एक विशिष्ट मल्टी-टाइमफ्रेम ट्रेंड ट्रैकिंग रणनीति है। तर्क स्पष्ट है और कोड अच्छी तरह से संरचित है। उचित अनुकूलन के साथ यह एक बहुत ही व्यावहारिक स्केलिंग रणनीति टेम्पलेट बन सकता है।


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

//@version=2
strategy(title="PeBAS $JPY Scalper 15m ",overlay=true) 
zeigeallebars= input(false, title="Zeige alle (Show all) Candles/Bars?")
profitwert=input(52, title="Profit")
myatr=  input(title="ATR", type=float, defval=0.00002, minval=0.00001,step=0.00001)


//Plot  EMA-Differenz Aktueller Timeframe

dif=(ema(close,8)+ema(close,20))/2
mcolor=ema(close,8) > ema(close,20) ? green : red
bs = ema(close,8) > ema(close,20) ? true : false
ThisATR=atr(16)

//trans = zeigeallebars == true ? 00 : 100
//plot(dif,"dif",color=mcolor,linewidth=6,transp=trans)


//1M EMA
htf_ma1Mema8 = ema(close, 5)
htf_ma1Mema20 = ema(close, 20)
ema81m=request.security(syminfo.tickerid, "1", htf_ma1Mema8)
ema201m=request.security(syminfo.tickerid, "1", htf_ma1Mema20)
dif1M = (ema81m + ema201m) / 2
Close1M = request.security(syminfo.tickerid, "1", close)
color1=ema81m > ema201m ? green : red
//plot(dif1M,"dif",color1,linewidth=6)
//plotshape(1, style=shape.cross, color=color1,location=location.top)
ls1 = ema81m > ema201m ? 1 : 0



//5M EMA

htf_ma5Mema8 = ema(close, 8)
htf_ma5Mema20 = ema(close, 20)
ema85m=request.security(syminfo.tickerid, "5", htf_ma5Mema8)
ema205m=request.security(syminfo.tickerid, "5", htf_ma5Mema20)
dif5M = (ema85m + ema205m) / 2
 
color5=ema85m > ema205m ? green : red
plot(dif5M,"dif",color5,linewidth=5)
ls5 = ema85m > ema205m ? 1 : 0
alert1= ema85m > ema205m and ema85m[1] < ema205m[1] ? 1 : 0
islong5 = ema85m > ema205m ? 1 : 0
isshort5 = ema85m < ema205m ? 1 : 0

//15M EMA

htf_ma15Mema8 = ema(close, 8)
htf_ma15Mema20 = ema(close, 20)
ema815m=request.security(syminfo.tickerid, "15", htf_ma15Mema8)
ema2015m=request.security(syminfo.tickerid, "15", htf_ma15Mema20)
dif15M = (ema815m + ema2015m) / 2
 
color15=ema815m > ema2015m ? green : red
plot(dif15M,"dif",color15,linewidth=3)
ls15= ema815m > ema2015m ? 1 : 0
alert2= ema815m > ema2015m and ema815m[1] < ema2015m[1] ? 1 : 0
islong15 = ema815m > ema2015m ? 1 : 0
isshort15 = ema815m < ema2015m ? 1 : 0





//30M EMA
htf_ma30Mema8 = ema(close, 8)
htf_ma30Mema20 = ema(close, 20)
ema830m=request.security(syminfo.tickerid, "30", htf_ma30Mema8)
ema2030m=request.security(syminfo.tickerid, "30", htf_ma30Mema20)
dif30M = (ema830m + ema2030m) / 2
 
color30=ema830m > ema2030m ? green : red
ls30= ema830m > ema2030m ?1 : 0
islong30 = ema830m > ema2030m ? 1 : 0
isshort30 = ema830m < ema2030m ? 1 : 0



//60M EMA

htf_ma60Mema8 = ema(close, 8)
htf_ma60Mema20 = ema(close, 20)
ema860m=request.security(syminfo.tickerid, "60", htf_ma60Mema8)
ema2060m=request.security(syminfo.tickerid, "60", htf_ma60Mema20)
dif60M = (ema860m + ema2060m) / 2
 
color60=ema860m > ema2060m ? green : red
ls60= ema860m > ema2060m ?1 : 0

islong60 = ema860m > ema2060m ? 1 : 0
isshort60 = ema860m < ema2060m ? 1 : 0

plot(dif60M,"dif",color60,linewidth=3,transp=70)

islong = islong5 ==1 and islong15 ==1 and islong60 ==1 and year > 2017 ? 1 : 0
isshort = isshort5 ==1 and isshort15 ==1 and  isshort60 ==1 and year > 2017 ? 1 : 0


condition2l= 0 
condition2s = 0

c= alert1 == alert2  and alert1[1] != alert2[1] ? 1 : 0
alertcondition(c, title='Da tat sich was ', message='Da tat sich was!')

strategy.entry("enter long", strategy.long,1,when = islong ==1 and islong[1] == 0  ) 
strategy.entry("enter short", strategy.short,1,when = isshort == 1  and isshort [1] == 0) 
strategy.exit("close",profit=profitwert)
strategy.exit("close",profit=profitwert)





अधिक