MyQuant रुझान पहचानकर्ता रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-22 16:04:04
टैगः

img

अवलोकन

MyQuant Trend Identifier Strategy दैनिक बिटकॉइन ट्रेडिंग के लिए एक रणनीति है। यह चलती औसत और कीमत के पहले और दूसरे क्रम के व्युत्पन्नों की गणना करके बाजार के रुझानों की पहचान करता है, और तदनुसार खरीद और बिक्री निर्णय लेता है।

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

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

विशेष रूप से, रणनीति में निम्नलिखित संकेतकों की गणना की गई हैः

  • ALMA: मूल्य का अनुकूलनशील चलती औसत, लंबाई 140, त्वरित कारक 1.1, सिग्मा 6
  • डेमा: ALMA का प्रथम क्रम का व्युत्पन्न
  • d2ema: dema का प्रथम क्रम का व्युत्पन्न, जो मूल्य का द्वितीय क्रम का व्युत्पन्न दर्शाता है
  • सूचकांक: डेमा संकेतक का दोलन सूचकांक
  • ind: मूल्य के चलती औसत से विचलन सूचकांक

जब खरीद की शर्त पूरी हो जाती है, तो यह CAUSED Accumulation/Distribution Bands और Caused Exposure Top and Bottom Finder के संकेतों के आधार पर खरीदने के लिए शेयरों की संख्या की गणना करता है। जब बिक्री की शर्त पूरी हो जाती है, तो यह सभी वर्तमान पदों को बेचता है।

रणनीति के फायदे

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

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

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

अनुकूलन के लिए निर्देश

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

  1. बैकटेस्ट और लाइव ट्रेडिंग समय अवधि के स्मार्ट चयन के माध्यम से समय अवधि के चयन के लिए तर्क को अनुकूलित करें।
  2. सूचक मापदंडों का अनुकूलन करना, जैसे कि ALMA और dema आदि की लंबाई को समायोजित करना।
  3. अधिकतम घाटे को नियंत्रित करने के लिए स्टॉप लॉस की स्थिति के निर्णय जोड़ें।
  4. विभिन्न क्रिप्टोकरेंसी के प्रभावों का मूल्यांकन करें और सबसे अच्छा प्रदर्शन करने वाले को चुनें।

निष्कर्ष

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


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
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/
// © spacekadet17
// 
//@version=5

strategy(title="Trend Identifier Strategy", shorttitle="Trend Identifier Strategy", format=format.price, precision=4, overlay = false, initial_capital = 1000, pyramiding = 10, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type = strategy.commission.percent, commission_value = 0.03)

//start-end time
startyear = input.int(2020,"start year")
startmonth = input.int(1,"start month")
startday = input.int(1,"start day")
endyear = input.int(2025,"end year")
endmonth = input.int(1,"end month")
endday = input.int(1,"end day")

timeEnd = time <= timestamp(syminfo.timezone,endyear,endmonth,endday,0,0)
timeStart = time >= timestamp(syminfo.timezone,startyear,startmonth,startday,0,0)
choosetime = input(false,"Choose Time Interval")
condTime = (choosetime ? (timeStart and timeEnd) : true)

// time frame?
tfc = 1
if timeframe.isdaily
    tfc := 24

// indicators: price normalized alma, and its 1st and 2nd derivatives
ema = ta.alma(close,140,1.1,6)
dema = (ema-ema[1])/ema
stodema = ta.ema(ta.ema(ta.stoch(dema,dema,dema,100),3),3)

d2ema = ta.ema(dema-dema[1],5)
stod2ema = ta.ema(ta.ema(ta.stoch(d2ema,d2ema,d2ema,100),3),3)

ind = (close-ta.ema(close,120*24/tfc))/close
heat = ta.ema(ta.stoch(ind,ind,ind,120*24/tfc),3)
index = ta.ema(heat,7*24/tfc)

//plot graph
green = color.rgb(20,255,100)
yellow = color.yellow
red = color.red
blue = color.rgb(20,120,255)
tcolor = (dema>0) and (d2ema>0)? green : (dema>0) and (d2ema<0) ? yellow : (dema < 0) and (d2ema<0) ? red : (dema < 0) and (d2ema>0) ? blue : color.black
demaema = ta.ema(dema,21)
plot(demaema, color = tcolor)

//strategy buy-sell conditions
cond1a = strategy.position_size <= 0
cond1b = strategy.position_size > 0

if (condTime and cond1a and ( ( ((tcolor[1] == red and demaema<0.02) or (tcolor[1] == blue and demaema < 0.02) or (tcolor[1] == yellow and demaema>-0.02) ) and tcolor == green) or (tcolor[1] == red and tcolor == blue and demaema < -0.01) ) and index<85 and ind<0.4)
    strategy.entry("buy",strategy.long, (strategy.equity-strategy.position_size*close)/1/close)
    
if (condTime and cond1b and ( (((tcolor[1] == yellow and demaema > -0.02) or (tcolor[1] == blue and demaema < 0.02) or (tcolor[1] == green and demaema < 0.02)) and tcolor == red) or (tcolor[1] == green and tcolor == yellow and demaema > 0.015) ) and index>15 and ind>-0.1)
    strategy.order("sell",strategy.short, strategy.position_size)


अधिक