बिटकॉइन मल्टी-फैक्टर ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-25 18:24:02 अंत में संशोधित करें: 2023-09-25 18:24:02
कॉपी: 9 क्लिक्स: 837
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

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

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

इस रणनीति में निम्नलिखित सूचकांकों का उपयोग किया गया हैः

  • ट्रिपल इंडेक्स मूविंग एवरेज (टीईएमए): तीन अलग-अलग लंबाई और स्रोतों के टीईएमए का उपयोग करके, उच्च, निम्न और समापन कीमतों पर आधारित है।

  • औसत वास्तविक उतार-चढ़ाव की मात्रा ((ATR): ईएमए को चिकना करने के लिए कस्टम एटीआर का उपयोग करके बाजार में उतार-चढ़ाव की दर की गणना करें।

  • ओवरट्रेंड सूचकः एटीआर और गुणांक के आधार पर प्रवृत्ति की दिशा निर्धारित करना।

  • सरल चलती औसत ((SMA): लघु अवधि के TEMA के लिए SMA को चिकनाई मान के रूप में गणना की जाती है

  • संतुलन रेखा समापन मूल्यः अतिरिक्त प्रवृत्ति की पुष्टि के लिए।

जब लघु अवधि TEMA दो लंबी अवधि TEMA से अधिक है, तो एक खरीद संकेत उत्पन्न होता है, जब ओवरट्रेंड सूचक bullish है, लघु अवधि TEMA अपने SMA से अधिक है, और संतुलन रेखा समापन मूल्य पिछले दिन से अधिक है।

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

स्टॉप-स्टॉप-लॉस को प्रवेश मूल्य के 1% और 3% के रूप में सेट किया गया है। इसके अलावा, शुल्क कारक को ध्यान में रखा गया है।

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

  • बहु-कारक समग्र निर्णय, सटीकता में सुधार

प्रवृत्ति, उतार-चढ़ाव और आकृति जैसे कई कारकों के संकेतकों के संयोजन से निर्णय की सटीकता में सुधार और झूठे संकेतों से बचने में मदद मिलती है।

  • स्टॉप लॉस तंत्र उचित जोखिम नियंत्रण

एक उचित स्टॉप-स्टॉप-लॉस सेटिंग लाभ को लॉक कर सकती है, लेकिन यह व्यक्तिगत नुकसान को भी प्रभावी रूप से सीमित कर सकती है।

  • पैरामीटर अनुकूलित करने के लिए जगह बड़ा

सूचकांक के पैरामीटर को बाजार के परिवर्तनों के अनुकूल अनुकूलित किया जा सकता है ताकि सर्वोत्तम संयोजन की तलाश की जा सके।

  • प्रभार कारक को वास्तविकता के करीब रखें

एक शुल्क कारक को जोड़ने से रिटर्न्स परिणाम वास्तविक लेनदेन के प्रदर्शन के करीब हो सकते हैं।

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

  • बहु-कारक संयोजन में गलतफहमी का जोखिम

सूचकांक के बहुत सारे संयोजनों से गलतफहमी हो सकती है, और सूचकांक की प्रभावशीलता का सावधानीपूर्वक मूल्यांकन करने की आवश्यकता है।

  • लघु चक्र संचालन अधिक जोखिम भरा

लंबे चक्र की तुलना में, 15 मिनट के संचालन में आकस्मिक घटनाओं का अधिक प्रभाव पड़ता है, और आकस्मिकता का अधिक जोखिम होता है।

  • रणनीति की स्थिरता का परीक्षण

इस रणनीति को स्थिरता सुनिश्चित करने के लिए लंबे समय तक और कई बाजारों में सत्यापित करने की आवश्यकता है।

  • पैरामीटर अनुकूलन में अधिक समय लगता है

एक बहु-सूचक संयोजन में बहुत सारे पैरामीटर होते हैं और सभी पैरामीटर संयोजनों को अनुकूलित करने में अधिक समय लगता है।

अनुकूलन दिशा

  • प्रत्येक सूचकांक के वास्तविक प्रभाव का आकलन करना

प्रत्येक सूचकांक के वास्तविक वृद्धि प्रभाव का परीक्षण करें और अतिरंजित सूचकांक का उपयोग करने से बचें।

  • अनुकूलन पैरामीटर, परीक्षण स्थिरता

स्थिरता और विश्वसनीयता सुनिश्चित करने के लिए अधिक बाजारों में परीक्षण पैरामीटर अनुकूलन परिणाम।

  • स्टॉप लॉस रणनीति में शामिल हों

जोखिम को और अधिक नियंत्रित करने के लिए, जैसे कि स्टॉप को स्थानांतरित करना, स्टॉप को लटकाना आदि।

  • अधिक लागत कारक पर विचार करें

स्लाइड-पॉइंट लागत और अन्य के साथ, यह रिटर्न्स को अधिक विश्वसनीय बनाता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-09 00:00:00
period: 10m
basePeriod: 1m
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/
// © deperp
//@version=5
strategy('3kilos', shorttitle='3kilos BTC 15m', overlay=true, initial_capital=100000, max_bars_back=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.07, pyramiding=0)

short = input.int(50, minval=1)
srcShort = input(high, title='TEMA short')

long = input.int(100, minval=1)
srcLong = input(low, title='TEMA long 2')

long2 = input.int(350, minval=1)
srcLong2 = input(close, title='TEMA long 3')

atrLength = input.int(550, title='ATR Length', minval=1)
mult = input.float(3, title="Multiplier", minval=0.5, step=1)

smaPeriod = input.int(100, title="SMA Period", minval=1)

takeProfitPercent = input.float(1, title="Take Profit (%)", minval=0.1) / 100
stopLossPercent = input.float(3, title="Stop Loss (%)", minval=0.1) / 100


tema(src, length) =>
    ema1 = ta.ema(src, length)
    ema2 = ta.ema(ema1, length)
    ema3 = ta.ema(ema2, length)
    3 * (ema1 - ema2) + ema3

tema1 = tema(srcShort, short)
plot(tema1, color=color.new(color.red, 0), linewidth=2)

tema2 = tema(srcLong, long)
plot(tema2, color=color.new(color.blue, 0), linewidth=2)

tema3 = tema(srcLong2, long2)
plot(tema3, color=color.new(color.green, 0), linewidth=2)

// Custom ATR calculation with EMA smoothing
atr_ema(src, length) =>
    trueRange = math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1]))
    emaTrueRange = ta.ema(trueRange, length)
    emaTrueRange

