गति और प्रवृत्ति पर आधारित VWMA-ADX बिटकॉइन लंबी रणनीति

VWMA ADX DMI SMA EMA RMA WMA HMA SMMA
निर्माण तिथि: 2024-04-03 17:47:49 अंत में संशोधित करें: 2024-04-03 17:47:49
कॉपी: 8 क्लिक्स: 951
1
ध्यान केंद्रित करना
1617
समर्थक

गति और प्रवृत्ति पर आधारित VWMA-ADX बिटकॉइन लंबी रणनीति

अवलोकन

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

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

  1. 9 व 14 वें वीडब्ल्यूएमए का उपयोग मल्टीहेड ट्रेंड को समझने के लिए किया जाता है, जो एक मल्टीहेड सिग्नल उत्पन्न करता है जब एक लंबी अवधि की औसत रेखा एक छोटी अवधि की औसत रेखा से गुजरती है।
  2. 89 दिन के उच्चतम और निम्नतम वीडब्ल्यूएमए द्वारा निर्मित एक अनुकूलन औसत रेखा को एक प्रवृत्ति फ़िल्टर के रूप में पेश किया गया है, केवल तभी एक स्थिति खोलने पर विचार किया जाता है जब समापन या उद्घाटन मूल्य औसत रेखा से अधिक हो।
  3. ADX और DMI संकेतकों के माध्यम से प्रवृत्ति की ताकत की पुष्टि करने के लिए, प्रवृत्ति को केवल तभी मजबूत माना जाता है जब ADX 18 से अधिक हो और + DI और -DI का अंतर 15 से अधिक हो।
  4. लेन-देन प्रतिशत फ़ंक्शन का उपयोग करके लेन-देन को 60% से 95% के बीच की बार लाइन पर फ़िल्टर करें और लेन-देन की मात्रा बहुत कम होने से बचें।
  5. स्टॉप लॉस की स्थापना 0.96 से 0.99 गुना पहले की K लाइन की ऊंचाई पर स्थित है, और जोखिम को नियंत्रित करने के लिए समय सीमा के साथ बढ़ती है।
  6. पूर्वनिर्धारित स्थिति रखने का समय प्राप्त होने पर या मूल्य समायोज्य औसत रेखा से नीचे जाने पर स्थिति को स्पष्ट करना।

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

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

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

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

अनुकूलन दिशा

  1. बाजार की स्थिति को चित्रित करने के लिए अधिक संकेतकों को पेश करना, जैसे कि सापेक्ष रूप से मजबूत सूचकांक (आरएसआई) और ब्रिन बैंड, संकेतों की विश्वसनीयता में सुधार करता है।
  2. स्टॉप पोजीशन को गतिशील रूप से ऑप्टिमाइज़ करें, उदाहरण के लिए, एटीआर या प्रतिशत स्टॉप का उपयोग विभिन्न बाजार उतार-चढ़ाव की स्थिति के लिए करें।
  3. मैक्रोइकॉनॉमिक डेटा और भावनात्मक विश्लेषण के संयोजन के साथ, रणनीति के जोखिम नियंत्रण मॉड्यूल को बढ़ाया गया।
  4. मशीन लर्निंग एल्गोरिदम का उपयोग करके पैरामीटर को स्वचालित रूप से अनुकूलित करें, जिससे रणनीति की अनुकूलनशीलता और स्थिरता में सुधार हो सके।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Q_D_Nam_N_96

//@version=5
strategy("Long BTC Strategy", overlay=true, 
     default_qty_type = strategy.percent_of_equity, 
     default_qty_value = 100, initial_capital = 1000, currency = currency.USD)

Volume_Quartile(vol) =>
    qvol1 = ta.percentile_linear_interpolation(vol, 60,15)
    qvol2 = ta.percentile_linear_interpolation(vol, 60,95)
    vol > qvol1 and vol < qvol2

smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "RMA" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
        "HMA" => ta.hma(source, length)
        "SMMA" => smma(source, length)

DMI(len, lensig) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    trur = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / trur)+11
    minus = fixnan(100 * ta.rma(minusDM, len) / trur)-11
    sum = plus + minus
    adx = 100 * ta.vwma(math.abs(plus - minus-11) / (sum == 0 ? 1 : sum), lensig)

    [adx, plus, minus]

cond1 = Volume_Quartile(volume*hlcc4)

ma1 = ma(close,9, "VWMA")
// plot(ma1, color = color.blue)
ma2 = ma(close,14, "VWMA")
// plot(ma2, color = color.orange)

n = switch timeframe.period
    "240" => 0.997
    => 0.995

ma3 = (0.1*ma(ta.highest(close,89),89, "VWMA") + 
     0.9*ma(ta.lowest(close,89),89, "VWMA"))*n

plot(ma3, color = color.white)

[adx, plus, minus] = DMI(7, 10)


cond2 = adx > 18 and plus - math.abs(minus) > 15

var int count = 0

if barstate.isconfirmed and strategy.position_size != 0
    count += 1
else
    count := 0

p_roc = 0
if timeframe.period == '240'
    p_roc := 14
else
    p_roc := 10

longCondition = ta.crossover(ma1, ma2) and (close > open ? close > ma3 : open > ma3) and ((ma3 - ma3[1])*100/ma3[1] >= -0.2) and ((close-close[p_roc])*100/close[p_roc] > -2.0)
float alpha = 0.0
float sl_src = high[1]
if (longCondition and cond1 and cond2 and strategy.position_size == 0)
    strategy.entry("buy", strategy.long)
    if timeframe.period == '240'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+5, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '30'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '45'
        alpha := 0.985
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '60'
        alpha := 0.98
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '120'
        alpha := 0.97
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == '180'
        alpha := 0.96
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else if timeframe.period == 'D'
        alpha := 0.95
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)
    else 
        alpha := 0.93
        strategy.exit("exit-buy","buy", stop = sl_src*alpha)
        // line.new(bar_index, sl_src*alpha, bar_index+20, sl_src*alpha, width = 2, color = color.white)

period = switch timeframe.period
    "240" => 90
    "180" => 59
    "120" => 35
    "30" => 64
    "45" => 40
    "60" => 66
    "D" => 22
    => 64

if (count > period or close < ma3)
    strategy.close('buy', immediately = true)