// Calculate ATR with EMA smoothing
atr = atr_ema(close, atrLength)

// Calculate Supertrend
var float up = na
var float dn = na
var bool uptrend = na
up := na(up[1]) ? hl2 - (mult * atr) : uptrend[1] ? math.max(hl2 - (mult * atr), up[1]) : hl2 - (mult * atr)
dn := na(dn[1]) ? hl2 + (mult * atr) : uptrend[1] ? hl2 + (mult * atr) : math.min(hl2 + (mult * atr), dn[1])
uptrend := na(uptrend[1]) ? true : close[1] > dn[1] ? true : close[1] < up[1] ? false : uptrend[1]

// Calculate SMA
sma = ta.sma(tema1, smaPeriod)

// Heikin-Ashi Close
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)


// Trend determination using Heikin-Ashi Close
longC = tema1 > tema2 and tema1 > tema3 and uptrend and tema1 > sma and haClose > haClose[1]
shortC = tema1 < tema2 and tema1 < tema3 and not uptrend and tema1 < sma and haClose < haClose[1]


alertlong = longC and not longC[1]
alertshort = shortC and not shortC[1]

useDateFilter = input.bool(true, title="Begin Backtest at Start Date",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2023"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

inTradeWindow = true

stopLossLevelLong = close - atr * mult
stopLossLevelShort = close + atr * mult
longTakeProfitLevel = close * (1 + takeProfitPercent)
longStopLossLevel = close * (1 - stopLossPercent)
shortTakeProfitLevel = close * (1 - takeProfitPercent)
shortStopLossLevel = close * (1 + stopLossPercent)



if inTradeWindow and longC
    strategy.entry('Long', strategy.long, comment='Long')
    strategy.exit("TP Long", "Long", limit=longTakeProfitLevel, stop=longStopLossLevel, comment="TP/SL Long")

if inTradeWindow and shortC
    strategy.entry('Short', strategy.short, comment='Short')
    strategy.exit("TP Short", "Short", limit=shortTakeProfitLevel, stop=shortStopLossLevel, comment="TP/SL Short")

// Alerts

alertcondition(longC, title='Long', message=' Buy Signal ')
alertcondition(shortC, title='Short', message=' Sell Signal ')